跳到主要内容

Mocks (Sandbox)

API em desenvolvimento

A API ainda está em fase de desenvolvimento, sendo assim, este manual está sujeito a alterações.

O ambiente de homologação (sandbox) possui um sistema de mocks que simula diferentes cenários de resposta do SNG/B3 durante o registro de gravame. O comportamento é controlado pelo campo name do tomador (borrower) na criação da dívida (POST /debt).

Fluxo Padrão (Sucesso)

Qualquer name que não esteja na lista de cenários abaixo seguirá o fluxo padrão de sucesso: o gravame será registrado (reserved), seguido pela criação automática do contrato (pending_registration_confirmation) e prosseguimento até o desembolso. Dois webhooks são enviados em sequência: reservation.status_change (status reserved) e contract.status_change (status pending_registration_confirmation). Para detalhes sobre a estrutura dos webhooks, consulte a página de Webhooks.


Cenários Disponíveis

Erro de Validação de Campos (HTTP 400)

Ao utilizar o nome bob, a criação do gravame é rejeitada com erros de validação de campos no payload.

NomeEtapaStatus ResultanteWebhook
bobCriação do gravamepending_requester_actionSim
Exemplo de webhook completo
{
"event_key": "a23bc45d-67ef-8901-abcd-234567890abc",
"event_type": "laas.vehicle_collateral.reservation.status_change",
"origin": "vehicle_collateral",
"origin_key": "<reservation_key>",
"person_key": "<requester_key>",
"receiver_contact": null,
"data": {
"callback": {
"webhook_type": "laas.vehicle_collateral.reservation.status_change",
"status": "pending_requester_action",
"event_datetime": "2026-04-08T15:30:00.000Z",
"data": {
"contract_number": "CTR-2026-001",
"rejection_details": [
{
"campo": "logradouroDevedor",
"mensagem": "caracter inválido / acima do tamanho permitido / tipo inválido / Ausência do campo"
},
{
"campo": "numTelDevedor",
"mensagem": "caracter inválido / acima do tamanho permitido"
}
]
}
}
}
}

Erros de Negócio na Confirmação do Gravame

Os cenários abaixo são acionados na etapa de confirmação de status. Todos resultam em pending_requester_action e enviam webhook com error_code.

NomeErroerror_code
carolVeículo com restrição financeira já cadastradavehicle_has_financial_restriction_already_registered
daveChassi não localizado na BINchassis_not_found_in_bin
frankPlaca na BIN, informe a placa do veículoplate_in_bin_inform_plate_of_vehicle
georgePlaca divergente da base BINplate_informed_different_from_plate_informed_by_uf_of_registration_in_bin_base
ianNúmero do imóvel não corresponde ao CEPproperty_number_does_not_correspond_to_informed_postal_code
jackRENAVAM divergenterenavam_informed_different_from_renavam_informed_by_uf_of_registration_in_bin_base
kateUF do imóvel inválidaproperty_uf_invalid
maryEndereço com preenchimento inválidofinancied_address_with_invalid_fill
oliveAno modelo divergente da BINmodel_year_informed_different_from_model_year_in_bin
quinnProtocolo em aberto na UF de licenciamentoprotocol_open_in_uf_of_registration
saraNome e endereço do financiado inválidosfinancied_name_and_address_with_invalid_fill
taylorNome do financiado inválidofinancied_name_with_invalid_fill
vincentVeículo já alienado na base estadualvehicle_already_reserved_in_state_base
Exemplo de webhook completo (cenário carol)
{
"event_key": "<uuid>",
"event_type": "laas.vehicle_collateral.reservation.status_change",
"origin": "vehicle_collateral",
"origin_key": "<reservation_key>",
"person_key": "<requester_key>",
"receiver_contact": null,
"data": {
"callback": {
"webhook_type": "laas.vehicle_collateral.reservation.status_change",
"key": "<reservation_key>",
"status": "pending_requester_action",
"event_datetime": "2026-04-08T15:30:00.000Z",
"data": {
"contract_number": "CTR-2026-001",
"error_code": "vehicle_has_financial_restriction_already_registered",
"error_reason_en": "Vehicle has financial restriction already registered",
"error_reason_pt": "Veículo com restrição financeira já cadastrada"
}
}
}
}

Recusa Definitiva (sem webhook)

Nestes casos, a reserva é recusada definitivamente. Nenhum webhook é enviado ao cliente.

NomeErroStatus Resultante
eveRestrição na BIN fabrilrefused
robertVeículo com restriçãorefused

Reprocessamento Automático (sem webhook)

Nestes casos, a mensagem é devolvida para reprocessamento automático. Nenhum webhook é enviado ao cliente.

NomeErroComportamento
gabrielErro desconhecidoReprocessamento automático
henryProprietário divergente na comunicação de vendaReprocessamento automático
lindaRestrição na UF de licenciamentoReprocessamento automático
nancyNome do endereço acima de 30 caracteresReprocessamento automático
paulTelefone acima de 9 caracteresReprocessamento automático
williamErro desconhecidoReprocessamento automático

Tabela Resumo

NomeEtapaStatus ResultanteWebhookTipo
bobCriação (HTTP 400)pending_requester_actionSimreservation.status_change com rejection_details
carolConfirmaçãopending_requester_actionSimreservation.status_change com error_code
daveConfirmaçãopending_requester_actionSimreservation.status_change com error_code
eveConfirmaçãorefusedNão
frankConfirmaçãopending_requester_actionSimreservation.status_change com error_code
georgeConfirmaçãopending_requester_actionSimreservation.status_change com error_code
gabrielConfirmaçãoReprocessamentoNão
henryConfirmaçãoReprocessamentoNão
ianConfirmaçãopending_requester_actionSimreservation.status_change com error_code
jackConfirmaçãopending_requester_actionSimreservation.status_change com error_code
kateConfirmaçãopending_requester_actionSimreservation.status_change com error_code
lindaConfirmaçãoReprocessamentoNão
maryConfirmaçãopending_requester_actionSimreservation.status_change com error_code
nancyConfirmaçãoReprocessamentoNão
oliveConfirmaçãopending_requester_actionSimreservation.status_change com error_code
paulConfirmaçãoReprocessamentoNão
quinnConfirmaçãopending_requester_actionSimreservation.status_change com error_code
robertConfirmaçãorefusedNão
saraConfirmaçãopending_requester_actionSimreservation.status_change com error_code
taylorConfirmaçãopending_requester_actionSimreservation.status_change com error_code
vincentConfirmaçãopending_requester_actionSimreservation.status_change com error_code
williamConfirmaçãoReprocessamentoNão
(outro)reserved + pending_registration_confirmationSim (2x)reservation.status_change + contract.status_change
Atenção

Os mocks acima simulam apenas a etapa de registro de gravame (reserva). O fluxo de registro de contrato e envio de imagem não possui mocks dedicados no ambiente de homologação.