Posts under category Facebook WhatsApp Business API

I am a developer. working on a project where I need to integrate my site with WhatsApp API to send messages. Moreover, I want my various clients can send messages to their respective audiences with their own numbers. How can I achieve that?

I have checked only BSPs can create a WhatsApp Business platform on WhatsApp cloud API. BSPs can provide such a solution. However, there is no mention of how to integrate or embed the form with the website so clients can fill and register themselves.

I want to send an automatic message to a user that completes a webform. As I can't do it from Whatsapp App nor Whatsapp Business App, I had to suscribe to Whatsapp Business Platform (and add a number that can't be used in Whatsapp/Whatsapp Business App). Now I can send message through the API and receive the reply in a webhook. However, I want to have them on the regular app and reply it just from the phone as usual. Can this be done? Or I need to develop a messaging platform just for this?

{     "error": {         "message": "(#132001) Template name does not exist in the translation",         "type": "OAuthException",         "code": 132001,         "error_data": {             "messaging_product": "whatsapp",             "details": "template name (message_request) does not exist in en_US"         },         "fbtrace_id": "A_EjJh2lU36b3yKxpX9q8WD"     } } 

We have successfully created a message template having 2 buttons in WhatsApp manager under meta business settings.

Name of the template: message_request  Language: English (US) Status: Active – Quality pending 

While trying the graph API to send message to user, we get error.

Request:

{   "messaging_product": "whatsapp",   "recipient_type": "individual",   "to": "913456666661",   "type": "template",   "template": {         "name": "message_request",         "language": {             "code": "en_US"         }   } } 

Response:

{     "error": {         "message": "(#132001) Template name does not exist in the translation",         "type": "OAuthException",         "code": 132001,         "error_data": {             "messaging_product": "whatsapp",             "details": "template name (message_request) does not exist in en_US"         },         "fbtrace_id": "A_EjJh2lU36b3yKxpX9q8WD"     } } 

What is causing this issue?

I am creating a whatsapp business api app that replies to whatsapp messages with a messages I have received from my API. However, it is triggerring multiple times after the initial messages has been sent.

app.post("/webhook", (req, res) => {   // Parse the request body from the POST   let body = req.body;   // Check the Incoming webhook message   console.log(JSON.stringify(req.body, null, 2));   // info on WhatsApp text message payload: https://developers.facebook.com/docs/whatsapp/cloud-api/webhooks/payload-examples#text-messages   if (req.body.object) {     if (       req.body.entry &&       req.body.entry[0].changes &&       req.body.entry[0].changes[0] &&       req.body.entry[0].changes[0].value.messages &&       req.body.entry[0].changes[0].value.messages[0]     ) {       let phone_number_id =         req.body.entry[0].changes[0].value.metadata.phone_number_id;       let from = req.body.entry[0].changes[0].value.messages[0].from; // extract the phone number from the webhook payload       let msg_body = req.body.entry[0].changes[0].value.messages[0].text.body; // extract the message text from the webhook payload      axios({     method: "POST",     url: API_URL,     data: {       id: phone_number_id,       question: msg_body,       email: "N/A",       conversation: [],       save: true,       resolved: "N/A",       ads: 0,     },     headers: {       "Content-Type": "application/json",       "x-api-key": process.env.API_KEY,     },   })     .then(apiResponse => {       if (apiResponse.status !== 200) {         throw new Error(`Request failed with status ${apiResponse.status}`);       }       return apiResponse.data;     })     .then(responseData => {       console.log(responseData);        axios({             method: "POST",             url: END_POINT_URL             headers: {               "Content-Type": "application/json",               Authorization: TOKEN,             data: {               to: from,                type: "text",               text: {                 preview_url: false,                 body: responseData.answer,                },               messaging_product: "whatsapp",               recipient_type: "individual"             },           })           .then(() => {             // Confirm the message has been sent             res.status(200).end();           })           .catch((error) => {             console.error("Error sending WhatsApp message: ", error);             res.status(500).end();           });     })     .catch(error => {       console.error(error);       res.status(500).json({         message: "An error occurred while chatting.",       });     });     }       }  }); 

I have tried debugging but to no avail, sometimes the messages are sent at super random periods too

I am trying to return a response generated from an API call via whatsapp through the use of the Whatsapp business cloud API and a webhook. I can log the message and it is correct however when I return it by using the webhook it does not then get sent in Whatsapp. Here is my code:

app.post("/webhook", (req, res) => {   // Parse the request body from the POST   let body = req.body;   // Check the Incoming webhook message   console.log(JSON.stringify(req.body, null, 2));   // info on WhatsApp text message payload: https://developers.facebook.com/docs/whatsapp/cloud-api/webhooks/payload-examples#text-messages   if (req.body.object) {     if (       req.body.entry &&       req.body.entry[0].changes &&       req.body.entry[0].changes[0] &&       req.body.entry[0].changes[0].value.messages &&       req.body.entry[0].changes[0].value.messages[0]     ) {       let phone_number_id =         req.body.entry[0].changes[0].value.metadata.phone_number_id;       let from = req.body.entry[0].changes[0].value.messages[0].from; // extract the phone number from the webhook payload       let msg_body = req.body.entry[0].changes[0].value.messages[0].text.body; // extract the message text from the webhook payload      axios({     method: "POST",     url: API_URL,     data: {       id: phone_number_id,       question: msg_body,       email: "N/A",       conversation: [],       save: true,       resolved: "N/A",       ads: 0,     },     headers: {       "Content-Type": "application/json",       "x-api-key": process.env.API_KEY,     },   })     .then(apiResponse => {       if (apiResponse.status !== 200) {         throw new Error(`Request failed with status ${apiResponse.status}`);       }       return apiResponse.data;     })     .then(responseData => {       console.log(responseData);       res.status(200).json({         message: responseData.answer,       });     })     .catch(error => {       console.error(error);       res.status(500).json({         message: "An error occurred while chatting.",       });     });     }       }  }); 

As you can see I am console logging the responseData and it is showing me a good response. But as mentioned when I return it it does not then get sent to the whatsapp phone number that it received the initial post request from.

I am trying to achieve this whole process by using Meta For Developers and their docs for the Whatsapp business Cloud API but can't figure it out.