Pular para o conteúdo principal

Criar Assinatura

O processo de assinatura inicia pela criação da consulta dentro do ScoreHub.

POST /api/signatures
AmbienteURL
Homologaçãohttps://api.assinatura.dev.scorehub.com.br/api/signatures
Produçãohttps://api.assinatura.scorehub.com.br/api/signatures
Importante

Atualmente aceitamos apenas 1 item nos arrays documents e signaturePeople por assinatura. Os campos já estão em formato de lista prevendo futuras expansões, mas no cenário atual não utilize múltiplos itens. Caso precise trabalhar com múltiplas assinaturas ou documentos, entre em contato conosco.

Idempotência

Opcional. Envie o header Idempotency-Key com um valor único por criação para evitar assinaturas duplicadas em caso de retry:

POST /api/signatures
Authorization: Bearer <secret>
Idempotency-Key: <uuid-gerado-por-voce>
  • Primeira chamada → 201 Created.
  • Repetição com a mesma chave (dentro de 24h) → 200 OK com o mesmo corpo da criação original, sem criar nova assinatura.
  • Sem o header, há uma proteção automática por hash do payload com janela curta (30s).

Payload de envio

Payload padrão utilizando a captura de documentos da ScoreHub (SCOREHUB_SDK):

{
"deadLine": "2026-05-25",
"notificationSchedule": 1,
"fraudIfInconclusive": false,
"cancelIfFraud": true,
"numberOfRetriesIfFraud": 1,
"purpose": "FGTS",
"callbackUrl": "https://app.dev.scorehub.com.br",
"documentConfig": {
"documentFaceMatch": true,
"documentIaCheck": true,
"documentBackIaCheck": true,
"documentFraudAfterRetries": false,
"documentDigitalForcedAfterRetries": true,
"documentFraudAfterAll": "REJECT",
"documentCaptureMethod": "SCOREHUB_SDK"
},
"signaturePeople": [
{
"email": "assinatura@scorehub.com.br",
"phone": "41996438555",
"notificationType": "NO_NOTIFICATION",
"cpf": "12345678909",
"name": "Cliente Fake YES",
"birth": "1991-09-25",
"reuseDocument": false,
"attachDocument": false,
"canSendDigitalDocument": true,
"canSendAttachDocument": true,
"digitalDocumentFaceMatch": true
}
],
"documents": [
{
"fileName": "NOME_DO_DOCUMENTO",
"file": "BASE_64"
}
]
}

Configurações gerais

Campos da raiz do payload:

CampoTipoObrigatórioResumo
deadLinedateSimData limite da assinatura (AAAA-MM-DD)
notificationScheduleintNãoPeriodicidade dos lembretes (0 a 3)
fraudIfInconclusivebooleanSimComportamento em resultado inconclusivo — usar false
cancelIfFraudbooleanSimCancela o contrato inteiro em caso de fraude
numberOfRetriesIfFraudintSimNovas tentativas de biometria (0 a 2)
purposeenumSimPropósito: FGTS · CONSIGNADO · CARTAO
callbackUrlstringNãoURL de redirecionamento pós-assinatura
documentConfigobjetoSim*Configuração de captura de documentos — detalhe
signaturePeoplelistaSimSignatários — detalhe
documentslistaSimDocumentos a assinar — detalhe

* documentConfig deve sempre ser enviado com documentCaptureMethod: "SCOREHUB_SDK".

deadLine

Data limite para conclusão da assinatura. Se expirar sem finalizar, o contrato será automaticamente cancelado.

notificationSchedule

Opcional. Periodicidade dos lembretes de assinatura:

ValorFrequência de notificação
0Envia apenas a primeira solicitação
11 lembrete por dia
21 lembrete a cada 2 dias
31 lembrete a cada 3 dias
cuidado

Cada lembrete enviado será cobrado conforme o contrato vigente.

fraudIfInconclusive

Use sempre false. Enviar true somente quando a empresa não possuir capacidade de SCORE de risco.

Com o SCORE ativo e retorno inconclusivo, o processo entra na fila da Mesa de Análise, que poderá aprovar, solicitar nova tentativa ou marcar como fraude (cancelando). Em caso de dúvida, nos consulte antes de usar.

cancelIfFraud

ValorComportamento em caso de fraude
trueCancela todo o contrato automaticamente — mesmo se houver mais pessoas para assinar ou assinaturas já concluídas
falseNunca cancela automaticamente por fraude

numberOfRetriesIfFraud

Quantas novas tentativas são permitidas quando o SCORE indica NOVA TENTATIVA:

ValorComportamento
0Não faz nenhuma nova tentativa
1Permite 1 nova tentativa automática
2Permite 2 novas tentativas automáticas
Precedência

Este campo tem precedência sobre cancelIfFraud. Mesmo com cancelIfFraud = true, se houver tentativas disponíveis o fluxo não será cancelado até que elas se esgotem. Detalhes em Fluxo e status.

purpose

Propósito do compartilhamento do documento. Valores aceitos:

ValorUso
FGTSOperações de FGTS
CONSIGNADOCrédito consignado
CARTAOCartão

callbackUrl

URL para onde o assinante será redirecionado ao concluir. Não obrigatório — pode ser enviado vazio.

documentConfig

Configuração da captura e validação de documentos pela SDK da ScoreHub:

CampoTipoResumo
documentCaptureMethodenumSempre SCOREHUB_SDK
documentFaceMatchbooleanFaceMatch entre selfie e documento (R$ 0,20)
documentIaCheckbooleanValidação por IA da frente do documento (R$ 0,60)
documentBackIaCheckbooleanValidação por IA do verso (o valor engloba frente e verso)
documentFraudAfterRetriesbooleantrue = marca fraude direto após 3 tentativas de captura
documentDigitalForcedAfterRetriesbooleantrue = após as tentativas, exige o Documento Digital (R$ 0,20). Tem precedência sobre documentFraudAfterRetries
documentFraudAfterAllenumAção quando todas as validações de documento falham — ver abaixo

documentFraudAfterAll

ValorComportamento
REJECTRecomendado. Marca fraude documental — nenhum documento passou nas validações
PENDINGEncaminha a decisão para a Mesa de Análise
APPROVEUsa o "menos pior" disponível (sem garantia de qualidade); se nenhum tiver o mínimo de uso, rejeita mesmo assim
Recomendação

Use REJECT: se o documento não passou em nenhuma etapa de validação, não garantimos que exista um documento bom para uso.

signaturePeople

Lista de pessoas que assinarão o documento. Atualmente restrito a 1 pessoa por assinatura.

CampoTipoResumo
emailstringE-mail do signatário
phonestringTelefone com DDD
notificationTypeenumWHATSAPP ou NO_NOTIFICATION
cpfstringCPF do signatário
namestringNome completo
birthdateData de nascimento (AAAA-MM-DD)
reuseDocumentbooleanEnviar sempre false
attachDocumentbooleanEnviar sempre false
canSendDigitalDocumentbooleanPermite ao signatário enviar Documento Digital oficial (GOV/CNH)
canSendAttachDocumentbooleanPermite anexo de documento no fluxo da SDK
digitalDocumentFaceMatchbooleanRealiza FaceMatch também no Documento Digital

notificationType

ValorComportamento
WHATSAPPScoreHub envia o link de assinatura por WhatsApp
NO_NOTIFICATIONNenhuma notificação — o parceiro entrega o link ao cliente

documents

Lista de documentos a serem assinados. Atualmente apenas 1 documento por assinatura.

CampoTipoResumo
fileNamestringNome do documento
filestringArquivo em Base64somente PDF

Retorno da criação

{
"signatureUUID": "d855108d-4de5-49cb-a4ef-3f77b19fb0e9",
"signatureStatus": "GENERATING_SIGNATURE",
"callbackUrl": "https://app.dev.scorehub.com.br",
"sendWebhookNotifications": true,
"signaturePerson": [
{
"signaturePersonUUID": "086526c8-11fc-4a28-9863-df5652b79642",
"signatureStatus": "PENDING_GENERATING_SIGNATURE",
"parameters": [
{
"parameterName": "UNICO_BIOMETRIC",
"statusBiometric": "",
"scoreBiometric": ""
},
{
"parameterName": "UNICO_DOCUMENT",
"statusDocument": ""
}
]
}
],
"signatureDocuments": [
{
"documentUUID": "815a5364-e287-45f4-b881-b65a34aa1896"
}
],
"documentConfig": {
"documentFaceMatch": true,
"documentIaCheck": true,
"documentBackIaCheck": true,
"documentFraudAfterRetries": false,
"documentDigitalForcedAfterRetries": true,
"documentFraudAfterAll": "REJECT",
"documentCaptureMethod": "SCOREHUB_SDK"
}
}
CampoDescrição
signatureUUIDUUID da assinatura geral — guarde para correlacionar com o webhook
signaturePerson[].signaturePersonUUIDUUID da assinatura daquela pessoa
signaturePerson[].signatureStatusStatus da pessoa — nesta resposta o campo chama-se signatureStatus
signatureDocuments[].documentUUIDUUID do documento enviado
documentConfigEco da configuração, já com defaults aplicados
O link de assinatura NÃO vem nesta resposta

A resposta da criação não traz signatureUrl nem URLs de documento — o processamento é assíncrono. O link de assinatura (signatureUrl) e as URLs dos documentos chegam pelo webhook. Campos sem valor são omitidos do JSON.

Grafias diferentes entre criação e webhook

Na criação: signatureUUID, lista signaturePerson (singular) e o status da pessoa em signatureStatus. No webhook: signatureUuid, lista signaturePersons (plural) e o status da pessoa em signaturePersonStatus. Atenção ao mapear os dois contratos.

Os valores possíveis de status estão em Fluxo e status. Veja também Reenviar Notificações e Reenviar Webhook.

Erros

{
"title": "error.token.invalid",
"status": "UNAUTHORIZED"
}

HTTP 401. O header Authorization está ausente, ou o token enviado não está cadastrado.