Referência da API/Dispersões
Dispersões
Um lote de pagamentos preparado, revisado, aprovado e lançado em conjunto, até 5.000 itens, validado antes de qualquer movimentação. As linhas podem misturar contas bancárias, telefones, e-mails e PagoMóvil. Sua política de aprovação define quantas aprovações são necessárias e quem pode dá-las; quem submete não aprova. Os itens executam um a um e cada tentativa é guardada. Um lote termina em completed ou completed_with_failures, nunca em sucesso parcial silencioso.
Create a disbursement
/disbursementsA batch of payouts prepared, reviewed, approved and launched together. Up to 5,000 items. Rows are validated before any money moves.
Parâmetros
Idempotency-Keyheaderstringopcional
| Campo | Tipo | obrigatório | Observações |
|---|---|---|---|
| name | string | opcional | |
| items | array | obrigatório |
Requisição
{
"name": "Agents, week 37",
"items": [
{
"recipient_id": "rcp_9d1a",
"channel": "spei_mxn",
"source_amount": "2500.00",
"reference": "AG-014"
},
{
"recipient": {
"type": "phone",
"number": "+5215512345678"
},
"channel": "claim_link",
"source_amount": "80.00",
"reference": "driver-week-37"
},
{
"recipient": {
"type": "pagomovil",
"phone_number": "+584141234567",
"bank_code": "0102",
"national_id": "V-12345678",
"holder_name": "Ana Torres",
"date_of_birth": "1990-04-12"
},
"channel": "pagomovil_ves",
"source_amount": "150.00",
"reference": "VE-22"
}
]
}Exemplos: Create a disbursement
curl -X POST https://sandbox.api.decaf.so/v1/disbursements \
-H "Authorization: Bearer $DECAF_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"name":"Agents, week 37","items":[{"recipient_id":"rcp_9d1a","channel":"spei_mxn","source_amount":"2500.00","reference":"AG-014"},{"recipient":{"type":"phone","number":"+5215512345678"},"channel":"claim_link","source_amount":"80.00","reference":"driver-week-37"},{"recipient":{"type":"pagomovil","phone_number":"+584141234567","bank_code":"0102","national_id":"V-12345678","holder_name":"Ana Torres","date_of_birth":"1990-04-12"},"channel":"pagomovil_ves","source_amount":"150.00","reference":"VE-22"}]}'Import items from CSV
/disbursements/{id}/items/importRequired columns `recipient`, `amount`. Optional `memo`, `reference`, `type`, `pagomovil_bank_code`, `pagomovil_national_id`, `pagomovil_holder_name`, `pagomovil_dob`.
Parâmetros
idpathstringobrigatório
Get a disbursement with its review summary
/disbursements/{id}Parâmetros
idpathstringobrigatório
Resposta 200
{
"id": "db_44e0",
"name": "Agents, week 37",
"status": "needs_review",
"summary": {
"item_count": 38,
"ready": 36,
"needs_review": 2,
"total_source_amount": "96400.00",
"total_fees": "412.10",
"by_type": {
"bank_account": 31,
"phone": 5,
"pagomovil": 2
},
"warnings": [
{
"code": "duplicate_recipient",
"item_ids": [
"di_18",
"di_204"
]
}
]
},
"balance_check": {
"required": "96812.10",
"available": "120000.00",
"ok": true
},
"approval": {
"required": 1,
"received": 0,
"revision_id": null
}
}Fix an item
/disbursements/{id}/items/{item_id}Editable while drafting, and for failed items in correction mode. A change to a money-critical field creates a new execution version.
Parâmetros
idpathstringobrigatórioitem_idpathstringobrigatório
| Campo | Tipo | obrigatório | Observações |
|---|---|---|---|
| recipient_id | string | opcional | |
| recipient | InlineRecipient | opcional | |
| channel | string | obrigatório | |
| source_amount | Amount | obrigatório | Decimal string. Up to two decimals for fiat, six for USDC. |
| reference | string | opcional | |
| memo | string | opcional |
Submit for approval
/disbursements/{id}/submit-for-approvalParâmetros
idpathstringobrigatório
Approve a revision
/disbursements/{id}/approvals/{revision_id}/approveThe submitter cannot approve their own batch.
Parâmetros
idpathstringobrigatóriorevision_idpathstringobrigatório
Reject a revision
/disbursements/{id}/approvals/{revision_id}/rejectParâmetros
idpathstringobrigatóriorevision_idpathstringobrigatório
| Campo | Tipo | obrigatório | Observações |
|---|---|---|---|
| reason | string | opcional |
Launch
/disbursements/{id}/launchRefused while items need review, approvals are outstanding, or the balance does not cover the batch.
Parâmetros
idpathstringobrigatório
Erros: 402 insufficient_balance; 409 approval_required
Exemplos: Launch
curl -X POST https://sandbox.api.decaf.so/v1/disbursements/db_44e0/launch \
-H "Authorization: Bearer $DECAF_API_KEY"Pause
/disbursements/{id}/pauseParâmetros
idpathstringobrigatório
Resume
/disbursements/{id}/resumeParâmetros
idpathstringobrigatório
Retry every retryable failed item
/disbursements/{id}/items/retry-failedParâmetros
idpathstringobrigatório
Export results as CSV
/disbursements/{id}/export.csvOne row per item: reference, final status, amounts, fees, rate, provider reference, on-chain transaction, attempts, timestamps. Bank and ID fields masked.
Parâmetros
idpathstringobrigatório
Obtenha acesso
Construa contra o sandbox esta semana.
Conte-nos os corredores de que precisa e quem você paga. As chaves de sandbox são emitidas por uma pessoa.