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 below.

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

{
  "id": "afb621a5-9030-4b4d-88e8-5b80306d13350",
  "commercialInfo": "AWAITING_APPROVAL",
  "bankAccountInfo": "APPROVED",
  "documentation": "APPROVED",
  "general": "APPROVED"
}

The possible values are:

Commercial Info (commercialInfo):

  • REJECTED - Rejected
  • APPROVED - Approved
  • AWAITING_APPROVAL - The commercial data can be in this status when manual approval is required, thus they will be in the analysis queue.
  • PENDING - The commercial data are in this situation when they are not fully completed yet, for example during onboarding, where the completion occurs in stages.

Bank Account Info (bankAccountInfo):

  • PENDING - Data not yet submitted
  • APPROVED - Approved
  • REJECTED - Rejected

Documentation (documentation):

  • PENDING - Documentation not yet submitted
  • APPROVED - Approved
  • REJECTED - Rejected
  • AWAITING_APPROVAL - When all requested documents are submitted and automatic approval was not possible, this status is used, and they will also be in the analysis queue.

General Approval (general):

  • PENDING - General approval will be in this status if the commercial data or documentation is in PENDING, AWAITING_APPROVAL, or REJECTED.
  • APPROVED - Account approved
  • REJECTED - Account rejected
  • AWAITING_APPROVAL - This status is used when all other statuses are approved, but general approval could not be done automatically. It will be in the queue waiting for manual analysis.

📘

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

📘

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.