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.
Tip
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) {
// ...
}
}