Ошибка 404 при отправке сообщения шаблона WhatsApp с переменной в Node.js

Я пытаюсь отправить сообщение шаблона WhatsApp, используя API потока, как описано в этом руководстве. Шаблон отправляется правильно, если в теле нет переменной, но завершается с ошибкой 404, когда я добавляю переменную. Вот цитата моего кода Node.js:


let from = req.body.entry[0].changes[0].value.messages[0].from;

let flowtest= {
    messaging_product: "whatsapp",
    recipient_type: "individual",
    to: from,
    type: "template",
    template: {
        name: "flowtest",
        language: {
            code: "ar",
        },
        components: [
            {
                type: "body",
                parameters: [
                    {
                        type: "text",
                        text: from,
                    },
                ],
                type: "button",
                sub_type: "flow",
                index: "0",
            },
        ],
    },
};

Я следовал официальной документации и создал полезную нагрузку сообщения, как показано выше. Запрос работает без ошибок, если тело сообщения не содержит переменных. Однако добавление переменной в компонент тела шаблона (как показано в коде) приводит к сбою запроса.

Я ожидал, что сообщение будет успешно отправлено с переменной (в данном случае from), включенной в тело сообщения, как указано.

Когда я пытаюсь отправить сообщение с включенной в тело переменной, я получаю следующую ошибку:

Error sending message: Request failed with status code 404

Может ли кто-нибудь помочь мне понять, почему возникает эта ошибка и как ее исправить?

🤔 А знаете ли вы, что...
С Node.js можно легко создавать средства автоматизации задач и сценарии на сервере.


85
1

Ответ:

Решено

Переменные для потока и тела шаблона задаются отдельно. Попробуйте что-нибудь вроде этого

{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": from,
"type": "template",
"template": {
    "name": "flowtest",
    "language": {
        "code": "ar"
    },
    "components": [
        {
            "type": "body",
            "parameters": [
                {
                    "type": "text",
                    "text": from
                }
            ]
        },
        {
            "type": "button",
            "sub_type": "flow",
            "index": "0",
            "parameters": [
                {
                    "type": "action",
                    "action": {
                        "flow_token": "FLOW_TOKEN",
                        "flow_action_data": initialData
                    }
                }
            ]
        }
    ]
}

}