I am attempting to use the Meta WhatsApp business API found here: https://developers.facebook.com/docs/whatsapp/cloud-api/overview

Everything has been setup correctly as far as I can tell as I am able to send template messages with my ACCESS_TOKEN and my FROM_PHONE_NUMBER_ID to my mobile using the below:

curl -i -X POST \   https://graph.facebook.com/v14.0/FROM_PHONE_NUMBER_ID/messages \   -H 'Authorization: Bearer ACCESS_TOKEN' \   -H 'Content-Type: application/json' \   -d '{ "messaging_product": "whatsapp", "to": "MY_MOBILE", "type": "template", "template": { "name": "hello_world", "language": { "code": "en_US" } } }' 

I would now like to send a free form text message by using the example given on the above link. The example is:

curl -X POST \   'https://graph.facebook.com/v14.0/FROM_PHONE_NUMBER_ID/messages' \   -H "Authorization: ACCESS_TOKEN" \   -d '{     "messaging_product": "whatsapp",     "to": "1650XXXXXXX",     "text": {"body" : "hi"}    }' 

I use:

curl -X POST \   'https://graph.facebook.com/v14.0/MY_FROM_PHONE_NUMBER_ID/messages' \   -H "Authorization: ACCESS_TOKEN" \   -d '{     "messaging_product": "whatsapp",     "to": "MY_MOBILE",     "text": {"body" : "hi"}    }' 

This returns a valid message id with no errors however the message is never received.

Some confusing points to note: Why is there no 'Bearer' directive in the ACCESS_TOKEN, it is required for the template call. ( I have tried with and without )? Why does the example show 1650XXXXXX as the mobile number, surely it's just an example but why put the 1650 there in the first place!!! ?

Tag:facebook, whatsapp

Add a new comment.