WhatsApp 带参模板消息

一. 对接前准备

发送带参模板消息前,需要进入FB BM申请WhatsApp 模板,请参考文档WhatsApp模板消息
模板申请通过后,需将模板添加到多轮内容中,请参考文档WhatsApp模板消息添加

二. 调用说明

2.1 创建生成API Key;

2.2 调用如下接口时需要在请求Headers头中增加参数APIKEY = {您创建生成的API Key},请求接口地址:https://jservice-api.meetbot.biz;

2.3 响应格式

示例:
{  "code": 0,  "message": "",  "result": {{Object}},  "traceId": "",  "success": true }

2.4 错误码列表

错误码错误信息错误原因
0成功
70001Api Key invalid!未在Headers头中传入正确的ApiKey
71001content block id invalid!blockId非法
71002content block analysis exception!内容块解析异常(注:联系相关运营)
71003whatsapp content do not allow send message!不允许进行发送消息(原因:1.没有绑定共享支付;2.账户余额不足)
71004whatsapp bind exception!用户系统中whatsapp绑定异常(注:联系相关运营)
71005whatsapp send block required parameter missing!发送block消息动态参数缺失
71006whatsapp send account should numberwhatsapp发送账号必须为纯数字
71007whatsapp send account not exist发送账号不存在
71008由于xxx存在异常,为避免继续发送带来严重影响,Meetbot已拦截推送由于Meta对WhatsApp模板或账号相关进行了风控管控,为避免影响账号进行消息发送拦截

三. 获取Block内容中动态参数

3.1 请求接口

请求方式:GET 接口地址:/api/v2/whatsapp/message/block/param

3.2 参数

字段名称类型长度必填说明
blockId内容IDint-多轮内容的ID
内容ID(blockId)如何获取?保存模板内容后,重新进入编辑页面
点击内容编辑
收集blockId

3.3 响应

字段名称类型长度必填说明
blockId子内容IDint-多轮内容里子内容的ID
blockName子内容名称string-多轮内容里子内容的名称
paramList参数list--
paramList对应对象参数
字段名称类型长度必填说明
type类型string-值:header、body、button
key参数名string--
value子内容名称string-为空,后续发送消息需要传值
成功:
{         "code": 0,     "message": "",     "result": [         {             "blockId": 1087954,//子内容ID             "blockName": "模板block",//子内容名称             "paramList": [                 {                     "type": "header",                     "key": "user_name",                     "value": "" //若模板页眉不是文字而是素材,如图片、视频、文件,则请请参考下面的代码                     //"type": "header_file",                     //"key": "image",                     //"value": ""                     //"type": "header_file",                     //"key": "video",                     //"value": ""                     //"type": "header_file",                     //"key": "document",                     //"value": ""                 },                 {                     "type": "body",                     "key": "user_id",                     "value": ""                 },                 {                     "type": "button",                     "key": "user_id",                     "value": ""                 }             ]         }     ],     "success": true }
失败:详见错误码列表

四. 发送Block消息

4.1 请求接口

请求方式:POST 接口地址:/api/v2/whatsapp/message/send/block

4.2 请求Body参数

字段名称类型长度必填说明
blockId内容IDint-
toList接收者list-接收者手机号list,号码前需添加区号,且号码需为纯数字。单次任务的list号码数不能超过1000,一次任务对应一个eventTaskId
blockParamList内容参数list-该参数根据具体内容传入正确的值,不同block参数依据【三. 获取Block内容中动态参数】接口返回值result获取
sentAccount发送消息账号(纯数字)string-发送账号为系统店铺绑定的Whatsapp账号,并且账号必须为纯数字,不填该字段则默认使用店铺最早绑定Whatsapp账号进行发送。【注:发送blockId必须是发送账号下绑定的内容】
请求示例:
{ "blockId": 1087953,//内容ID "toList": [ "8615888886666,8615888886666" //接收者手机号list,号码前需添加区号,且号码需为纯数字;若list内传入多个号码,则这些号码收到的消息里的参数均一致;若想实现参数与号码一一对应的需求,则需调用多次,且每次调用的list内只有一个号码 ], "sentAccount" : "8615888889999", //Whatsapp发送账号,非必填 "blockParamList": [ { "blockId": 1087954,//子内容ID,在【3.3响应】里回传出来 "blockName": "模板block",//子内容名称,在【3.3响应】里回传出来 "paramList": [ { "type": "header", "key": "user_name", "value": "参数值" //若模板页眉不是文字而是素材,如图片、视频、文件,则请请参考下面的代码 //"type": "header_file", //"key": "image",//页眉是图片时,key值不可变 //"value": "参数值"//若图片是静态,则value值为空;若图片是动态,则填写value值 //"type": "header_file", //"key": "video",//页眉是视频时,key值不可变 //"value": "参数值"//若视频是静态,则value值为空;若视频是动态,则填写value值 //"type": "header_file", //"key": "document",//页眉是文件时,key值不可变 //"value": "参数值"//若文件是静态,则value值为空;若文件是动态,则填写value值 }, { "type": "body", "key": "user_id", "value": "参数值" }, { "type": "button", "key": "user_id", "value": "参数值" } ] } ] }

4.3 响应报文

字段名称类型长度必填说明
eventTaskId事件任务IDint--
成功:
{     "code": 0,     "message": "",     "result": {         "eventTaskId": 1514     },     "success": true }
注意:
消息发送为异步发送eventTaskId为调用发送任务ID,可结合后续【WhatsApp消息发送数据回传】结果中taskId进行分析发送效果。
2025-02-18
3