Asset Webhooks
Throughout the assignment flow, the system sends webhooks to notify the integrating partner about status changes of individual assets. There are two webhook types: trade_receivables.asset_status_change for status changes and trade_receivables.asset_creation to confirm asset creation.
To receive webhooks, you must have a callback URL configured with QI Tech. Contact integracao.dtvm@qitech.com.br to set up.
Asset status flow
The diagram below illustrates the status transitions that generate webhooks throughout the flow:
Webhook structure
All asset webhooks share the same base structure:
| Field | Type | Description |
|---|---|---|
webhook_type | string | Webhook type: trade_receivables.asset_status_change or trade_receivables.asset_creation. |
webhook_datetime | string | Event date and time in ISO 8601 format. |
data | object | Event data. See table below. |
data attributes
| Field | Type | Description |
|---|---|---|
assignment_external_id | string | The external_id of the batch the asset belongs to. |
asset_external_id | string | The external_id of the asset. |
asset_new_status | string | New asset status. |
fund_class_key | string | Identifier of the fund class associated with the batch. |
asset_payload | object | Present only in the creation webhook (asset_creation). Contains all asset data as submitted at creation. |
{
"data": {
"assignment_external_id": "ac597f90-a13e-4f78-86f0-11c66f5fa6d6",
"asset_external_id": "1caff47c-bd05-48b0-a6bc-9569f5070f6b",
"asset_new_status": "STATUS",
"fund_class_key": "b7d3e2a1-4c5f-4e8b-9d1a-2f3c4e5a6b7c"
},
"webhook_type": "trade_receivables.asset_status_change",
"webhook_datetime": "2024-04-23T15:08:30Z"
}
Events by status
Asset Created
Sent when an asset is successfully inserted into the batch. This webhook includes the asset_payload field with all credit operation data submitted at creation. The webhook type is trade_receivables.asset_creation.
{
"data": {
"assignment_external_id": "ac597f90-a13e-4f78-86f0-11c66f5fa6d6",
"asset_external_id": "1caff47c-bd05-48b0-a6bc-9569f5070f6b",
"asset_new_status": "pending_eligibility",
"fund_class_key": "b7d3e2a1-4c5f-4e8b-9d1a-2f3c4e5a6b7c",
"asset_payload": {
"premiums": [
{
"total_value": 1.2,
"premium_type": "spread"
}
],
"asset_type": "ccb",
"credit_operation": {
"delay": {
"fine": {
"amount": 0.0,
"fine_type": "percentage"
},
"interest": {
"method": "compound",
"pre_fixed": {
"monthly_rate": 0.0,
"calendar_base": "workdays"
}
}
},
"borrower": {
"name": "João Pereira",
"email": "exemplo3@gmail.com",
"phone": {
"number": "948386674",
"area_code": "11"
},
"address": {
"uf": "SP",
"city": "São Paulo",
"number": "84",
"street": "RUA GILBERTO SABINO",
"country": "BRA",
"postal_code": "05425-020",
"neighborhood": "Pinheiros"
},
"person_type": "natural_person",
"natural_person": {
"birthdate": "1970-02-18",
"mother_name": "Natalia Nascimento"
},
"document_number": "926.857.750-05"
},
"contract": {
"cet": 0.0314,
"number": "0032226586/NNT",
"iof_value": 3.04,
"issue_date": "2024-04-24",
"issue_value": 93.05,
"signature_date": "2024-04-24",
"disbursement_date": "2024-04-24",
"disbursement_value": 62.1
},
"pre_fixed": {
"monthly_rate": 0.0179,
"calendar_base": "calendar_365"
},
"external_id": "1caff47c-bd05-48b0-a6bc-9569f5070f6b",
"installments": [
{
"face_value": 30.81,
"maturity_date": "2025-02-01",
"installment_number": 1
},
{
"face_value": 26.19,
"maturity_date": "2026-02-01",
"installment_number": 2
},
{
"face_value": 29.68,
"maturity_date": "2027-02-01",
"installment_number": 3
},
{
"face_value": 23.74,
"maturity_date": "2028-02-01",
"installment_number": 4
},
{
"face_value": 28.49,
"maturity_date": "2029-02-01",
"installment_number": 5
},
{
"face_value": 19.94,
"maturity_date": "2030-02-01",
"installment_number": 6
},
{
"face_value": 13.96,
"maturity_date": "2031-02-01",
"installment_number": 7
},
{
"face_value": 13.03,
"maturity_date": "2032-02-01",
"installment_number": 8
}
],
"principal_value": 93.05,
"amortization_type": "price",
"interest_rate_type": "pre_fixed",
"originator_document_number": "40.940.511/0001-08"
},
"total_purchase_value": 94.86
}
},
"webhook_type": "trade_receivables.asset_creation",
"webhook_datetime": "2024-04-23T15:08:30Z"
}
Approved in Eligibility — Pending Documentation
Sent when the asset is approved in eligibility analysis and is awaiting submission of required documents. Use the Document Insertion endpoint to submit the required documentation.
{
"data": {
"assignment_external_id": "ac597f90-a13e-4f78-86f0-11c66f5fa6d6",
"asset_external_id": "1caff47c-bd05-48b0-a6bc-9569f5070f6b",
"asset_new_status": "pending_documentation",
"fund_class_key": "b7d3e2a1-4c5f-4e8b-9d1a-2f3c4e5a6b7c"
},
"webhook_type": "trade_receivables.asset_status_change",
"webhook_datetime": "2024-04-23T15:08:30Z"
}
Pre-Approved
Sent when the asset is pre-approved, after successful document validation (or when no additional documentation is required). The asset is ready to advance to the formalization/registration step.
{
"data": {
"assignment_external_id": "ac597f90-a13e-4f78-86f0-11c66f5fa6d6",
"asset_external_id": "1caff47c-bd05-48b0-a6bc-9569f5070f6b",
"asset_new_status": "pre_approved",
"fund_class_key": "b7d3e2a1-4c5f-4e8b-9d1a-2f3c4e5a6b7c"
},
"webhook_type": "trade_receivables.asset_status_change",
"webhook_datetime": "2024-04-23T15:08:30Z"
}
Pending Formalization
Sent when the pre-approved asset has been submitted for the formalization step (registration with the relevant authority). The asset awaits completion of the registration process before being added to the portfolio.
{
"data": {
"assignment_external_id": "ac597f90-a13e-4f78-86f0-11c66f5fa6d6",
"asset_external_id": "1caff47c-bd05-48b0-a6bc-9569f5070f6b",
"asset_new_status": "pending_formalization",
"fund_class_key": "b7d3e2a1-4c5f-4e8b-9d1a-2f3c4e5a6b7c"
},
"webhook_type": "trade_receivables.asset_status_change",
"webhook_datetime": "2024-04-23T15:08:30Z"
}
Asset Completed
Sent when the asset has been successfully added to the fund's portfolio. This is the final status of a successful asset — from this point on, the asset is within the fund's inventory.
{
"data": {
"assignment_external_id": "ac597f90-a13e-4f78-86f0-11c66f5fa6d6",
"asset_external_id": "1caff47c-bd05-48b0-a6bc-9569f5070f6b",
"asset_new_status": "completed",
"fund_class_key": "b7d3e2a1-4c5f-4e8b-9d1a-2f3c4e5a6b7c"
},
"webhook_type": "trade_receivables.asset_status_change",
"webhook_datetime": "2024-04-23T15:08:30Z"
}
Denied in Eligibility
Sent when the asset is denied in eligibility analysis or document validation. The asset will not advance further in the flow.
{
"data": {
"assignment_external_id": "ac597f90-a13e-4f78-86f0-11c66f5fa6d6",
"asset_external_id": "1caff47c-bd05-48b0-a6bc-9569f5070f6b",
"asset_new_status": "denied",
"fund_class_key": "b7d3e2a1-4c5f-4e8b-9d1a-2f3c4e5a6b7c"
},
"webhook_type": "trade_receivables.asset_status_change",
"webhook_datetime": "2024-04-23T15:08:30Z"
}
Asset Discarded
Sent when the asset is discarded from the batch. This can occur due to manual removal or processing issues.
{
"data": {
"assignment_external_id": "ac597f90-a13e-4f78-86f0-11c66f5fa6d6",
"asset_external_id": "1caff47c-bd05-48b0-a6bc-9569f5070f6b",
"asset_new_status": "discarded",
"fund_class_key": "b7d3e2a1-4c5f-4e8b-9d1a-2f3c4e5a6b7c"
},
"webhook_type": "trade_receivables.asset_status_change",
"webhook_datetime": "2024-04-23T15:08:30Z"
}