【问题标题】:Twilio SMS (Whatsapp): Send LocationTwilio SMS (Whatsapp):发送位置
【发布时间】:2026-01-08 05:15:02
【问题描述】:

我在 Twilio 中看到了一项新功能的文档(发送位置)。我按照文档作为测试,但它没有出现在 Whatsapp 中。

context.getTwilioClient().messages.create({
                from: 'whatsapp:' + context.WHATSAPP_NUMBER,
                body: "Office Location",
                persistentAction: ['geo:37.787890,-122.391664'],
                to: event.From
            }).then(message => {
                callback(null);
            }).catch(err => callback(err));

Whatsapp 中显示正文“Office Location”,但persistentAction 中不显示。

【问题讨论】:

    标签: twilio twilio-api twilio-programmable-chat


    【解决方案1】:

    找到解决方案:

    我创建了一个单独的 lambda 函数,并使用我在 Lex 中使用的 lambda 函数来调用它:

    //index.js
    
    const axios = require("axios");
    const dotenv = require("dotenv");
    dotenv.config();
    
    function main(params) {
        const authToken = '***';
        const authSID = '***';
        const url = 'https://api.twilio.com/2010-04-01/Accounts/ACCOUNT_SID/Messages.json';
    
        const messageBody = {
            Body: params.name,
            From: "whatsapp:+14155238886",
            PersistentAction: params.location,
            To: "whatsapp:" + params.phoneNumber
        };
    
        return new Promise((resolve, reject) => {
            axios.post(url, new URLSearchParams(messageBody), {
                auth: {
                    username: authSID,
                    password: authToken
                }
            }).then(response => {
                console.log(response.data.sid);
                resolve("Success")
            }, error => {
                console.log(error);
                reject(error);
            }
            );
        });
    }
    exports.handler = main;
    

    【讨论】:

      【解决方案2】:

      我可以确认它不起作用。我还尝试卸载当前版本的 twilio 软件包 (https://www.npmjs.com/package/twilio) 并返回一些次要版本(3.38、3.37、3.36),但仍然无法正常工作。

      我使用 twilio cli (https://www.twilio.com/docs/twilio-cli/quickstart) 让它工作。

      这行得通:

      twilio api:core:messages:create --from whatsapp:+14155238886 --body "Twilio HQ" --persistent-action "geo:37.787890,-122.391664|375 Beale St" --to whatsapp:+15005550006
      

      也许 Twilio Node Helper 库(包)有些东西。

      【讨论】: