Skip to main content

Webhooks — Vehicle Collateral

API under development

The API is still in development phase, therefore, this manual is subject to changes.

Asynchronous notifications sent via POST by QI Tech to report status changes in the collateral (lien), contract, and debt lifecycle. The request must be answered within 5 seconds with HTTP 200.

Debt Webhooks

This section covers both vehicle collateral webhooks and standard debt webhooks. For the complete documentation of all debt-related webhooks, see: Debt Webhooks.


Vehicle Collateral Webhooks — Reservation (SNG/B3)

WEBHOOK TYPE
laas.vehicle_collateral.reservation_status_change

Notifications related to lien registration at SNG/B3.

Base Webhook Structure

{
"key": "<UUID v4 — unique webhook identifier>",
"reservation_key": "<UUID — unique reservation identifier>",
"credit_operation_key": "<UUID — credit operation identifier>",
"status": "<status enumerator>",
"webhook_type": "laas.vehicle_collateral.reservation_status_change",
"event_datetime": "<ISO 8601 timestamp>",
"data": {
"contract_number": "<contract number>",
"...": "<status-specific fields>"
}
}

Base Fields

FieldTypeDescription
keyStringUnique webhook identifier (UUID v4)
reservation_keyStringUnique reservation identifier (UUID)
credit_operation_keyStringCredit operation identifier (UUID)
statusStringStatus enumerator (see Status Map)
webhook_typeStringAlways laas.vehicle_collateral.reservation_status_change
event_datetimeStringEvent timestamp (ISO 8601)
dataObjectStatus-specific payload (see examples below)

pending_reservation_confirmation

Collateral is being processed. Data has been sent to SNG/B3 and the system awaits confirmation.

Payload
{
"key": "1f975b68-7895-4c72-9d79-e73c7b0986b0",
"reservation_key": "e73c7b68-4c72-9d79-7895-1f975b0986b0",
"credit_operation_key": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"status": "pending_reservation_confirmation",
"webhook_type": "laas.vehicle_collateral.reservation_status_change",
"event_datetime": "2026-03-10T10:05:00Z",
"data": {
"contract_number": "123insd"
}
}

reserved

Collateral successfully reserved at SNG/B3. Lien is registered and the operation is ready for the next stage.

Payload
{
"key": "1f975b68-7895-4c72-9d79-e73c7b0986b0",
"reservation_key": "e73c7b68-4c72-9d79-7895-1f975b0986b0",
"credit_operation_key": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"status": "reserved",
"webhook_type": "laas.vehicle_collateral.reservation_status_change",
"event_datetime": "2026-03-10T10:10:00Z",
"data": {
"contract_number": "123insd",
"collateral_number": "00123456",
"reservation_date": "2026-03-10"
}
}

pending_requester_action (Reservation)

An error occurred during lien processing at SNG/B3. Invalid data or restriction detected. The partner must correct the information and resubmit.

Payload
{
"key": "1f975b68-7895-4c72-9d79-e73c7b0986b0",
"reservation_key": "e73c7b68-4c72-9d79-7895-1f975b0986b0",
"credit_operation_key": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"status": "pending_requester_action",
"webhook_type": "laas.vehicle_collateral.reservation_status_change",
"event_datetime": "2026-03-10T10:12:00Z",
"data": {
"contract_number": "123insd",
"error_code": "INVALID_CHASSIS",
"error_reason": "Chassis number does not match the vehicle records",
"error_details": {
"field": "chassis",
"expected": "LISD931",
"received": "LISD930"
}
}
}

deleted

Collateral and contract have been cancelled. The operation was reverted at SNG/B3 and DETRAN.

Payload
{
"key": "1f975b68-7895-4c72-9d79-e73c7b0986b0",
"reservation_key": "e73c7b68-4c72-9d79-7895-1f975b0986b0",
"credit_operation_key": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"status": "deleted",
"webhook_type": "laas.vehicle_collateral.reservation_status_change",
"event_datetime": "2026-03-10T15:30:00Z",
"data": {
"contract_number": "123insd",
"collateral_number": "00123456",
"cancellation_date": "2026-03-10",
"reason": "client_request"
}
}

Per-Status Data Fields (Reservation)

Statusdata FieldsDescription
pending_reservation_confirmationcontract_numberLien sent to SNG/B3, awaiting confirmation
reservedcontract_number, collateral_number, reservation_dateLien registered successfully
pending_requester_actioncontract_number, error_code, error_reason, error_detailsError — partner must correct data
deletedcontract_number, collateral_number, cancellation_date, reasonOperation cancelled
Attention

Image validation statuses are exclusively internal and are not sent to the external client via webhook.


Vehicle Collateral Webhooks — Registration (DETRAN)

WEBHOOK TYPE
laas.vehicle_collateral.register_status_change

Notifications related to contract registration at DETRAN/Registrar.

Base Webhook Structure

{
"key": "<UUID v4 — unique webhook identifier>",
"reservation_key": "<UUID — unique reservation identifier>",
"credit_operation_key": "<UUID — credit operation identifier>",
"status": "<status enumerator>",
"webhook_type": "laas.vehicle_collateral.register_status_change",
"event_datetime": "<ISO 8601 timestamp>",
"data": {
"contract_number": "<contract number>",
"...": "<status-specific fields>"
}
}

Base Fields

FieldTypeDescription
keyStringUnique webhook identifier (UUID v4)
reservation_keyStringUnique reservation identifier (UUID)
credit_operation_keyStringCredit operation identifier (UUID)
statusStringStatus enumerator (see Status Map)
webhook_typeStringAlways laas.vehicle_collateral.register_status_change
event_datetimeStringEvent timestamp (ISO 8601)
dataObjectStatus-specific payload (see examples below)

pending_registration_confirmation

Contract is being processed at DETRAN. Document has been sent and the system awaits validation.

Payload
{
"key": "1f975b68-7895-4c72-9d79-e73c7b0986b0",
"reservation_key": "e73c7b68-4c72-9d79-7895-1f975b0986b0",
"credit_operation_key": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"status": "pending_registration_confirmation",
"webhook_type": "laas.vehicle_collateral.register_status_change",
"event_datetime": "2026-03-10T10:15:00Z",
"data": {
"contract_number": "123insd",
"stage": "contract_registration"
}
}

registered

Contract successfully registered at DETRAN. Full cycle completed. Collateral and contract are active and valid.

Payload
{
"key": "1f975b68-7895-4c72-9d79-e73c7b0986b0",
"reservation_key": "e73c7b68-4c72-9d79-7895-1f975b0986b0",
"credit_operation_key": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"status": "registered",
"webhook_type": "laas.vehicle_collateral.register_status_change",
"event_datetime": "2026-03-10T10:20:00Z",
"data": {
"contract_number": "123insd",
"collateral_number": "00123456",
"registration_date": "2026-03-10",
"completion_timestamp": "2026-03-10T10:20:00Z"
}
}

pending_requester_action (Registration)

An error occurred during contract processing at DETRAN. Invalid data or counter window detected. The partner must correct the information and resubmit.

Payload
{
"key": "1f975b68-7895-4c72-9d79-e73c7b0986b0",
"reservation_key": "e73c7b68-4c72-9d79-7895-1f975b0986b0",
"credit_operation_key": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"status": "pending_requester_action",
"webhook_type": "laas.vehicle_collateral.register_status_change",
"event_datetime": "2026-03-10T10:22:00Z",
"data": {
"contract_number": "123insd",
"error_code": "INVALID_CONTRACT_DATA",
"error_reason": "Invalid contract data or DETRAN counter window",
"error_details": {
"stage": "contract_registration"
}
}
}

Per-Status Data Fields (Registration)

Statusdata FieldsDescription
pending_registration_confirmationcontract_number, stageContract sent to DETRAN, awaiting validation
registeredcontract_number, collateral_number, registration_date, completion_timestampFull cycle completed
pending_requester_actioncontract_number, error_code, error_reason, error_detailsError — partner must correct data

Debt Webhooks

WEBHOOK TYPE
debt

The webhooks below notify about changes in the debt lifecycle associated with the vehicle collateral. These are the same standard debt webhooks documented at Debt Webhooks.


waiting_signature

Contract generated and available for signing. The signature URL is sent in this webhook.

Payload
{
"key": "<Debt Key>",
"status": "waiting_signature",
"webhook_type": "debt",
"event_datetime": "2025-05-10 14:30:00",
"data": {
"borrower": {
"name": "DEALERSHIP LEGAL NAME",
"document_number": "12345678000199"
},
"contract": {
"number": "OP-000000000000001",
"urls": [
"https://storage.googleapis.com/doc-api/documents/<uuid>/DEALERSHIP-CCB-OP000000000000001.pdf"
],
"signature_information": [
{
"signer_name": "REPRESENTATIVE NAME",
"signer_document_number": "31057466093",
"signer_role": "issuer",
"signer_email": "representative@dealership.com.br",
"signature_url": "https://sign.qitech.com.br/<uuid>"
}
]
}
}
}

signature_finished

All contract signatures have been completed.

Payload
{
"key": "<Debt Key>",
"status": "signature_finished",
"webhook_type": "debt",
"event_datetime": "2025-05-10 15:00:00",
"data": {
"borrower": {
"name": "DEALERSHIP LEGAL NAME",
"document_number": "12345678000199"
},
"contract": {
"number": "OP-000000000000001",
"urls": [
"https://storage.googleapis.com/doc-api/documents/<uuid>/DEALERSHIP-CCB-OP000000000000001-signed.pdf"
]
}
}
}

disbursed

Disbursement completed successfully. Funds have been transferred to the designated account.

Payload
{
"key": "<Debt Key>",
"status": "disbursed",
"webhook_type": "debt",
"event_datetime": "2025-05-10 16:00:00",
"data": {
"borrower": {
"name": "DEALERSHIP LEGAL NAME",
"document_number": "12345678000199"
},
"contract": {
"number": "OP-000000000000001"
},
"disbursement_date": "2025-05-10"
}
}

canceled

Operation cancelled. If the operation is not signed or endorsed by the last disbursement date option, the partner receives this webhook notifying the cancellation.

Payload
{
"key": "<Debt Key>",
"status": "canceled",
"webhook_type": "debt",
"event_datetime": "2025-05-20 10:00:00",
"data": {
"cancel_reason": "<CANCEL_REASON>",
"cancel_reason_enumerator": "<CANCEL_REASON_ENUMERATOR>"
}
}

Cancellation Enumerators

EnumeratorDescription
requester_requestCancelled at partner request
expirationOperation expired
regulatoryRegulatory cancellation
duplicityDuplicate operation
internal_errorInternal error

settled

Operation settled. All installments have been paid and the operation is closed.

Payload
{
"key": "<Debt Key>",
"status": "settled",
"webhook_type": "debt",
"event_datetime": "2026-05-15 10:00:00",
"data": {
"borrower": {
"name": "DEALERSHIP LEGAL NAME",
"document_number": "12345678000199"
},
"contract": {
"number": "OP-000000000000001"
},
"settlement_date": "2026-05-15"
}
}

Configuration

The Vehicle Collateral Webhook requires registered URLs. Consult the onboarding team for configuration.