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:
- Creating an Asaas account with Webhooks being configured
- Sending the account documentation
- Consulting the registration situation of the account
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 thedescription
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
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 thisid
, you can remove the sent document (and not by theid
of the document group).
Example of the GET
return after you have sent all documents
GET
return after you have sent all documentsAfter 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
- RejectedAPPROVED
- ApprovedAWAITING_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 submittedAPPROVED
- ApprovedREJECTED
- Rejected
Documentation (documentation
):
PENDING
- Documentation not yet submittedAPPROVED
- ApprovedREJECTED
- RejectedAWAITING_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 inPENDING
,AWAITING_APPROVAL
, orREJECTED
.APPROVED
- Account approvedREJECTED
- Account rejectedAWAITING_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 isAPPROVED
.
The account will be 100% approved when the return of the
general
attribute isAPPROVED
.
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.
Updated 6 months ago