post
https://api.caas.staging.bancocdc.com.br/ect/counter-proposals
Submits an array of counter-proposals (N:N). We enqueue each, validate it, and forward them to Dataprev's inclusao-garantias endpoint in batches. A single object is also accepted (wrapped into a 1-item array). Each item in the array gets its own result in the response.
Recent Requests
Log in to see full request history
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Loading…
Proposal fields
| Field | Type | Required | Description |
|---|---|---|---|
numeroProposta | string | yes | Your proposal id; echoed back so you can match the result. Must be unique per institution. |
idSolicitacaoProposta | int | yes | Lead's id_dataprev (from the reserve response). |
dataHoraValidadeProposta | string ddMMyyyyHHmmss | yes | Proposal validity; must be in the future. |
contatos | array | yes | Contact channels offered to the worker (see contact types below). |
contatos[].tipo | int | yes | Contact type: 0=URL, 1=WhatsApp, 2=phone, 3=e-mail, 4=other. |
contatos[].contato | string | yes | The contact value (phone number, URL, e-mail). |
codigoSolicitante | int | yes | Always CDC's code (470). |
numeroParcelas | int | yes | Number of installments. |
valorParcela | decimal | yes | Installment amount. |
valorLiberado | decimal | yes | Amount released to the worker. |
valorEmprestimo | decimal | yes | Total financed amount. |
valorIOF | decimal | yes | IOF tax. |
valorTaxaAnual | decimal | yes | Annual interest rate (%). |
valorCETAnual | decimal | yes | Annual total effective cost / CET (%). |
valorTaxaMensal | decimal | yes | Monthly interest rate (%). |
valorCETMensal | decimal | yes | Monthly CET (%). |
temGarantias | bool | no (default false) | Whether this proposal uses the FGTS guarantee. |
valorSaldoDisponivelGarantiaFgts | decimal | when temGarantias=true | FGTS available balance. |
valorMultaRescisoriaGarantiaFgts | decimal | when temGarantias=true | FGTS termination penalty. |
percVerbaRescisoriaGarantia | number | when temGarantias=true | Termination allowance (%, up to 35%). |
Contact types (contatos[].tipo)
| tipo | Meaning |
|---|---|
0 | URL |
1 | |
2 | Phone |
3 | |
4 | Other |
For WhatsApp (
tipo: 1), send the value formatted as<phone>?text=<url-encoded text>.
Guarantee & business rules (validated by Dataprev)
- Without guarantee → send exactly 1 proposal, without guarantee (
FJ). - With guarantee → send exactly 2 proposals: one with guarantee and one without. The
guaranteed proposal must have a lower interest rate than the non-guaranteed one (FJ). - At most 2 proposals per solicitação (
OL). - Guarantee values in the proposal must be ≤ the solicitação's values and satisfy the
100% coverage rule (FI). valorLiberadomust be <valorParcela × numeroParcelas(BL) and ≤valorEmprestimo(BQ).valorCETAnualmust be >valorCETMensal(OV); monthly rate within the system cap (TN).dataHoraValidadePropostamust be in the future (OU); worker must be loan-eligible (HU).
Our pre-validation (before sending to Dataprev)
- If the
idSolicitacaoPropostaexists in our base, thetemGarantiasflag must match
the lead's guarantee status (synced from Dataprev) — otherwise the item is blocked. - The lead must still be available to you (reserved/active); otherwise blocked.
dataHoraValidadePropostamust not be in the past.
Response fields
| Field | Description |
|---|---|
total | Number of proposals processed. |
aceitas | Number accepted by Dataprev (status = aceita). |
resultados[] | One result per submitted proposal. |
resultados[].numeroProposta | Echo of the id you sent, so you can match the result. |
resultados[].contraproposta_hash | Our id for the submitted counter-proposal (use it to look up status). |
resultados[].status | Final state of the proposal (see table). |
resultados[].codigo_retorno_dataprev | Dataprev return code (BD = success). |
resultados[].mensagem | Human-readable result message. |
status values
| Status | Meaning |
|---|---|
aceita | Dataprev accepted the proposal (codigo_retorno_dataprev = BD). |
rejeitada | Dataprev rejected the proposal (any code other than BD). |
bloqueada | Blocked by us before sending (guarantee-flag mismatch or lead unavailable). |
enviada | Sent (HTTP 2xx) but without an item-level confirmation from Dataprev. |
cancelada_expirada | dataHoraValidadeProposta was in the past. |
erro | Technical failure talking to Dataprev (retry scheduled). |
Dataprev return codes (codigo_retorno_dataprev) — from Dataprev's Manual Leilão de
Propostas (v1.8):
| Code | Meaning |
|---|---|
BD | Inclusion completed successfully. |
OU | Proposal validity date must be later than the current date. |
OV | Annual CET must be greater than the monthly CET. |
SC | Referenced solicitação must be valid (validity date in the future). |
HA | Number of proposals for the solicitação exceeds the system limit. |
SE | numeroProposta must be unique for the institution. |
SO | Solicitação already has a registered (averbado) loan. |
HV | Number of installments above the system maximum. |
TN | Monthly interest rate above the allowed maximum. |
BL | valorLiberado must be less than valorParcela × numeroParcelas. |
BQ | valorLiberado must be ≤ valorEmprestimo. |
HU | Worker is not loan-eligible. |
OL | Invalid number of proposals submitted (max. 2). |
FJ | Invalid proposal (with/without-guarantee rules; guaranteed proposal must have a lower rate). |
FI | Invalid guarantee values (exceed the solicitação / insufficient coverage). |
BC | Invalid CBC — check codigoSolicitante. |
GB | Badly formatted date — use ddMMyyyyHHmmss. |
OT | Value exceeds the max number of characters for the field. |
GA, SD, PI, IO, SB, GE, PN | Required field filled incorrectly — check the field's rules. |