This feature is currently only available to approved Select Solution and Premier Solution Partners. See our Sign up for partner-led business verification Help Center article to learn how to request approval.
This document describes how to create business verification submissions for business customers who have been onboarded via Embedded Signup.
If you are an approved Solution Partner, you can gather required business verification documentation from your onboarded business customers and submit their business for verification on their behalf. Decisions on submissions created in this way can be made in minutes instead days.
owner_business_info field
on the customer's WABA ID, using their business token)You are limited to three submissions for a given business customer. If all three submissions are rejected, the customer must complete business verification on their own. If your submission is rejected three times, share the following Help Center article with the customer:
If you need help with partner-led business verification, open a Direct Support ticket:
See the following Help Center article for a list of business documents that we will accept:
The average turnaround time for a submission is 5 minutes, but can take several hours. If you do not receive a webhook notifying of the outcome of a submission after 24 hours, please open a Direct Support ticket.
Submission decisions are communicated via account_update webhook, so make sure your app is subscribed to the account_update webhook field, and your app is subscribed to webhooks on the business customer's WhatsApp Business Account.
{ "entry": [ { "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>", "time": <WEBHOOK_SENT_TIMESTAMP>, "changes": [ { "value": { "event": "PARTNER_CLIENT_CERTIFICATION_STATUS_UPDATE", "partner_client_certification_info": { "client_business_id": "<CUSTOMER_BUSINESS_PORTFOLIO_ID>", "status": "<STATUS>", "rejection_reasons": [ "<REJECTION_REASONS>" ] } }, "field": "account_update" } ] } ], "object": "whatsapp_business_account" }
Placeholder | Description | Example value |
---|---|---|
| Business customer's business portfolio ID. |
|
| Description of rejection reasons. Note that this parameter will be present even if the submission was rejected, but its value will be set to See the |
|
| Business verification status. Values can be:
|
|
| Business customer's WABA ID. |
|
| Unix timestamp indicating when the webhook was sent. |
|
Use the POST /<BUSINESS_PORTFOLIO_ID>/self_certify_whatsapp_business endpoint to initiate business verification for a business customer who has onboarded via your implementation of Embedded Signup.
curl 'https://graph.facebook.com/v21.0/<BUSINESS_PORTFOLIO_ID>/self_certify_whatsapp_business' \ -H 'Authorization: Bearer <SYSTEM_TOKEN>' \ -F 'end_business_id="<CUSTOMER_BUSINESS_PORTFOLIO_ID>"' \ -F 'business_documents[]=@"<DOCUMENT_PATH>"' \ -F 'business_documents[]=@"<DOCUMENT_PATH>"' \ -F 'business_documents[]=@"<DOCUMENT_PATH>"'
Placeholder | Description | Example value |
---|---|---|
| Required. Your business portfolio ID. |
|
| Required. The customer's business portfolio ID. |
|
| Required. Path to the customer's business document that you are submitting on their behalf. You can submit a maximum of 3 documents (the example request above submits 3). Use one parameter per document. The maximum size of each document is 5 MB. Supported file types:
See our Upload official documents to verify your business Help Center article for documents we will accept. |
|
| Required. Your system user access token. |
|
Upon success:
{ "success": true, "message": "Your request has been received and will be reviewed shortly.", "verification_attempts": <VERIFICATION_ATTEMPTS> }
Placeholder | Description | Example value |
---|---|---|
| Count of business verification submissions you have initiated on behalf of the business customer. |
|
Use the GET /<BUSINESS_PORTFOLIO_ID>/self_certified_whatsapp_business_submissions endpoint to get the verification status of submissions you have created for a single business customer, or for all of your business customers.
curl 'https://graph.facebook.com/v17.0/<BUSINESS_PORTFOLIO_ID>/self_certified_whatsapp_business_submissions?fields=end_business_id=<CUSTOMER_BUSINESS_PORTFOLIO_ID>' \ -H 'Authorization: Bearer <SYSTEM_TOKEN>'
Placeholder | Description | Example value |
---|---|---|
| Optional. The customer's business portfolio ID. Include this parameter if you only want to get data on submissions you have created for the business identified by the customer's business portfolio ID. |
|
| Required. Your system user access token. |
|
Upon success, the endpoint returns an array of WhatsApp Business Partner Client Verification Submission nodes, with default fields on each node.
{ "data": [ // Structure for pending or approved submissions { "verification_status": "<VERIFICATION_STATUS>", "submitted_time": "<SUBMISSION_TIMESTAMP>", "update_time": "<UPDATE_TIMESTAMP>", "client_business_id": "<CUSTOMER_BUSINESS_PORTFOLIO_ID>", "submitted_info": { "business_vertical": "<CUSTOMER_BUSINESS_VERTICAL>" }, "id": "<SUBMISSION_ID>" }, // Structure for rejected submissions { "verification_status": "<VERIFICATION_STATUS>", "rejection_reasons": [ "<REJECTION_REASON>", "<REJECTION_REASON>" ], "submitted_time": "<SUBMISSION_TIMESTAMP>", "update_time": "<UPDATE_TIMESTAMP>", "client_business_id": "<CUSTOMER_BUSINESS_PORTFOLIO_ID>", "submitted_info": {}, "id": "<SUBMISSION_ID>" }, // Additional objects describing each submission would follow ], "paging": { "cursors": { "before": "<BEFORE_CURSOR>", "after": "<AFTER_CURSOR>" }, "next": "<URL_TO_FETCH_NEXT_RESULT_SET>" } }
See the WhatsApp Business Partner Client Verification Submission node reference for descriptions of returned fields and parameter values.
If you wish, you can use the GET /<BUSINESS_PORTFOLIO_ID> endpoint and request the verification_status
field on the customer's business portfolio ID to see its verification status (alternatively, you can request the business_verification_status
field on the customer's WABA ID using their business token).
curl 'https://graph.facebook.com/v21.0/<BUSINESS_PORTFOLIO_ID>?fields=verification_status' \ -H 'Authorization: Bearer <BUSINESS_TOKEN>'
Placeholder | Description | Example value |
---|---|---|
| Required. The customer's business portfolio ID. |
|
| Required. The customer's business token. |
|
{ "verification_status": "<VERIFICATION_STATUS>", "id": "<BUSINESS_PORTFOLIO_ID>" }
Placeholder | Description | Example value |
---|---|---|
| The business customer's business portfolio ID. |
|
| The busines portfolio's verification status. See the |
|