Conciliação: casar e ignorar
Casa uma transação do extrato com um título, desfaz o casamento ou ignora a transação.
Casar transação
Liga uma transação pending a uma conta a pagar ou a receber. O título precisa estar open e com exatamente o mesmo valor da transação (em módulo). O título é quitado (paid ou received, com a data de agora) e a transação vira matched, tudo numa transação de banco.
/api/v1/vendor/erp/conciliacao/transactions/{id}/matchSellerCasa uma transação com um título
Parâmetros de caminho
iduuidobrigatórioCorpo da requisição
target_typestringobrigatóriopayablereceivabletarget_iduuidobrigatórioExemplo de requisição: Casar transação
curl -X POST "$BASE_URL/api/v1/vendor/erp/conciliacao/transactions/3f6c1c1e-8d0b-4a55-9a52-1d6f6a4a7b10/match" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"target_type": "receivable",
"target_id": "cd8210a4-9275-4142-949f-b0f54e5a984c"
}'Resposta: Casar transação
{
"id": "6a7b8c9d-0e1f-4203-9415-26374859a6b7",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"bank_account_id": "a1c3e5f7-2b4d-4f6a-8c0e-1d3f5a7b9c21",
"fitid": "202610090001",
"posted_at": "2026-10-09",
"amount_cents": 20000,
"description": "PIX RECEBIDO MERCADINHO PINHEIROS",
"status": "matched",
"ignored_reason": "",
"matched_at": "2026-10-11T14:30:00Z",
"created_at": "2026-10-11T14:30:00Z",
"suggestions": null
}Campos da resposta
iduuidvendor_iduuidbank_account_iduuidfitidstringposted_atstringYYYY-MM-DD.amount_centsintegerdescriptionstringstatusstringpendingmatchedignoredignored_reasonstringignored.matched_atdatetimenull se não.created_atdatetimesuggestionsarraySó em transações pending da listagem: até 10 títulos candidatos.
target_typestringpayablereceivabletarget_iduuidlabelstringamount_centsintegerdue_datestringErros: Casar transação
| Status | Quando | Corpo |
|---|---|---|
| 400 | Corpo não é um JSON válido. | {"error":"invalid request body","detail":"invalid character 'b' looking for beginning of object key string"} |
| 400 | target_type inválido. | {"error":"vendorerp: target_type must be payable|receivable"} |
| 400 | target_id em branco. | {"error":"vendorerp: target_id required"} |
| 400 | A transação não está pending. | {"error":"vendorerp: transaction is not pending"} |
| 400 | O título não existe, não está open ou o valor difere. | {"error":"vendorerp: título não encontrado, já liquidado ou com valor divergente do extrato"} |
| 404 | A transação não existe ou é de outro seller. | {"error":"bank transaction not found"} |
| 401 | Cabeçalho Authorization ausente, token inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador). | {"error":"insufficient permissions"} |
| 403 | O usuário não está vinculado a um seller, ou o cadastro do seller ainda está em análise (vendor_pending_review). | {"error":"no vendor account associated with this user"} |
Desfazer casamento
Volta a transação de matched para pending e reabre os títulos que ela havia quitado (estado open, sem data de quitação).
/api/v1/vendor/erp/conciliacao/transactions/{id}/unmatchSellerDesfaz o casamento
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição: Desfazer casamento
curl -X POST "$BASE_URL/api/v1/vendor/erp/conciliacao/transactions/3f6c1c1e-8d0b-4a55-9a52-1d6f6a4a7b10/unmatch" \
-H "Authorization: Bearer $TOKEN"Resposta: Desfazer casamento
{
"id": "6a7b8c9d-0e1f-4203-9415-26374859a6b7",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"bank_account_id": "a1c3e5f7-2b4d-4f6a-8c0e-1d3f5a7b9c21",
"fitid": "202610090001",
"posted_at": "2026-10-09",
"amount_cents": 20000,
"description": "PIX RECEBIDO MERCADINHO PINHEIROS",
"status": "pending",
"ignored_reason": "",
"matched_at": null,
"created_at": "2026-10-11T14:30:00Z",
"suggestions": null
}Campos da resposta
iduuidvendor_iduuidbank_account_iduuidfitidstringposted_atstringYYYY-MM-DD.amount_centsintegerdescriptionstringstatusstringpendingmatchedignoredignored_reasonstringignored.matched_atdatetimenull se não.created_atdatetimesuggestionsarraySó em transações pending da listagem: até 10 títulos candidatos.
target_typestringpayablereceivabletarget_iduuidlabelstringamount_centsintegerdue_datestringErros: Desfazer casamento
| Status | Quando | Corpo |
|---|---|---|
| 400 | A transação não está matched. | {"error":"vendorerp: transaction is not matched"} |
| 404 | A transação não existe ou é de outro seller. | {"error":"bank transaction not found"} |
| 401 | Cabeçalho Authorization ausente, token inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador). | {"error":"insufficient permissions"} |
| 403 | O usuário não está vinculado a um seller, ou o cadastro do seller ainda está em análise (vendor_pending_review). | {"error":"no vendor account associated with this user"} |
Ignorar transação
Marca uma transação pending como ignored, por exemplo uma tarifa que você não controla no ERP. O motivo é obrigatório. Não existe rota para reverter um ignored.
/api/v1/vendor/erp/conciliacao/transactions/{id}/ignoreSellerIgnora uma transação
Parâmetros de caminho
iduuidobrigatórioCorpo da requisição
reasonstringobrigatórioExemplo de requisição: Ignorar transação
curl -X POST "$BASE_URL/api/v1/vendor/erp/conciliacao/transactions/3f6c1c1e-8d0b-4a55-9a52-1d6f6a4a7b10/ignore" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"reason": "Tarifa bancária"
}'Resposta: Ignorar transação
{
"id": "6a7b8c9d-0e1f-4203-9415-26374859a6b7",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"bank_account_id": "a1c3e5f7-2b4d-4f6a-8c0e-1d3f5a7b9c21",
"fitid": "202610090001",
"posted_at": "2026-10-09",
"amount_cents": 20000,
"description": "PIX RECEBIDO MERCADINHO PINHEIROS",
"status": "ignored",
"ignored_reason": "Tarifa bancária",
"matched_at": null,
"created_at": "2026-10-11T14:30:00Z",
"suggestions": null
}Campos da resposta
iduuidvendor_iduuidbank_account_iduuidfitidstringposted_atstringYYYY-MM-DD.amount_centsintegerdescriptionstringstatusstringpendingmatchedignoredignored_reasonstringignored.matched_atdatetimenull se não.created_atdatetimesuggestionsarraySó em transações pending da listagem: até 10 títulos candidatos.
target_typestringpayablereceivabletarget_iduuidlabelstringamount_centsintegerdue_datestringErros: Ignorar transação
| Status | Quando | Corpo |
|---|---|---|
| 400 | Corpo não é um JSON válido. | {"error":"invalid request body","detail":"invalid character 'b' looking for beginning of object key string"} |
| 400 | reason em branco. | {"error":"vendorerp: reason required"} |
| 400 | A transação não está pending. | {"error":"vendorerp: transaction is not pending"} |
| 404 | A transação não existe ou é de outro seller. | {"error":"bank transaction not found"} |
| 401 | Cabeçalho Authorization ausente, token inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador). | {"error":"insufficient permissions"} |
| 403 | O usuário não está vinculado a um seller, ou o cadastro do seller ainda está em análise (vendor_pending_review). | {"error":"no vendor account associated with this user"} |