很多时候,WhatsApp用户希望在WhatsApp上便捷的获取自己的账号信息(例如订单详情,购买记录等等),但这些信息存放在商户的服务器中。按常规解决方式,Meetbot必须进行技术对接获取这些信息再发送给用户。这样的问题是:
- 不灵活。万一商户接口有数据结构改动,或者是希望修改显示的样式,甚或是临时关闭该功能,都需要Meetbot一方改动代码并且重新上线才能做到。
- 影响了bot的完整体验。由于这一部分无法在后台自行配置,相当于整个Bot的应答链中断了,造成如果要在发送这些消息时关联到其他内容块的时候非常麻烦。
由此,我们制作了JSON API插件,让用户能够以简单配置完成在自己系统里查询数据并发送消息这一逻辑。

JSON API仅支持企业版使用
插件介绍
当一个JSON API插件被发送给用户时,实际的逻辑如下:
- Meetbot会发一个Get请求到商户指定的URL。这个URL可以指定带上一些参数,包括用户的名字,用户的手机号,以及用户上一条发送的消息;
- 商户接收到调用之后,根据用户参数做一些查询,组织好发给用户的信息内容,返回给Meetbot;
- Meetbot将消息发送给用户。

JSON API设置窗口
URL指定
URL是以http:// 或者https:// 开头的地址。可以使用参数指代部分用户信息,比如http://www.meetbot.biz。
可用的参数请前往以下可用模板中查看。(如WhatsApp带参模板消息)
点击用户属性框可以看到选择配置中可以选择给URL带参数(即url后面的以问号附属的参数)。可选的参数仍然是可用模板中列举的部分。为了方便商户结合用户的输入进行判断,还可以使用下面的参数。(加发送消息API链接)
添加参数 | 对应内容 |
---|---|
user_phone | 用户的手机号 |
user_name | 用户的姓名 |
以上参数,及通过WhatsApp带参模板消息传输过来的参数(仅限当前多轮内容使用)
可使用花括号加参数名的形式传输 - {{名称}}
验证
考虑到商户开放的API可能需要验证,通过配置此部分可以让Get请求在Request header中放置一组key和value值来进行验证。
错误跳转
商户可以指定一个内容块,当商户对于API的处理处于以下情况时:
- 超时(限制为30秒);
- 返回http状态码为除200之外的其他值;
- 返回的json结构不符合要求 发送此内容块的内容给用户(例如,这个块可以显示服务暂时不可用,请稍后再试等内容)。如果商户不指定这个块,将不发送任何内容给用户。
返回值样式
返回值为json格式,结构如下,和发送模板消息中的结构类似。 (如WhatsApp带参模板消息)
{
"type":"send_block",
"source" : "whatsapp",
"message":{
"blockId":"1111",
"toList":[
86138xxxx1111,
86138xxxx2222
],
"blockParamList":[
{
"blockId":1087954,
"blockName":"模板block",
"paramList":[
{
"type":"header",
"key":"user_name",
"value":"xxx"
},
{
"type":"body",
"key":"user_id",
"value":"xxx"
},
{
"type":"button",
"key":"user_id",
"value":"xxx"
}
]
}
]
}
}
返回值说明
- type: 必须为send_block
- message:等同于发送模板消息的message字段。(如WhatsApp带参模板消息)