微信 Open API
CloudBase CMS 2.8.0+ 版本起,CMS 支持了开放 API 接口,你可以通过调用开放 API 接口,使用/管理 CMS 的功能和数据,将 CMS 与已有的系统进行集成。
调用方法
通过微信 HTTP API 触发,指定函数名为 wx-ext-cms-fx-openapi
。
POST https://api.weixin.qq.com/tcb/invokecloudfunction?access_token=ACCESS_TOKEN&env=ENV&name=wx-ext-cms-fx-openapi
传入参数
action:公共参数,根据接口填写
version:公共参数,当前版本为
1.0
data:接口输入参数,请根据接口说明填写
{
"action": "action",
"version": "1.0",
"data": {}
}
返回示例
{
"errcode": 0,
"errmsg": "ok",
"resp_data": "{\"error\":{\"code\":\"INVALID_PARAMS\",\"message\":\"The version param is required\"}}"
}
查询活动列表
描述
查询活动列表
请求参数
action
queryActivities
data 参数
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
activityName | 否 | string | 活动名称,支持模糊搜索 |
activityEnable | 否 | boolean | 活动是否开启 |
pagePath | 否 | string | 小程序页面路径,支持模糊搜索 |
page | 否 | number | 数据分页,当前页数,默认 1 |
pageSize | 否 | number | 每次返回的条数,默认为 10 |
请求示例
{
"version": "1.0",
"action": "queryActivities"
}
返回示例
{
"errcode": 0,
"errmsg": "ok",
"resp_data": "{\"data\":[{\"_id\":\"b45a21d55ffbadc1045fb17e497dfb4a\",\"activityName\":\"测试\",\"endTime\":1610761532000,\"isActivityOpen\":true,\"startTime\":1610329530000,\"_createTime\":1610329537686,\"_updateTime\":1613964146818,\"appPath\":\"/pages/index/index\",\"appPathQuery\":\"t=cms\",\"jumpImg\":\"https://abc.tcloudbaseapp.com/cloudbase-cms/upload/2021-02-22/VDiM5rmpa7_BRMAmqxEkL0vo3V5dch_k_.jpg\"},{\"_id\":\"b45a21d55ffc0c11046cd9281fd2969a\",\"activityName\":\"活动\",\"isActivityOpen\":true,\"startTime\":1610353674000,\"endTime\":1610872076000,\"_createTime\":1610353680741,\"_updateTime\":1613964231489,\"jumpImg\":\"https://abc.tcloudbaseapp.com/cloudbase-cms/upload/2021-02-22/4MhfMIAwEVdgXwX-pxTQ4-00nwHLvaG7_.jpg\"}],\"requestId\":\"6bf8fe43b8705-177cdae90bc_2\",\"total\":2}"
}
查询短信任务
描述
查询活动列表
请求参数
action
querySmsTasks
data 参数
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
taskId | 否 | string | 短信任务 Id |
page | 否 | number | 数据分页,当前页数,默认 1 |
pageSize | 否 | number | 每次返回的条数,默认为 10 |
返回值说明
参数名 | 类型 | 说明 |
---|---|---|
status | string | 短信任务状态,可能值有,uploaded: 号码包已处理,created: 创建任务成功,create_fail: 创建任务失败,send_success: 发送成功,send_fail: 发送失败 |
queryId | string | 短信发送任务 ID,可以通过 queryId 查询具体的发送结果 |
请求示例
{
"version": "1.0",
"action": "queryActivities",
"data": {
"taskId": "28ee4e3e6034c58f072360fc54dade28"
}
}
返回示例
{
"errcode": 0,
"errmsg": "ok",
"resp_data": "{\"data\":[{\"_id\":\"28ee4e3e6034c58f072360fc54dade28\",\"activityId\":\"b45a21d55ffc0c11046cd9281fd2969a\",\"content\":\"\",\"phoneNumberList\":[],\"createdUser\":\"管理员(HTTP API)\",\"status\":\"send_success\",\"createTime\":1614071183786,\"fileUri\":\"extension://836e053b15e542668452281e4bd141e9.zip\",\"total\":1,\"queryId\":\"b8cdabd916f341f5b60e482c047dc17f\"}],\"requestId\":\"85b3f0d30d5f1-177ce2478ec_c\",\"total\":1}"
}
号码发送短信
描述
通过手机号码发送短信
请求参数
action
sendSms
data 参数
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
content | 是 | string | 短信内容 |
phoneNumberList | 是 | Array<number> | 手机号码数组 |
activityId | 是 | string | 管理活动的 _id |
请求示例
{
"version": "1.0",
"action": "sendSms",
"data": {
"content": "API 测试",
"phoneNumberList": [
"130xxxxxxxx"
],
"activityId": "b45a21d55ffc0c11046cd9281fd2969a"
}
}
返回示例
{
"errcode": 0,
"errmsg": "ok",
"resp_data": "{\"sendStatusList\":[{\"code\":\"Ok\",\"message\":\"send success\",\"serialNo\":\"2034:02231626591019710450556438708431\",\"phoneNumber\":\"+8618827377402\",\"isoCode\":\"\"}],\"queryId\":\"e1f5ae66ea5246cfa74693207f752412\",\"errMsg\":\"openapi.cloudbase.sendSms:ok\",\"errCode\":0}"
}
文件发送短信
通过上传的 CSV 文件发送短信,可以使用 Node SDK 直接上传文件,或者获取上传文件的链接,拼装 HTTP 请求上传文件。
描述
通过 CSV 文件批量发送短信
请求参数
action
createSmsTask
data 参数
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
fileId | 是 | string | CSV 文件的云存储 fileId ,如 cloud://abc.6d69-abc/small-one.csv |
activityId | 是 | string | 管理活动的 _id |
返回值说明
参数名 | 类型 | 说明 |
---|---|---|
taskId | string | 短信任务 ID |
请求示例
{
"version": "1.0",
"action": "sendSms",
"data": {
"fileId": "cloud://envId.6d69-envId-102002923/file.csv",
"activityId": "b45a21d55ffc0c11046cd9281fd2969a"
}
}
返回示例
{
"errcode": 0,
"errmsg": "ok",
"resp_data": "{\"taskId\":\"28ee4e3e6034c58f072360fc54dade28\"}"
}