You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用WhatsApp Studio Flow获取含地理数据的POST Webhook及离线位置经纬度

解决方案:获取WhatsApp离线位置消息的经纬度(需求可行)

核心逻辑

Twilio的Message资源本身不会存储位置经纬度,这些数据仅在入站消息的Webhook POST请求中附带。所以必须提前把Webhook里的经纬度和对应消息的MessageSid绑定存储,后续通过消息SID关联查询。

具体步骤

  1. 部署后端服务接收Webhook,存储位置数据

    • 给你的Twilio号码配置Webhook端点,指向自己的后端接口(比如Node.js/Python写的简单服务)。当用户发送消息(包括离线后联网推送的缓存消息),Twilio会把请求发送到这个端点。
    • 当消息是位置类型时,Webhook请求会包含Latitude、Longitude、MessageSid参数。把这三个字段存入你的数据库(如SQLite、PostgreSQL),用MessageSid作为唯一标识。
    • 如果不想中断原有Studio Flow逻辑,可以让后端存储数据后,再把请求转发到Studio Flow的Webhook URL,实现数据存储和Studio流程的兼容。
  2. 获取离线消息并关联查询经纬度

    • 用户联网后,用CLIENT.messages.stream拉取指定时间段内的所有入站消息,确保设置正确的过滤条件:
      • 指定From参数为用户的WhatsApp号码(格式如whatsapp:+123456789)
      • 设置DateSent的时间范围(比如用户离线开始到联网的时间段)
    • 遍历返回的每条消息,提取MessageSid,到你的数据库中查询对应的Latitude和Longitude,即可获取位置信息。
  3. 解决http_request仅返回最后一条的问题

    • 不要用Studio的http_request直接调用Twilio API获取消息列表,改用CLIENT.messages.stream(在Studio的Run Function组件中执行代码),并正确设置过滤参数,就能拉取到所有符合条件的离线消息,而不是仅最后一条。

关键说明

Twilio官方不支持从Message API直接获取位置经纬度,必须通过Webhook实时捕获并存储,这是满足需求的唯一可行方案,完全可以实现你需要的离线位置消息回溯功能。

内容的提问来源于stack exchange,提问作者Carst

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 17:01:25