6.13. Assinatura BMP - Relogon¶
Especificação — em construção
Os serviços descritos nesta área ainda não estão disponíveis.
🔗 Endpoint¶
| Método | URL |
|---|---|
/credito/propostas/{idProposta}/assinaturas |
🧾 Descrição¶
Na assinatura BMP - Relogon, quem colhe o aceite do tomador é você, na sua aplicação. Esta rota informa esse aceite: a plataforma registra a assinatura e finaliza a proposta na instituição financeira.
Quando vale
Só na esteira com a plataforma de assinatura BMP - Relogon (ver 3.2. Parâmetros da Esteira) e só para a proposta enviada por esta API, em 6.8. Envio da Proposta. Nesse caso a instituição financeira não notifica o tomador: não há e-mail de assinatura.
🔹 Path Parameter¶
| Parâmetro | Tipo | Descrição |
|---|---|---|
| idProposta | integer | Identificador da proposta |
🔹 Header¶
| Header | Obrigatório | Descrição |
|---|---|---|
| Idempotency-Key | Sim | Use sempre a mesma chave ao repetir a chamada |
🧭 Fluxo¶
- Envie a proposta por esta API. Depois do registro, ela fica em
5(aguardando assinaturas). - Baixe a CCB em
GET /credito/propostas/{idProposta}/ccb. Na esteira com Relogon, ela já fica disponível no status5, como modelo (ver 6.9. Assinantes e CCB). - Mostre a CCB ao tomador e colha o aceite (check-box com a declaração de validade). Guarde a data, a hora e o IP do aceite.
- Liste os assinantes pendentes em
GET /credito/propostas/{idProposta}/assinantes. - Informe as assinaturas nesta rota. A resposta
202só confirma o recebimento. - A assinatura é registrada e a proposta é finalizada na instituição financeira. O resultado chega pelo evento
credito.contrato.formalizadoou, na falha, porcredito.proposta.falhou. Depois da falha, a assinatura pode ser reenviada.
📤 Requisição¶
{
"assinantes": [
{
"documento": "12345678900",
"dataHoraAssinatura": "2026-10-27T14:03:12-03:00",
"ip": "200.155.10.20"
}
]
}
🧾 Detalhamento dos Campos¶
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| assinantes | array | Sim | Um item por assinante pendente |
| assinantes[].documento | string | Sim | CPF ou CNPJ do assinante, com ou sem máscara |
| assinantes[].dataHoraAssinatura | string | Sim | Data e hora do aceite em ISO 8601 (yyyy-MM-ddTHH:mm[:ss[.fffffff]]), com o fuso opcional (Z ou ±hh:mm). Sem fuso, vale o horário de Brasília (GMT-03:00) |
| assinantes[].ip | string | Sim | IP de onde o aceite foi dado, IPv4 ou IPv6 |
O exemplo acima equivale a "dataHoraAssinatura": "2026-10-27T14:03:12", sem fuso.
🧪 Exemplo de cURL¶
curl -X POST "https://api.vehub.com.br/credito/propostas/1001/assinaturas" \
-H "Authorization: Bearer {seu_token}" \
-H "GrupoEconomico: {seu_grupo_economico}" \
-H "Idempotency-Key: {uuid}" \
-H "Content-Type: application/json" \
-d '{
"assinantes": [
{ "documento": "12345678900", "dataHoraAssinatura": "2026-10-27T14:03:12-03:00", "ip": "200.155.10.20" }
]
}'
📥 Responses¶
✅ 202 Accepted¶
{
"idProposta": 1001
}
❌ Recusas¶
| Situação | Resposta |
|---|---|
| A proposta não existe ou não é de crédito | 404 |
A esteira não usa BMP - Relogon, a proposta não foi enviada por esta API ou não está no status 5 | 409 |
| Falta um assinante pendente, o documento é desconhecido ou foi repetido | 422 |
O ip não é um IPv4 ou IPv6 válido, ou é loopback ou não especificado | 422 |
A dataHoraAssinatura está fora do formato, no futuro (com 5 minutos de folga) ou é anterior ao registro da proposta | 422 |
Todos os problemas de validação voltam juntos na mesma resposta 422, para você corrigir numa chamada só.