Finalizar assinatura
Autorização Basic Auth
Para se autenticar conosco você deve enviar a Chave de API, gerada no passo anterior, no campo apiKey
dentro do cabeçalho JSON da requisição:
{
"apiKey":"SUA CHAVE DE API",
...
}
Finalizar assinatura
A etapa de finalização é a última etapa do fluxo de assinatura. O retorno dessa etapa será o documento assinado.
Para autenticação na API, você deve enviar a sua Chave de API cadastrada previamente no LedgerDoc, no campo apiKey.
caution
Você deve enviar os mesmos valores em todos os campos enviados também para o endpoint de inicialização (etapa 1). Caso envie valores diferentes, o resultado será um documento com assinatura inválida que será reprovado por validadores de assinatura digital.
O valor do campo signingTime
deve ser o mesmo valor retornado pelo endpoint de inicialização.
O valor do campo signatureValue
deve ser o valor retornado pela API do LedgerSign na etapa 2.
O campo signedDocument
contém os bytes do documento assinado digitalmente codificados em base64. Você pode fazer o decode para visualizar o arquivo em seu formato original.
Exemplo de Requisição:
var myHeaders = new Headers();
myHeaders.append("apiKey", "{{apikey}}");
myHeaders.append("Content-Length", "");
var formdata = new FormData();
formdata.append("nonce", "1");
formdata.append("certificate", "{{certificate}}");
formdata.append("hashAlgorithm", "SHA256");
formdata.append("signaturePolicy", "RT");
formdata.append("signaturePolicyVersion", "1.1");
formdata.append("file", fileInput.files[0], "/path/to/file");
formdata.append("signatureValue", "{{signatureValue}}");
formdata.append("signingTime", "{{signingTime}}");
formdata.append("visualSignatureFile", fileInput.files[0], "/path/to/file");
formdata.append("visualSignaturePositionX", "200");
formdata.append("visualSignaturePositionY", "400");
formdata.append("visualSignatureWidth", "400");
formdata.append("visualSignatureHeight", "241");
formdata.append("visualSignatureText", "Signer Name");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: formdata,
redirect: 'follow'
};
fetch("https://ledgertec.com.br/api/sign-service/pdf-service/v2/finalize", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
Exemplo de Resposta:
{
"signedDocument": "JVBERi0xLjMNCiXi48/TDQoNC...3RhcnR4cmVmCjEwNjc5NwolJUVPRgo=",
"error": ""
}
signedDocument
contém os bytes do documento assinado digitalmente codificados em base64. Você pode fazer o decode para visualizar o arquivo em seu formato original.Erros
A nossa API valida cada um dos campos enviados na requisição antes de prosseguir.
Utilizamos os códigos de resposta convencionais do HTTP para indicar o sucesso ou a falha de uma requisição. Sendo assim, códigos 2xx indicam sucesso, 4xx indicam erros por algum dado informado incorretamente (por exemplo, algum campo obrigatório não enviado ou um cartão sem data de validade) e 5xx indicando erros nos servidores do LedgerDoc.
Tabela dos HTTP Status Code
Código | Status |
---|---|
200 | OK |
201 | Created |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |