Pular para o conteúdo principal

Guia de Integração em PHP

Para integrar a sua aplicação web em PHP ao Lacuna Scanner Service, siga os passos descritos neste artigo.

dica

Antes de começar, veja a visão geral da integração.

Primeiramente, adicione o pacote lacuna/scanner-client ao seu projeto.

De posse do endpoint e da API Key, instancie um ScannerClient:

$options = new ScannerOptions();
$options->endpoint = '...';
$options->apiKey = '...';
$scanner = new ScannerClient($options);

Utilize o método createScanSession($returnUrl) passando o returnUrl para iniciar uma sessão:

$createResponse = $scanner->createScanSession("https://your-return-url/");

Utilize o valor retornado no campo redirectUrl para redirecionar o usuário no frontend:

location.href = '<?= $createResponse->redirectUrl ?>';

Quando detectar que o usuário voltou ao seu site (procure pelo argumento scanSessionId na URL), utilize o método getScanSession($scanSessionId) para obter os documentos digitalizados:

$scanSession = $scanner->getScanSession($scanSessionId);
if ($scanSession->result == ScanSessionResults::SUCCESS) {
$document = $scanSession->documents[0];

$stream = $document->openRead();
file_put_contents('...', $stream);
$stream->close();
}

Sessões multifile

Você pode permitir que o usuário digitalize múltiplos documentos. Para isso, passe o segundo parâmetro multifile como true ao criar a sessão:

$response = $scanner->createScanSession("https://your-return-url/", true);

Ao final do processo, ao invés de levar em consideração apenas o primeiro documento, itere a lista de documentos digitalizados:

$scanSession = $scanner->getScanSession($scanSessionId);
if ($scanSession->result == ScanSessionResults::SUCCESS) {
foreach ($scanSession->documents as $document) {
// ...
}
}