Posts tagged with whatsapp

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?

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.

Facebook has the following API -

https://graph.facebook.com/API_VERSION/me?fields=FIELDS&access_token=ACCESS_TOKEN 

Does WhatsApp have a similar API where I can get all account information, such as phone number ID and business account ID, by using only the access token and nothing else? I have searched the official documentation and all the APIs I have come across either use the business account ID or the phone number ID to retrieve account information.

I would really appreciate any suggestions provided. Thank you.

I am trying to send WhatsApp message, using WhatsApp Business API and GraphQL.

But I am getting this error:

Failed to send message to :  {     "error":{         "message":"(#132012) Parameter format does not match format in the created template",         "type":"OAuthException",         "code":132012,         "error_data": {             "messaging_product":"whatsapp",             "details":"header: Format mismatch, expected IMAGE, received UNKNOWN"         },         "fbtrace_id":"AyPLLsvyikPmg66DWF_ZfYU"     } } 

This is the code I have written. And also I am sharing the message structure.

import requests import openpyxl access_token = "" template_name = "healthy_sports_b2s_2"  # Replace with your template name language_code = "en" wb = openpyxl.load_workbook("numbers.xlsx") sheet = wb.active for row in sheet.iter_rows(min_row=2, values_only=True):     customer_number = row[0]     url = f"https://graph.facebook.com/v17.0/XXXXXXXXXXXXXXX/messages"     headers = {         "Authorization": f"Bearer {access_token}",         "Content-Type": "application/json",     }     message_payload = {         "messaging_product": "whatsapp",         "to": customer_number,         "type": "template",         "template": {"name": template_name, "language": {"code": language_code}},         "components": [             {                 "parameters": [                     {                         "type": "template",                         "image": {                             "link": "https://res.cloudinary.com/dapnrioqr/image/upload/v1691648851/02_wgucrp.jpg"                         },                     }                 ]             }         ],     }     response = requests.post(url, json=message_payload, headers=headers)     if response.status_code == 200:         print(f"Message sent to {customer_number}")     else:         print(f"Failed to send message to {customer_number}: {response.text}") 

What can I do to solve this

This is the actual message

I am working on implementing a custom WhatsApp API integration to send verification codes to users on WhatsApp. I have already been approved for access to the WhatsApp Business API and obtained the necessary credentials.

Now, I want to send verification codes to users through WhatsApp using my custom integration. But I don't have any idea that how to do that?

I just wanna know How do I generate a random verification code in my application without getting any bugs?

And also I wanna know Which WhatsApp API endpoints should I use to send the verification code as a text message?

I was expecting a the most suitable way to do these things without getting any bugs