Pular para o conteúdo principal

Inicializar 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",
...
}

Inicializar assinatura

Essa é a primeira etapa para assinar um documento no formato PDF. Você deve enviar todos os campos obrigatórios no JSON para conseguir o Hash e o Timestamp que irá utilizar nas próximas etapas.

https://ledgertec.com.br/api/sign-service/pdf-service/v2/initialize
apiKey* Obrigatóriostring(header)
certificate* Obrigatório(formData)
file* Obrigatóriofile(formData)
hashAlgorithm* Obrigatório(formData)
signatureField(formData)
signatureFieldPage(formData)
signaturePolicy* Obrigatório(formData)
signaturePolicyVersion* Obrigatório(formData)
visualSignatureDateTime(formData)
visualSignatureFilefile(formData)
visualSignatureHeight(formData)
visualSignatureLayout(formData)
visualSignaturePositionX(formData)
visualSignaturePositionY(formData)
visualSignatureText(formData)
visualSignatureTextAlignment(formData)
visualSignatureTextFontSize(formData)
visualSignatureWidth(formData)

Exemplo de Requisição:

javascript-Fetch
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("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");
formdata.append("signatureField", "signature_id");
formdata.append("signatureFieldPage", "0");

var requestOptions = {
method: 'POST',
headers: myHeaders,
body: formdata,
redirect: 'follow'
};

fetch("https://ledgertec.com.br/api/sign-service/pdf-service/v2/initialize", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));

Exemplo de Resposta:

Resposta
{
"signingTime": "1652640934991",
"dataToSign": "PGRzOlNpZ...Y2U+PC9kczpTaWduZWRJbmZvPg==",
"error": ""
}

  • O valor retornado em signingTime deverá ser enviado em campo de mesmo nome no endpoint de finalização.
  • O campo dataToSign contém um encode dos dados, incluindo o hash que representa o conteúdo do arquivo e que será utilizado na etapa 2 para a aplicação da chave criptográfica
  • 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ódigoStatus
    200OK
    201Created
    401Unauthorized
    403Forbidden
    404Not Found