data object. A property marked with ? can be absent. null is valid only where a payload contract writes it explicitly.Application-stream contract
ce-source, ce-resourcetype, and ce-eventtype. Use ce-type as their source-qualified composite. Never infer an event from the topic name.
Emitted-event catalog
Payload notation
The wire uses JSON withsnake_case property names, except consignado.registro_b3.registered, which uses camelCase. These aliases describe the formats used by the schemas:
consignado.solicitacao.received, consignado.portability_proposal.received, consignado.proposal.accepted, consignado.migracao.efetivada and consignado.rescisao.revertida, numero_inscricao_empregador is the employer number as Dataprev sent it. It can be the 8-digit CNPJ raiz instead of the 14-digit CNPJ. On consignado.proposal.accepted, cnpj_empregador_completo false means the number is the raiz.
originador_ref is the originador whose bid produced the contract. fundo_ref is the fund that received the contract in a cessão. The new contract of a refinancing or renegotiation that the gateway recorded as accepted inherits a party from the contracts it replaced. It inherits a party only when all those contracts name the same one, and only when it has no such party itself. A fund from the Lender fund registry appears as its Lender fund id. On consignado.contract.registered, fund_ref is the fund that the averbação attributes the contract to. On the averbação facts, remetente_fundo_ref is the fund whose credential sent the averbação or its documentation. It is absent when no fund credential sent either, even when the averbação names a fund.
Payload contracts
consignado.solicitacao.received
consignado.solicitacao.received
id_solicitacaoprazo_cotacao is the quote deadline of the pre-auction. It is present only when the loan request opens a pre-auction window.consignado.portability_proposal.received
consignado.portability_proposal.received
id_solicitacaoconsignado.margin.fetched
consignado.margin.fetched
request_refconsignado.proposal.accepted
consignado.proposal.accepted
consignado.averbacao.confirmed, when Dataprev accepts the documentation (Manual 004). consignado.averbacao.accepted does not trigger it, so it can arrive days after the averbação.Subject: proposal_refconsignado.averbacao.accepted
consignado.averbacao.accepted
POST /v1/consignado/contracts/{numero_contrato}/ccb-attachment. This fact does not book, disburse, or bill. Book a contract only from consignado.contract.registered.An exclusion can still cancel the averbação while no documentation call to Dataprev is in flight and Dataprev has not accepted the documentation. When Dataprev confirms the exclusion, consignado.exclusao.confirmed follows, and neither consignado.averbacao.confirmed nor consignado.contract.registered is published.A subscription scoped to an originador receives this fact only when originador_ref names that originador. A subscription scoped to a fund receives it only when remetente_fundo_ref names that fund. consignado.averbacao.documentation_deadline, consignado.averbacao.confirmed, and consignado.averbacao.rejected follow the same rule. A fund also receives consignado.averbacao.documentation_deadline when fundo_ref names it, which covers a fund that inherited a renegotiated contract.The fund or originador credential that sent the averbação or its documentation reads it with GET .../averbacao. For any other contract, a fund or originador credential gets 404. The tenant’s own credential reads every contract.averbado_at is the instant the gateway recorded the Manual 003 acceptance. When the gateway proves an unknown outcome by reading the contract back from Dataprev, dataprev_success_code is GW-M005-AVERBADO and averbado_at is the instant of that read.Subject: contract_idconsignado.averbacao.documentation_deadline
consignado.averbacao.documentation_deadline
approaching), or it is overdue (expired). Manual 004 gives the institution 7 days after the averbação to send the documentation. The gateway counts 7 calendar days from averbado_at. This fact is a signal only. The gateway does not exclude or change the contract when the deadline passes.The gateway publishes this fact only for an averbação that waits for its documentation. No call to Dataprev with its documentation (Manual 004) is open. No exclusion is pending or confirmed for it. It has not left the registry. Documentation that the gateway accepted but did not send to Dataprev does not stop the fact. Each contract gets approaching once, 48 hours before documentation_due_at, and expired once, at documentation_due_at. A contract that the gateway first finds past its due instant gets only expired. The ce-id is stable for each contract and stage. ce-time is the instant the gateway wrote the fact.averbado_at repeats the value of consignado.averbacao.accepted, and documentation_due_at is averbado_at plus 7 days. averbado_at_origin is dataprev_response when the gateway recorded averbado_at on receipt of the Dataprev acceptance. It is recovery_read when a later read from Dataprev proved the acceptance. In both cases, the Dataprev deadline can be earlier than documentation_due_at. The difference can be larger with recovery_read. A contract bought by portability also gets both stages, with no consignado.averbacao.accepted before them.A contract that a renegotiation through the gateway created gets the same two stages, counted 7 calendar days from the acceptance of the renegotiation. On that fact, contract_id is the renegotiation id that GET /v1/consignado/rail-commands lists, averbado_at is the instant Dataprev accepted the renegotiation, and remetente_fundo_ref is absent. fundo_ref names the fund that the contract holds or inherited from a ceded contract it replaced. An averbação never carries fundo_ref.The deadline signal is off by default. A deployment publishes this fact only while the signal is on.Subject: contract_idconsignado.averbacao.confirmed
consignado.averbacao.confirmed
consignado.averbacao.documentation_deadline signals it.averbado_at and dataprev_success_code keep the Manual 003 values of the accepted fact. Read the averbação instant from averbado_at, not from the publication time.Subject: contract_idconsignado.averbacao.rejected
consignado.averbacao.rejected
error_code is the Manual 005 code HY. A failed documentation send (Manual 004) publishes no fact.A refused averbação frees its numero_contrato. You can send a corrected averbação for the same number with a new contract_id and a new idempotency key. The refused contract_id is spent. So consignado.averbacao.accepted, consignado.averbacao.confirmed, or another consignado.averbacao.rejected can follow for the same numero_contrato under a different contract_id. Correlate by contract_id for each attempt.Subject: contract_idconsignado.contract.registered
consignado.contract.registered
consignado.averbacao.confirmed. An averbação without the booking block never emits it. A contract import with booking emits it without any averbação fact. A contract bought by inbound portability with booking emits it after Dataprev accepts the documentation, and consignado.averbacao.accepted does not precede it. Book a contract only from this fact.The dados_cadastrais_digest_sha256 field is the SHA-256 digest of the cadastro that the gateway stored for the contract. The gateway stores a cadastro for every contract, with at least nome_trabalhador. The field is absent only on a contract that the gateway recorded before it stored a cadastro for every contract.The signature.signed_at field is the data_hora_assinatura of the documentation. The other signature fields and both artifacts also come from the documentation, except signature.binding_method, which is always portal_attested. The identity.esocial_category and identity.admission_date fields describe the employment bond. Each comes from the averbação cadastro, or else from the latest Dataprev margin read for the same worker and employer. Each is absent when unknown.The declared_terms.origination_fee_amount and preparation fields repeat the client’s declarations from the averbação request. The gateway checks their shape and that origination_fee_amount is below principal_amount. It never looks them up. An absent origination_fee_amount means zero.On a contract booked with the booking block, principal_amount less iof_amount less origination_fee_amount equals liberated_amount. The averbação and the contract import refuse a booking that breaks this rule. They answer 422 DECLARED_TERMS_INCONSISTENT. On a contract bought by portability, liberated_amount is principal_amount less iof_amount: the payoff of the origin contracts plus the troco.The portability_in block is present only on a contract bought by portability. origins has one entry for each origin contract that the purchase paid off, in the order of booking.origins. origin_institution is the COMPE code of the origin bank with three digits, for example 001. external_operation_ref is the contract number at the origin bank. transferred_principal on an origin is the share that the client declared for that contract. On the block it is the sum of the origins. effective_at is the latest origin exclusion instant.The gateway waits while the portability status of Dataprev shows only some of the booked origins as excluded. It publishes no fact and parks the contract for an operator in two cases. Dataprev shows an excluded contract that booking.origins does not name, or the wait passes 20 calendar days from the confirmed documentation.Every amount and rate in this fact has exactly two decimal places, for example 1201.20 and 100.00.Subject: numero_contratoconsignado.disbursement.confirmed
consignado.disbursement.confirmed
numero_contratoconsignado.contract_correction.available / consignado.disbursement_correction.available
consignado.contract_correction.available / consignado.disbursement_correction.available
ce-resourcetype distinguishes the correction kind.Subject: numero_contratoconsignado.portabilidade.efetivada
consignado.portabilidade.efetivada
numero_contratoconsignado.portabilidade.rejeitada
consignado.portabilidade.rejeitada
reason_code is GW-NAO-ENVIADO when the call never left the gateway. It is OZ when Dataprev answered the competência turnover refusal and no other code. It is the Dataprev codes when the refusal proves that nothing ran. It is GW-M005-NAO-EXECUTADO when a Dataprev read made an hour after the exclusion deadline still shows the contract active. Send the exclusion again under a new key. When you close a parked exclusion as refused, reason_code is GW-BANCO-RECUSADO.Subject: numero_contratoconsignado.renegociacao.efetivada
consignado.renegociacao.efetivada
numero_contrato, replaces the closed contract, numero_contrato_encerrado, on the worker’s new employment bond. iniciada_por is always cliente: every renegotiation comes from the renegotiation operation. numero_contrato is the number that you chose. matricula and the employer inscription describe the new bond. A field that the source did not carry is absent.A recovered fact, or a fact from a close that you make, carries the terms from a Dataprev contract read and no hash_operacao.Subject: numero_contratoconsignado.renegociacao.recusada
consignado.renegociacao.recusada
numero_contrato_tentado is the new contract number that the renegotiation asked for. iniciada_por is always cliente, and refused_by is always dataprev.reason_code holds the Dataprev code, or several codes joined with a comma. The gateway also publishes this fact when the renegotiation provably did not run. reason_code is then GW-NAO-ENVIADO when the call never left the gateway, or OZ when Dataprev answered the competência turnover refusal and no other code. reason_code is GW-BANCO-RECUSADO when you close a parked renegotiation as refused.A transport fault, a code that the gateway does not recognize, or OZ next to another code publishes no fact, and the command stays parked. Read GET /v1/consignado/rail-commands for its outcome; never resend it under a new key while the outcome is unknown. Once the command is refused, the same key replays the refusal, so send the renegotiation again under a new key.Subject: numero_contrato_encerradoconsignado.exclusao.confirmed
consignado.exclusao.confirmed
1.3.0.The fact also follows when the gateway reads a contract from Dataprev and finds it already off the registry. No exclusion through the gateway is behind it. evidence_source is then m005_external_exit, and reason_code is contract_left_registry.situacao_<n> or contract_left_registry.situacao_2.origem_<n>. The contract was excluded at the portal or by another origin (situação 2), ended (situação 3), or renegotiated outside the gateway (situação 16). The gateway publishes this fact once for each contract. It has no provider_reference. motivo_exclusao is present only when the read names a reason. outcome_at is the exclusion instant of the registry, or the start of the read for an ended contract. This path runs only where the documentation follow-up or the reconciliation read is on.The gateway publishes no such fact for these contracts:- A contract in situação 15, because the debt stands. The gateway reads it again each week and publishes the fact if a later read shows another exit.
- A contract that a refinancing reversal excluded.
consignado.refinanciamento.revertidoreports it. - A contract that an exclusion or an origin-side portability exclusion through the gateway took off, or is taking off.
- A contract that a refinancing or renegotiation through the gateway replaced, unless a reversal undid it.
consignado.refinanciamento.efetivadoorconsignado.renegociacao.efetivadareports it.
numero_contrato. numero_contrato_excluido names the number that the gateway excluded, and it is absent when the two numbers are the same.Subject: numero_contratoconsignado.exclusao.rejected
consignado.exclusao.rejected
1.3.0. With evidence_source exclude_response, Dataprev refused the exclusion. reason_code is ME when it refused the declared reason, HY when it holds no loan under the identity sent, or both codes joined by a dot. The refusal does not prove that the contract left the registry. With evidence_source m005_observation, a Dataprev read showed that the contract had already left the registry in another way, and reason_code starts with contract_left_registry.. A new exclusion with the same motivo_exclusao returns the same rejection.With evidence_source gateway_refusal, the gateway refused a Lender consignado.exclusao.requested command before it called Dataprev, and nothing reached Dataprev. The fact has the numero_contrato that Lender sent, a gateway sentence in message, and no provider_reference. Its request_ref derives from the tenant and the request_ref of the command, so each command gets one fact. reason_code is one of these values:renegotiation_underway: a renegotiation of the contract has no Dataprev answer yet. Send a new command under a newrequest_refafter the renegotiation ends. The new command excludes the live number, named innumero_contrato_excluido.contract_left_registry.situacao_2.origem_2, withnumero_contrato_excluido: a renegotiation gave the contract a new number, and an exclusion asked under that number already took it off the registry. The deduction stopped. There is nothing to send again.dataprev_credential_unavailable: your Dataprev credential is missing or revoked in the gateway, and no earlier attempt exists for the command. Upload the credential, then send a new command under a newrequest_ref. Nothing runs on its own after the upload.
motivo_exclusao is a new attempt. The HTTP exclusion route never publishes this fact.Subject: numero_contratoconsignado.reconciliation.received
consignado.reconciliation.received
dataprev_escrituracao fact for each employer, contract and month. In a dismissal month it publishes only the first payroll or termination-pay record it reads for that employer, contract and month, so tipo_evento_esocial can name either.A dataprev_escrituracao fact and a dataprev_repasse fact of a contract carry originador_ref and fundo_ref at the top level when the contract has them. A party that the contract lacks is absent. portal_csv facts carry neither key.competencia is present on every source. On a dataprev_repasse fact, it is the month of the expected repasse that the record settles, or else the rail’s month. The record keeps the rail’s own competencia. The gateway holds a repasse record that names no employer or month until an expected repasse supplies them. A repasse record that names no month and carries late-payment charges stays held and is not published until you release it with a month. A termination-pay repasse record that names no month closes the termination-pay expectation of its contract, and the gateway publishes it under the month of that expectation.Subject: object_refconsignado.employment_status.reported
consignado.employment_status.reported
reason_code is the eSocial dismissal reason (Tabela 19) that Dataprev sends, as an integer without padding. Add a leading zero to get two digits, for example 2 for 02. It is absent when Dataprev sends no reason.When Dataprev reports a different dismissal date for a contract that the gateway already reported as terminated, the gateway publishes a second fact. This happens, for example, when a contract is dismissed again after an automatic migration. record_id of the second fact is the first record_id plus -YYYYMMDD, the new dismissal date. The report_ref and status do not change.Subject: record_idconsignado.afastamento.reported
consignado.afastamento.reported
SHA-256(payload)consignado.throughput.changed
consignado.throughput.changed
tenant_idconsignado.cessao.registered
consignado.cessao.registered
assignment_receivable.accepted is the only producer. The fact names the contract by numero_contrato, and cedido_by is always lender_fact. idempotency_key appears only when the contract came from an auction bid. cedido_at is the accepted_at of Lender.The gateway records no cessão, and publishes no fact, for a contract that left the registry. This covers a contract that a confirmed exclusion or an accepted portability exclusion took off. It also covers an original that an accepted refinancing or renegotiation replaced, unless a reversal undid the refinancing. It also covers a contract that a Dataprev read found excluded, ended, or renegotiated (situação 2, 3 or 16), including one whose exclusion closed as contract_left_registry.*. A contract in situação 15 can still be ceded.Subject: numero_contratoconsignado.registro_b3.registered
consignado.registro_b3.registered
camelCase property names. The gateway publishes it once per contract, with the same ce-id on every delivery.The numeroCcb field is the CCB number from the stored cadastro, or numeroContrato when the cadastro has none. The dataRegistro field is the B3 registration date, when the client sends one. The registradoEm field is the instant the gateway stored the code. The registradoPor field names the caller’s subject, when the identity carries one.A subscription scoped to an originador or a fund does not receive this fact. Only a tenant-wide subscription does.Subject: numero_contratoconsignado.repasse.overdue
consignado.repasse.overdue
repasse_missing alarm fires only after one more ANBIMA business day closes past the deadline day. The gateway judges this on its last clean rail read. due_at still carries the deadline, not the alarm instant. A deadline_uncomputable alarm gets no extra day.In a dismissal month, the gateway tracks two expected repasses for one contract: the payroll instalment, and the discount on termination pay. It alarms each one on its own. The termination-pay fact carries verbas_rescisorias: true, and its object_ref ends in /verbas-rescisorias. The payroll fact omits verbas_rescisorias.Subject: object_refconsignado.repasse.resolved
consignado.repasse.resolved
due_at, so it can arrive with no consignado.repasse.overdue before it. Do not assume that every resolved answers an overdue. In a dismissal month, the termination-pay repasse carries verbas_rescisorias: true, as on consignado.repasse.overdue.Subject: object_refconsignado.repasse.unobserved
consignado.repasse.unobserved
object_refconsignado.calendar.published
consignado.calendar.published
competencia_consultaconsignado.rail.paused
consignado.rail.paused
hold_until is the end of the first wait, not the end of the turnover.Subject: tenant/<tenant_id>consignado.rail.resumed
consignado.rail.resumed
episode has the same value as in the pause fact that it closes. A scheduled pass that started calling Dataprev at or after the instant the pause opened can close it. The gateway publishes the fact when Dataprev answers that pass without the turnover refusal (OZ). The fact never follows from time alone. When hold_until passes, probing can resume, and the fact follows the first pass that Dataprev answers.Subject: tenant/<tenant_id>consignado.refinanciamento.efetivado
consignado.refinanciamento.efetivado
contratos_refinanciados is settled, and the new contract, numero_contrato, takes their place. The gateway publishes this fact in three cases. The call that you send through the refinancing operation is accepted. The recovery pass proves that a call with a lost answer did commit. You close a parked command as accepted.A refinancing done outside the gateway publishes nothing. A subscription scoped to an originador receives this fact when originador_ref names that originador. A subscription scoped to a fund receives it when fundo_ref names that fund.novo_contrato is present when the request carried the booking block. It carries contract_id, numero_contrato, identity, declared_terms and margin_snapshot of consignado.contract.registered. declared_terms.liberated_amount is valor_pago plus the troco. Lender books the new contract only when novo_contrato is present.With the booking block, the gateway publishes this fact only on the terms Dataprev confirmed. When Dataprev shows another competência, principal, instalment, instalment count or rate, no fact follows and the command stays parked. A recovered fact, or a fact from a close that you make, takes the terms from a Dataprev contract read and carries no hash_operacao.Dedupe on tenant_id and numero_contrato. Read originador_ref and fundo_ref at the top level of the payload. They are inherited from the settled contracts when the new contract holds none of its own.Subject: numero_contratoconsignado.refinanciamento.revertido
consignado.refinanciamento.revertido
consignado.refinanciamento.efetivado listed are active again. The fact follows when a reversal that you send through the gateway is accepted, or when recovery proves one. It also follows when the daily follow-up read finds that the client reversed the refinancing on the Dataprev portal. That read covers only refinancings that the gateway accepted, for 14 days after the outcome, and only where the documentation follow-up is on. Closing a parked command never produces this fact.A revertido can arrive with no efetivado before it. The ce-id derives from the tenant and the contract, so every report of the same reversal repeats it. A subscription scoped to an originador receives this fact when originador_ref names that originador. A subscription scoped to a fund receives it when fundo_ref names that fund.Subject: numero_contratoconsignado.refinanciamento.recusado
consignado.refinanciamento.recusado
numero_contrato_tentado is the number that the refinancing asked for. The number is free again, so a later efetivado can name it.reason_code holds the Dataprev codes, joined with a comma when there are several. It is GW-NAO-ENVIADO when the call never left the gateway, and OZ when Dataprev answered the competência turnover refusal and no other code. It is GW-BANCO-RECUSADO when you close a parked command as refused.A transport fault, a code that the gateway does not recognize, or OZ next to another code publishes no fact, and the command stays parked. Read GET /v1/consignado/rail-commands for its outcome; never resend it under a new key while the outcome is unknown. Once the command is refused, the same key replays the refusal, so send the refinancing again under a new key. The fact names no party, so only a tenant-wide subscription receives it.Subject: numero_contrato_tentadoconsignado.migracao.efetivada
consignado.migracao.efetivada
data_migracao is the day, in Brasília time, of the read window that first returned the contract. When a Manual 005 contract read finds the migration, it is the day of that read, and guarantee is absent. A second migration to another bond is a new fact. The ce-id derives from the tenant and the bond, so it is stable across redelivery. Dedupe on the ce-id, not on the bond fields: the two reads spell leading zeros differently.The daily read is off by default. It runs only while DATAPREV_MIGRACAO_ENABLED is true, and the first pass after you turn it on also reports migrations of the previous 31 days. A Manual 005 contract read that the gateway makes, such as the documentation follow-up, publishes the same fact for a contract it finds migrated, with that value false too. One fact goes out for each contract and bond, whichever read saw it first. A subscription with an event-type list receives this fact only when the list names consignado_migracao.efetivada. Edit the list of a tenant subscription, or create a subscription that names it. A subscription scoped to an originador receives this fact when originador_ref names that originador. A subscription scoped to a fund receives it when fundo_ref names that fund.Subject: numero_contratocodigo_inscricao_empregador is 1 for a CNPJ and 2 for the CPF of the employer. guarantee is the guarantee that the contract holds after the migration, in the shape of consignado.contract.registered. It is absent when Dataprev sends none.consignado.rescisao.revertida
consignado.rescisao.revertida
consignado.migracao.efetivada instead. The gateway publishes the fact once, from the read that lifts the dismissal. The ce-id derives from the tenant, the contract and lido_em, so a redelivery repeats it. It never carries the CPF or the name of the worker.lido_em is the instant of the read. report_ref and record_id name the termination record that the read lifted, as consignado.employment_status.reported published it. They are absent when only a situação 15 read stood. A subscription with an event-type list receives this fact only when the list names consignado_rescisao.revertida. A subscription scoped to an originador receives it when originador_ref names that originador. A subscription scoped to a fund receives it when fundo_ref names that fund.Subject: numero_contratoconsignado.certificate.expiring
consignado.certificate.expiring
stage is 30_days once 30 days or less are left, and 7_days once 7 days or less are left. A certificate that the gateway first sees inside 7 days gets only 7_days. There is no expired stage, so an expired certificate gets no warning. A revoked custody, or a custody with no certificate, also gets none. A renewed certificate has a new fingerprint and warns again.The check runs once an hour by default, so a warning can go out up to one hour after its threshold. It is on by default. The ce-id is stable for each tenant, certificate, and stage, so you can dedupe on it. ce-time is the instant the gateway wrote the fact, not the expiry. The fact carries no certificate material and names no party, so only a tenant-wide subscription receives it.Subject: cert_fingerprintconsignado.garantia.execution_window
consignado.garantia.execution_window
opened goes out on the first pass at or after execution_from. closing goes out once, on the first pass from 00:00 in Brasília time on the 29th day after the dismissal, 48 hours before the window ends. A record that the gateway first sees on that day or later gets closing alone. execution_from is the dismissal date, or 20 days later when perc_verba_rescisoria_garantia is above 0. execution_until is 30 days after the dismissal, inclusive.The fact goes out only for a contract whose termination read names an FGTS guarantee with a non-zero balance or fine. It does not go out when an execution of the contract is claimed, executed, or of unknown outcome, when an exclusion is claimed, when a later read shows the contract is no longer ended by termination, when the gateway records the contract’s exit or migration, or after an accepted renegotiation. The ce-id derives from the tenant, the dismissal record, and stage. ce-time is the instant the gateway wrote the fact, not a deadline. A check runs once an hour by default, and it is on by default. Only a tenant-wide subscription receives this fact.Subject: numero_contratoreason_code is the eSocial dismissal code without a leading zero (2, 5, or 27). The two amounts and the percentage come from the termination read, and each is absent when Dataprev sent none.consignado.garantia.block_failed
consignado.garantia.block_failed
2) or was rejected (code 4), so the FGTS does not secure the contract. The fact is a signal only: the gateway never refuses or changes the contract.The gateway sees the block in the averbação witness read. With the documentation follow-up on, it also sees it in a daily re-read of each guaranteed contract until the block code is final. The fact goes out once for each contract, the first time the stored code is 2 or 4. It is never retracted, even if Dataprev later reprocesses the block. The ce-id derives from the tenant and the contract. A tenant-wide subscription receives this fact. A subscription scoped to a fund also receives it when fundo_ref names that fund. A subscription scoped to an originador does not receive it.Subject: numero_contratosituacao_bloqueio_garantia holds code 2 or 4 and the text that Dataprev sent beside it. observed_at is the instant of the Dataprev read that saw the block.consignado.registry.status_changed
consignado.registry.status_changed
STREAMING_EVENT_POLICIES disables this fact. Only a tenant-wide subscription receives it.Subject: <kind>/<registry_id>registry_id is the id that the originador and fund register operations return. ativo is the state after the change. Keep, for each kind and registry_id, the state that carries the latest changed_at.consignado.cotacao.resolved
consignado.cotacao.resolved
not_elected quotes included, when the pre-auction resolves. A pre-auction that resolves with no quote publishes nothing. Streaming Hub delivers it to a tenant-wide subscription. A subscription scoped to an originador also receives it when originador_ref names that originador. A subscription scoped to a fund does not receive it.Subject: id_solicitacaooriginador_ref is absent for a quote of the bancarizador’s own account. outcome is accepted when Dataprev accepted at least one proposal of the quote. It is refused when Dataprev or the gateway refused the quote, not_elected when the window closed without sending the quote, and no_answer when the gateway sent the quote and learned no answer. codigo holds the Dataprev refusal code or codes, comma separated, and is present only when Dataprev refused the quote. The two proposal numbers are the numbers that the gateway gave the proposals when it received the quote. criterio is the criterion of the window.Commands consumed from Lender
These are inbound commands, not events emitted by Consignado. They arrive onlerian.streaming.lender.commands with ce-source: lender and ce-type: studio.lerian.lender.<resource>.<event>.
Averbação and its documentation are not Lender commands. Submit both through the authenticated HTTP operations. The worker margin read is not a Lender command either. Use POST /v1/consignado/workers/margin.
Facts consumed from Lender
The gateway also acts on four Lender facts. They arrive onlerian.streaming.lender with ce-source: lender. The gateway skips every other Lender fact on that topic, and every fact for a tenant that it does not serve. A fact that the gateway cannot read lands in the consumer DLQ.
Delivery and compatibility rules
- Deduplicate by
(ce-source, ce-id)and make handlers idempotent. ce-idis a version-7 UUID. Treat it as opaque and order byce-time. Some facts derive a stablece-idfrom their business key, so every announcement of the same fact repeats it and thece-idcarries no instant.- Read
ce-schemaversionbefore decoding. The header carries the schema version, and the topic never does. - Money and rates are decimal strings. Timestamps are UTC, in RFC 3339 format. Date-only values use
YYYY-MM-DD, and competências useYYYYMM. - Unknown or unsupported inbound command keys land in the Consignado consumer DLQ.
- A missing required business identifier prevents publication or command execution. Consignado never synthesizes it.

