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 xml. Você deve enviar todos os campos obrigatórios no JSON para conseguir o Hash
e o Timestamp
que irá utilizar nas próximas etapas.
Exemplo de Requisição:
javascript-Fetch
var myHeaders = new Headers();
myHeaders.append("apiKey", "{{apikey}}");
myHeaders.append("Content-Length", "");
var formdata = new FormData();
formdata.append("certificate", "{{certificate}}");
formdata.append("hashAlgorithm", "SHA256");
formdata.append("signaturePacking", "ENVELOPED");
formdata.append("signaturePolicy", "RB");
formdata.append("signaturePolicyVersion", "2.4");
formdata.append("operation", "PARALLEL_SIGNATURE");
formdata.append("specificNodeId", "Dip01037821908852048165279592525698758705724147");
formdata.append("file", fileInput.files[0], "/path/to/file");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: formdata,
redirect: 'follow'
};
fetch("https://ledgertec.com.br/api/sign-service/xml-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": ""
}
signingTime
deverá ser enviado em campo de mesmo nome no endpoint de finalização.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áficaErros
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 |