Ir para o conteúdo

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
POST /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 Obrigatório Descrição
Idempotency-Key Sim Use sempre a mesma chave ao repetir a chamada

🧭 Fluxo

  1. Envie a proposta por esta API. Depois do registro, ela fica em 5 (aguardando assinaturas).
  2. Baixe a CCB em GET /credito/propostas/{idProposta}/ccb. Na esteira com Relogon, ela já fica disponível no status 5, como modelo (ver 6.9. Assinantes e CCB).
  3. 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.
  4. Liste os assinantes pendentes em GET /credito/propostas/{idProposta}/assinantes.
  5. Informe as assinaturas nesta rota. A resposta 202 só confirma o recebimento.
  6. A assinatura é registrada e a proposta é finalizada na instituição financeira. O resultado chega pelo evento credito.contrato.formalizado ou, na falha, por credito.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ó.