Skip to main content
Onboarding reports every step by webhook, so your system can follow a merchant from the affiliation’s creation to its approval without polling. This page covers the affiliation statuses as onboarding uses them and the events each building block sends.

Affiliation statuses

The status set is the affiliation set you already use. WAITING_DOCUMENTS covers the collection Rinne does before submitting and a provider’s request for more on an open affiliation, and CANCELLED ends an attempt that waited too long or that you cancelled. Every transition between them is drawn in the affiliation lifecycle. What each one means for onboarding, and what you do: INVALID_SETTLEMENT_BANK_ACCOUNT, BLOCKED and CLOSED work as described in Affiliations.

CANCELLED

An affiliation becomes CANCELLED in two ways, recorded in cancellation_reason: CANCELLED is terminal: nothing moves the affiliation out of it. Its link is abandoned, so nothing completed through it afterwards applies to the cancelled affiliation, while documents, verifications and answers stay with the merchant and satisfy its next affiliation. When an attempt the provider had already received is cancelled, the provider’s process can stay open on its side, and its later result is ignored. At CELCOIN, a new affiliation for the same CNPJ or CPF is created normally and collects what is pending in WAITING_DOCUMENTS; once nothing is pending, it waits as PENDING until that process ends, at most 33 days after the cancelled attempt was submitted. At CAPPTA nothing is held: the new affiliation is submitted as soon as its requirements are satisfied.

Cancel an affiliation

Cancel an affiliation that is waiting for documents to start over, for example after correcting the merchant’s data:
cURL
The call takes no body and answers 200 with the affiliation CANCELLED, cancellation_reason REQUESTED and onboarding_url null, and affiliation.status-changed fires. Any status other than WAITING_DOCUMENTS answers 409, whose message names the status found: once submitted, the provider decides. A status change racing the cancel answers 409 too, and when the affiliation is back in WAITING_DOCUMENTS by then, the message asks you to retry. Organizations onboarding themselves call POST /v1/affiliations/{id}/cancel. Both routes require the affiliation.edit permission (merchant.affiliation.edit on the merchant route).

Events

Every event uses the standard webhook envelope and is delivered at least once, so deduplicate by the envelope id. Events about a merchant reach the merchant’s own endpoint, when it has one, and its organization’s. The handlers below run inside the verified handler of the webhooks guide, after the signature check.

Affiliation requirements changed

Fires when the merchant’s requirements for the affiliation’s provider change while the affiliation is not ACTIVE: Rinne reviewed a rejection or a provider’s request, Rinne staff added a requirement, or an approved biometric verification has to be redone. When the change also sends the affiliation back to WAITING_DOCUMENTS, affiliation.status-changed fires as well.
Event (entity trimmed)
changed_requirement_ids lists the requirements whose evidence was refused, the ones the review added, or the biometric one sent back to PENDING. It is empty when the review recorded reasons that reset nothing (FIX_COMPANY_DATA, NONE). entity is the affiliation as GET /v1/affiliations/{id} returns it, without company_snapshot.

Onboarding document status changed

Fires on every document status change after creation: an upload completed (NOT_VALIDATED), an affiliation that sent it was approved (VALIDATED), a provider refused it (REJECTED, with rejections), or a newer upload replaced it (SUPERSEDED). A document shared from another organization arrives VALIDATED with old_status null.
Event (entity trimmed)

Biometric verification status changed

Fires when a verification leaves PENDING: APPROVED, REPROVED with rejection_reason, or EXPIRED. It reaches the merchant the verification was created for and, when that merchant is not your organization itself, your organization too.
Event (entity trimmed)

Next steps

Webhooks guide

Endpoint setup, signature verification and retries.

Test in the sandbox

Drive each status on purpose.