The "App Review" process requires registering your phone number using a verified certificate (see screenshot).

1. Obtain the phone certificate

I obtained the certificate through this link: WhatsApp Manager > Phone numbers
https://business.facebook.com/latest/whatsapp_manager/phone_numbers/?business_id=1234&asset_id=1224&nav_ref=whatsapp_manager&tab=phone-numbers&psp_linking_success=0&is_from_mbs=1

2. WhatsApp requires to register the phone using an /v1/account endpoint

The WhatsApp system requests that you send a POST request to the /v1/account endpoint, as described in the WhatsApp Business Platform > On-Premises API > Reference
https://developers.facebook.com/docs/whatsapp/on-premises/reference/account/

3. Attempt to call the /v1/account endpoint

I attempted to call the endpoint using this URL:
https://graph.facebook.com/v1/account
The body of the request follows the format defined in the API documentation 2.

Here is the body of the POST request:

POST /v1/account {     "cc": "COUNTRY_CODE",     "phone_number": "PHONE_NUMBER_WITHOUT_COUNTRY_CODE",     "method": "sms" or "voice",     "cert": "VERIFIED_NAME_CERT_IN_BASE64",     "pin": "EXISTING_6_DIGIT_PIN"  # required if two-step verification is enabled } 

4. Error message got after calling /v1/account endpoint

I get the follow error

{     "error": {         "message": "Unknown path components: /account",         "type": "OAuthException",         "code": 2500,         "fbtrace_id": "1234"     } } 

Tag:whatsapp-cloud-api, facebook-appreview

5 comments.

  1. Abdelkrim

    The /v1/account endpoint is not working because this is the endpoint to use when you use the on-premise WhatsApp server

    I guess that the correct endpoint is {PHONE_NUMBER_ID}/register

    https://developers.facebook.com/docs/whatsapp/cloud-api/reference/registration/

    PS: WhatsApp documentation leads mistakenly to the /v1/account :-(

  2. christian

    now you should do a POST request to: https://graph.facebook.com/{{Version}}/{{Phone-Number-ID}}/register EDIT: and the body:

    { "messaging_product": "whatsapp", "pin": "<your-6-digit-pin>" }

    do not forget to add your bearer token before making the request!

  3. Alex
    $ch = curl_init(); $data = array( "cc" => "COUNTRY_CODE", "phone_number" => "PHONE_NUMBER_WITHOUT_COUNTRY_CODE", "method" => "sms", // or "voice" "cert" => "VERIFIED_NAME_CERT_IN_BASE64", "pin" => "EXISTING_6_DIGIT_PIN" // required if two-step verification is enabled ); curl_setopt($ch, CURLOPT_URL, "https://graph.facebook.com/v1/account"); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json' )); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); if (curl_errno($ch)) { echo 'Error:' . curl_error($ch); } else { echo $response; } curl_close($ch);

    Exact same thing. Code above results in:

    {"error":{"message":"Unknown path components: \/account","type":"OAuthException","code":2500,"fbtrace_id":"APrxxxxxxxxxxxxxlxux"}}
    1. Abdelkrim

      I think that the new endpoint to use is developers.facebook.com/docs/whatsapp/cloud-api/reference/…

    2. Alex

      Correct. I wanted to write here back the same. Starting process from scratch and flowing WhatsApp Cloud API instruction helped !!! :)

Add a new comment.