/v{version}/CreditNote/{id}/SignatureDetailsAtualiza os detalhes da assinatura da operação
Atualiza por completo um registro de Credit Note existente.
Visão geral
Atualiza os detalhes da assinatura da operação. Permitido quando o status é Rascunho, Revisão ou Assinaturas.
Autenticação e pré-requisitos
Requer autenticação. Envie o token no header Authorization: Bearer {{token}} (JWT do AWS Cognito). Integrações servidor-a-servidor podem usar X-Api-Key. Todo tráfego é HTTPS e a credencial nunca vai na URL nem em query string.
Pré-requisitos: a rota exige identificador(es) de recurso já existente(s):
id— Id da operação de crédito
Request
Parâmetros
| Nome | Em | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|---|
id | path | string (uuid) | obrigatório | Id da operação de crédito | 3fa85f64-5717-4562-b3fc-2c963f66afa6 |
version | path | string | obrigatório | — | 1 |
Corpo da requisição
Envie no formato application/json. Corpo opcional.
Campos
| Campo | Tipo | Obrigatório | Descrição | Valores | Exemplo |
|---|---|---|---|---|---|
signatureDetails | array de objeto | opcional | Detalhes da assinatura eletrônica | objeto — ver detalhe abaixo | [ … ] |
unicoSignScore | number (double) | opcional | Score na Unico | — | 1000 |
facialSimilarityScore | number (double) | opcional | Score de similaridade facial na Unico Cloud | — | 1000 |
Detalhe de signatureDetails
| Campo | Tipo | Obrigatório | Descrição | Valores | Exemplo |
|---|---|---|---|---|---|
registrationNumber | string | opcional | — | — | "12345678909" |
userAgent | string | opcional | — | — | "texto" |
ip | string | opcional | — | — | "texto" |
geoLocation | string | opcional | — | — | "texto" |
operationalSystem | string | opcional | — | — | "texto" |
deviceModel | string | opcional | — | — | "texto" |
deviceName | string | opcional | — | — | "Fulano de Tal" |
deviceType | string | opcional | — | — | "texto" |
smsValidation | boolean | opcional | — | — | true |
emailValidation | boolean | opcional | — | — | true |
Exemplo de corpo
{
"signatureDetails": [
{
"registrationNumber": "12345678909",
"userAgent": "texto",
"ip": "texto",
"geoLocation": "texto",
"operationalSystem": "texto",
"deviceModel": "texto",
"deviceName": "Fulano de Tal",
"deviceType": "texto",
"smsValidation": true,
"emailValidation": true
}
],
"unicoSignScore": 1000,
"facialSimilarityScore": 1000
}Response
Resposta 204 sem corpo (Atualização realizada com sucesso).
Códigos de retorno
| Código | Significado | Detalhe do contrato |
|---|---|---|
204 | Sucesso sem corpo de resposta. | Atualização realizada com sucesso |
400 | Requisição inválida (validação de campos ou regra de negócio). | Modelo inválido |
401 | Não autenticado — token ausente, inválido ou expirado. | Não autorizado |
403 | Autenticado, mas sem permissão para o recurso. | Acesso negado |
404 | Recurso não encontrado. | Operação não encontrada |
Exemplos
curl -X PUT "{{baseUrl}}/v1/CreditNote/3fa85f64-5717-4562-b3fc-2c963f66afa6/SignatureDetails" \
-H "Authorization: Bearer {{token}}" \
-H "Content-Type: application/json" \
-d '{
"signatureDetails": [
{
"registrationNumber": "12345678909",
"userAgent": "texto",
"ip": "texto",
"geoLocation": "texto",
"operationalSystem": "texto",
"deviceModel": "texto",
"deviceName": "Fulano de Tal",
"deviceType": "texto",
"smsValidation": true,
"emailValidation": true
}
],
"unicoSignScore": 1000,
"facialSimilarityScore": 1000
}'var baseUrl = "{{baseUrl}}";
var token = "{{token}}";
using var http = new HttpClient { BaseAddress = new Uri(baseUrl) };
http.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", token);
var rota = "/v1/CreditNote/3fa85f64-5717-4562-b3fc-2c963f66afa6/SignatureDetails";
var corpo = new StringContent(
"""
{
"signatureDetails": [
{
"registrationNumber": "12345678909",
"userAgent": "texto",
"ip": "texto",
"geoLocation": "texto",
"operationalSystem": "texto",
"deviceModel": "texto",
"deviceName": "Fulano de Tal",
"deviceType": "texto",
"smsValidation": true,
"emailValidation": true
}
],
"unicoSignScore": 1000,
"facialSimilarityScore": 1000
}
""",
Encoding.UTF8, "application/json");
var resp = await http.PutAsync(rota, corpo);
resp.EnsureSuccessStatusCode();
// Sem corpo de resposta neste endpoint.const baseUrl = '{{baseUrl}}';
const token = '{{token}}';
const payload = {
"signatureDetails": [
{
"registrationNumber": "12345678909",
"userAgent": "texto",
"ip": "texto",
"geoLocation": "texto",
"operationalSystem": "texto",
"deviceModel": "texto",
"deviceName": "Fulano de Tal",
"deviceType": "texto",
"smsValidation": true,
"emailValidation": true
}
],
"unicoSignScore": 1000,
"facialSimilarityScore": 1000
};
const resp = await fetch(`${baseUrl}/v1/CreditNote/3fa85f64-5717-4562-b3fc-2c963f66afa6/SignatureDetails`, {
method: 'PUT',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json',
},
body: JSON.stringify(payload),
});
if (!resp.ok) throw new Error(`HTTP ${resp.status}`);
// Sem corpo de resposta neste endpoint.Troque apenas {{baseUrl}} e {{token}}. No Postman, defina-os como variáveis de environment; o cURL importa em Import > Raw text.
Downloads
Este endpoint já vem configurado nas collections abaixo, na pasta da etapa correspondente.
Guia de importação: Como importar no Postman · Todos os downloads: Downloads