facebook graph api - Receiving Whatsapp Messages From 2 different Numbers - Stack Overflow

currently I have a node js server which Listens for incoming messages and sending a response to the cli

currently I have a node js server which Listens for incoming messages and sending a response to the client based on his msg content .

  • I have a Verified Business account, Whatsapp business account + phone number set and a webhook set for my node js server

I am now trying to expand it and to Listen for 2 whatsapp numbers . meta allows to set only one webhook per "app" which I think there is my problem . after creating a new app , and associated it to the same business account which has 2 whatsapp phone numbers , I still Can't listen to the 2nd number .

This is the current code which runs :

const RecievedMessage = (req,res)=> {
    try {
        var entry = (req.body["entry"])[0];
        var changes = (entry["changes"])[0];
        var value = changes["value"];
        var messageObject = value["messages"];
        if (typeof messageObject != "undefined"){
            var messages = messageObject[0];
            var number = messages["from"];
            var msgid = messages["id"];

            var text = getTextUser(messages); // getting the usr message
            if(text != ""){
              processMessage.Process(text,number,msgid); 
            }
        }
        myConsole.log(text);
        res.send("EVENT_RECEIVED")
    }catch(error) {
        myConsole.log(error);
        res.send("EVENT_RECEIVED")
    }
}    

for the webhooks I set 2 different endpoints one on each app: /whatsapp /whatsapp2

the verify function :

 const VerifyToken = (req,res) => {
    try {
        const keyValuePairs = req._parsedOriginalUrl.query.split('&');
        const parsedValues = {};
        
        keyValuePairs.forEach(pair => {
            const [key, value] = pair.split('=');
            parsedValues[key] = value;
        });
        
             var accessToken = 'token';
             var token = parsedValues['hub.verify_token'];//req._parsedOriginalUrl.query["hub.verify_token"];
             var challenge = parsedValues['hub.challenge'];//req._parsedOriginalUrl.query["hub.challenge"]
        
             if(challenge !=null && token != null && token == accessToken) {
                res.send(challenge);
             } else {
                 res.status(400).send();
             }
        
           } catch(error) {
            res.status(400).send();
           }
}   

express routes

app.get('/whatsapp',async(req,res)=> {
   try {
const keyValuePairs = req._parsedOriginalUrl.query.split('&');

const parsedValues = {};

keyValuePairs.forEach(pair => {
    const [key, value] = pair.split('=');
    parsedValues[key] = value;
});

const hubMode = parsedValues['hub.mode'];
const hubChallenge = parsedValues['hub.challenge'];
const hubVerifyToken = parsedValues['hub.verify_token'];


     var accessToken = 'token';
     var token = parsedValues['hub.verify_token'];
     var challenge = parsedValues['hub.challenge'];

     if(challenge !=null && token != null && token == accessToken) {
        res.send(challenge);
     } else {
         res.status(400).send();
     }

   } catch(error) {
    res.status(400).send();
   }
})  
 
 app.get('/whatsapp2',async(req,res)=> {
   try {
const keyValuePairs = req._parsedOriginalUrl.query.split('&');

const parsedValues = {};

keyValuePairs.forEach(pair => {
    const [key, value] = pair.split('=');
    parsedValues[key] = value;
});

const hubMode = parsedValues['hub.mode'];
const hubChallenge = parsedValues['hub.challenge'];
const hubVerifyToken = parsedValues['hub.verify_token'];

     var accessToken = 'token';
     var token = parsedValues['hub.verify_token'];
     var challenge = parsedValues['hub.challenge'];//req._parsedOriginalUrl.query["hub.challenge"]

     if(challenge !=null && token != null && token == accessToken) {
        res.send(challenge);
     } else {
         res.status(400).send();
     }

   } catch(error) {
    res.status(400).send();
   }
})  

I am sure I'm not the first one which need a multi-phone number setup for a Whatsapp chatbot Thanks everyone , cheers

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1742308842a4419483.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信