Onboarding and sending documents via link

After having the account created, it's necessary to send the documents for it to be approved. In this flow, you will understand how to send your client to an Asaas URL to continue their onboarding.

Sending via link is the easiest way to onboard your clients. Following this flow, a unique link will be generated for each document, without showing the Asaas logo, where the client can attach their document and also go through the selfie flow for facial recognition.

The process is summarized in the following steps:

🚧

Remember:

The White Label format needs to be previously aligned and implemented by your account manager. Creating Asaas accounts using the methods listed below without a prior definition of operation in the White Label format will result in the creation of subaccounts outside this structure.

In Sandbox, to test, just contact Support and request the release.

Sending the account documentation

For the account analysis, it's necessary to send the documentation. With the document upload, the account will go under review to be completed within up to 48 hours.

For PF, MEI, LTDA, or Individual accounts, it's necessary to send identification document (RG, CPF, or CNPJ), and a selfie of the holder/managing partner. The onboarding will be conducted through an external link, whose URL will be returned in the onboardingUrl attribute within the respective ID.

The returned URL uses the domain https://cadastro.io/ and does not show the Asaas logo at any time, everything is done transparently for the user.

For Association accounts, in addition to the external onboarding, the sending via API of additional documents, which can be consulted at the endpoint, will be necessary.

📘

If one of the documents sent via the external link is rejected, a new link will be generated.

  • Depending on the conditions of the analysis, it's possible that additional documents may be requested by Asaas. In this case, document groups with the type CUSTOM and their description in the description attribute will be opened.

The situation of the document analysis and the overall approval of the registration can be followed through the Account Situation Webhooks.

GET /v3/myAccount/documents
Check the complete reference of this endpoint

🚧

Attention

After creating a subaccount, set a timeout of 15 seconds before making the call to this endpoint.

If the call to check the subsequent documents is made in sequence to the account creation, you will likely be informed that non-mandatory documents need to be sent because the creation and validation of the account with the federal revenue have not been completed yet.

The time is only necessary for the validation, data capture, and account creation.

This query will return an Array with the list of documents necessary for the approval of your Asaas account and their respective links for sending through the onboardingUrl field.

Having them in hand, just redirect your client to the link so they can send the documents.

Sending documents that do not have onboardingUrl

Each document group has a specific id, which should be used in the "Send document" API to upload the respective document if not via external onboarding. You can send more than one document per document group.

POST /v3/myAccount/documents/{id}
Check the complete reference of this endpoint/

{  
    "documentFile": [<file>],  
    "type": "IDENTIFICATION",  
}

📘

After the document is sent, this document will have a specific id for it, and through this id, you can remove the sent document (and not by the id of the document group).

Example of the GET return after you have sent all documents

After sending all the documents, the response should return as follows:

{
    "rejectReasons": null,
    "data": [
        {
            "id": "172ed152-4fa4-43ad-9b69-39c323e9526c",
            "status": "PENDING",
            "type": "MINUTES_OF_ELECTION",
            "title": "Minutes of the last board election",
            "description": "No description",
            "responsible": {
                "name": null,
                "type": "ASSOCIATION"
            },
            "documents": [
                {
                    "id": "d6a55791-7b8b-4014-8457-a453c6e5afd5",
                    "status": "PENDING"
                }
            ]
        },
        {
            "id": "da90162b-61ea-48a1-bf73-4638e079043a",
            "status": "PENDING",
            "type": "IDENTIFICATION",
            "title": "Identification documents",
            "description": "RG or CNH will be accepted.",
            "responsible": {
                "name": "presidente",
                "type": "DIRECTOR"
            },
            "documents": [
                {
                    "id": "eb879e06-5fae-44e9-a88d-c5a428945dec",
                    "status": "PENDING"
                },
                {
                    "id": "88eaed70-bea6-45ff-ad99-dbea9469f725",
                    "status": "PENDING"
                }
            ]
        },
        {
            "id": "da90162b-61ea-48a1-bf73-4638e079043a",
            "status": "PENDING",
            "type": "IDENTIFICATION_SELFIE",
            "title": "Identification selfie",
            "description": "Director's selfie",
            "responsible": {
                "name": "presidente",
                "type": "DIRECTOR"
            },
            "documents": [
                {
                    "id": "0f059fe4-7c7b-4dac-b936-41e9430b380a",
                    "status": "PENDING"
                }
            ]
        }
    ]
}

Other available endpoints

View sent document

GET /v3/myAccount/documents/files/{id}
Check out the complete reference of this endpoint

Update sent document

POST /v3/myAccount/documents/files/{id}
Check out the complete reference of this endpoint

Remove sent document

DELETE /v3/myAccount/documents/files/{id}
Check out the complete reference of this endpoint

Consult account registration status

If the webhooks for updating the registration status have not been implemented and/or you want to carry out the consultation individually, it can be done by requesting the endpoint mentioned above.

The possible values are: NOT_SENT, PENDING, AWAITING_APPROVAL, APPROVED, and REJECTED.

GET /v3/myAccount/status
Check out the complete reference of this endpoint

📘

The account will be 100% approved when the return of the general attribute is APPROVED.

Updating commercial data

In some cases, the commercial data may be inconsistent, and you need to update it, this can be done through the endpoint to update the commercial data of the account.

PUT /v3/myAccount/commercialInfo
Check out the complete reference of this endpoint

{
    "personType": "LEGAL",
    "cpfCnpj": "66625514000140",
    "birthDate": null,
    "companyType": "MEI",
    "email": "[email protected]",
    "phone": "11 32300606",
    "mobilePhone": "11 988451155",
    "postalCode": "89223005",
    "address": "Av. Rolf Wiest",
    "addressNumber": "659",
    "complement": "Room 201",
    "province": "Bom Retiro",
}

After the update, a new analysis will be carried out.

Proof of life

Proof of life is when Asaas confirms that the person using the account is a real person and releases the use of all products. Initially, the account will only be enabled to create charges and make transfers.

In the document submission flow via link, the proof of life happens with the process of sending a Selfie and approval, in 90% of cases, happens within 5 minutes.