群发相关接口
群发相关接口
创建群发接口
**群发任务的好友号码数量上限为 5000,单条消息的内容长度不能大于 1024。
手机端目前只支持 文本、图片、超链(不可点击)。
PC 端目前只支持 文本、图片。
快速创建群发任务(指定客服号,单个发送目标)
类型
API
URI
/group-dispatch-api/gsTask/assign/soCreate
请求方式
POST、Content-Type: application/json
接口说明
创建群发任务,且指定一个发送目标,支持多条和单条内容。
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
name | String | 否 | 任务名称 |
startTaskTime | String | 否 | 预约任务开始时间 默认当前时间 |
endTaskTime | String | 否 | 预约任务结束时间 未来时间 |
sendType | int | 否 | 发送方式 1 PC 2 手机 WaChat 默认 PC |
targetType | int | 是 | 目标类型 1、个人 2、群组 |
sendWhatsApp | String | 是 | 客服号 whatsapp |
friendWhatsApp | String | 是 | 好友 whatsapp/群 id |
content | List | 是 | 内容列表 |
- content 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 内容类型 1.文字 2.图片 3.音频 4.文件 5.视频 6.名片 10.名片超链 11.分流超链 |
text | String | 否 | 文本内容 |
url | String | 否 | 静态资源链接 |
sort | int | 否 | 排序 |
variableFields | List | 否 | 变量列表 |
transId | String | 否 | transId |
routeType | int | 否 | 1 坐席分流 2 客服号分组分流 3 自定义接粉 (消息类型为分流超链使用) |
routeList | List | 否 | 分流目标 坐席就是坐席 id 客服号分组就是客服号分组 id 3 自定义的就是 whatsapp 手机号码,对应 routeType 类型的值 (消息类型为分流超链使用) |
title | String | 否 | 标题 (消息类型为名片超链使用) |
desc | String | 否 | 备注 (消息类型为名片超链使用) |
link | String | 否 | 链接 (消息类型为名片超链使用) |
adsTemplateId | int | 否 | 广告模版 id,目前只支持名片超链,存在时将覆盖(title,desc,link,url)字段,如需使用,请提前配置 |
- variableField 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 变量类型 1、基本属性 2、扩展字段 (管理后台配置) |
name | String | 是 | 字段名称 |
- 基本属性
字段 | 描述 |
---|---|
客服号 | |
friendName | 姓名 |
sex | 性别 |
birthday | 生日 |
address | 地址 |
邮箱 | |
profession | 职业 |
income | 收入 |
desc | 说明 |
source | 来源 |
stage | 阶段 |
languageTag | 语言 |
tabName | 标签 |
followStatus | 跟进状态 |
- 请求示例-1:
{
"name": "task-202403201653119191",
"sendType": 1,
"startTaskTime": "2024-04-21 17:01:27",
"targetType": 1,
"sendWhatsApp": "8618217331213",
"friendWhatsApp": "8618217331211",
"content": [
{
"type": 1,
"text": "你好啊,今天所有商品9折,快来看一看呀。",
"url": "",
"sort": 0,
"variableFields": [],
"transId": ""
}
]
}
- 请求示例-2:
{
"name": "task-202403201653119191",
"sendType": 1,
"startTaskTime": "2024-04-21 17:01:27",
"targetType": 1,
"sendWhatsApp": "8618217331213",
"friendWhatsApp": "8618217331211",
"content": [
{
"type": 1,
"text": "你好{friendName},今天是你{birthday}生日,所有商品3折,快来看一看呀。",
"url": "",
"sort": 0,
"variableFields": [
{
"type": 1,
"name": "friendName"
},
{
"type": 1,
"name": "birthday"
}
],
"transId": ""
}
]
}
- 请求示例-3:
{
"name": "api-指定客服号,单个发送目标",
"targetType": 1,
"startTaskTime": "2024-10-16 17:49:02",
"endTaskTime": null,
"sendType": 2,
"sendWhatsApp": "8618812341234",
"friendWhatsApp": "8615212877543",
"content": [
{
"type": 11,
"text": "hello, 这是超链坐席分流",
"sort": 0,
"routeType": 1,
"routeList": ["801406"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 1,
"routeType": 2,
"routeList": ["67"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 2,
"routeType": 3,
"routeList": ["8619876543210"]
},
{
"type": 10,
"text": "hello,这是名片超链",
"sort": 3,
"url": "https://www.google.com/favicon.ico",
"title": "标题",
"desc": "这是名片超链",
"link": "https://www.google.com/"
},
{
"type": 10,
"text": "hello,这是名片超链2",
"sort": 4,
"adsTemplateId": 32
}
]
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data Object 是 数据
- data 响应参数
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
taskId | String | 是 | 任务 id |
- 响应示例
{
"code": 200,
"message": "Success",
"data": {
"taskId": "6a2724fa2b7055971f960cc162632595"
}
}
快速创建群发任务(指定客服号&多目标,内容相同)
类型
API
URI
/group-dispatch-api/gsTask/assign/moscCreate
请求方式
POST、Content-Type: application/json
接口说明
创建群发任务,多个客服号,多个发送目标,支持多条和单条内容。
注:绑定发送者和接收者的关系。请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
name | String | 否 | 任务名称 |
startTaskTime | String | 否 | 预约任务开始时间 默认当前时间 |
endTaskTime | String | 否 | 预约任务结束时间 |
sendType | int | 否 | 发送方式 1 PC 2 手机 WaChat 默认 PC |
targetType | int | 是 | 目标类型 1、个人 2、群组 |
sendInfos | List | 是 | 客服号发送信息列表 |
content | List | 是 | 内容列表 |
- sendInfos
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
sendWhatsApp | String | 是 | 客服号 whatsapp |
friendWhatsApp | String | 是 | 好友 whatsapp/群 id |
- content 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 内容类型 1.文字 2.图片 3.音频 4.文件 5.视频 6.名片 10.名片超链 11.分流超链 |
text | String | 否 | 文本内容 |
url | String | 否 | 静态资源链接 |
fileName | String | 否 | 文件名 url 不为空时使用 |
sort | int | 否 | 排序 |
variableFields | List | 否 | 变量列表 |
transId | String | 否 | transId |
routeType | int | 否 | 1 坐席分流 2 客服号分组分流 3 自定义接粉 (消息类型为分流超链使用) |
routeList | List | 否 | 分流目标 坐席就是坐席 id 客服号分组就是客服号分组 id 3 自定义的就是 whatsapp 手机号码,对应 routeType 类型的值 (消息类型为分流超链使用) |
title | String | 否 | 标题 (消息类型为名片超链使用) |
desc | String | 否 | 备注 (消息类型为名片超链使用) |
link | String | 否 | 链接 (消息类型为名片超链使用) |
adsTemplateId | int | 否 | 广告模版 id,目前只支持名片超链,存在时将覆盖(title,desc,link,url)字段,如需使用,请提前配置 |
- variableField 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 变量类型 1、基本属性 2、扩展字段 (管理后台配置) |
name | String | 是 | 字段名称 |
- 基本属性
同上
- 请求示例-1:
{
"name": "task-202403201653119191",
"sendType": 1,
"startTaskTime": "2024-04-21 17:01:27",
"targetType": 1,
"sendInfos": [
{
"sendWhatsApp": "8618217331213",
"friendWhatsApp": "8618217331211"
}
],
"content": [
{
"type": 1,
"text": "你好啊,今天所有商品9折,快来看一看呀。",
"url": "",
"sort": 0,
"variableFields": []
}
]
}
- 请求示例-2:
{
"name": "task-202403201653119191",
"sendType": 1,
"startTaskTime": "2024-04-21 17:01:27",
"targetType": 1,
"sendInfos": [
{
"sendWhatsApp": "8618217331213",
"friendWhatsApp": "8618217331211"
}
],
"content": [
{
"type": 1,
"text": "你好{friendName},今天是你{birthday}生日,所有商品3折,快来看一看呀。",
"url": "",
"sort": 0,
"variableFields": [
{
"type": 1,
"name": "friendName"
},
{
"type": 1,
"name": "birthday"
}
]
}
]
}
- 请求示例-3:
{
"name": "api-task",
"targetType": 1,
"startTaskTime": "2024-10-16 18:00:00",
"sendType": 2,
"sendInfos": [
{
"sendWhatsApp": "8618812341234",
"friendWhatsApp": "8615212877543"
}
],
"content": [
{
"type": 11,
"text": "hello, 这是超链坐席分流",
"sort": 0,
"routeType": 1,
"routeList": ["801406"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 1,
"routeType": 2,
"routeList": ["67"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 2,
"routeType": 3,
"routeList": ["8619876543210"]
},
{
"type": 10,
"text": "hello,这是名片超链",
"sort": 3,
"url": "https://www.google.com/favicon.ico",
"title": "标题",
"desc": "这是名片超链",
"link": "https://www.google.com/"
},
{
"type": 10,
"text": "hello,这是名片超链2",
"sort": 4,
"adsTemplateId": 32
}
]
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据
data 响应参数
参数名 类型 是否必填 备注 taskId String 是 任务 id
- 响应示例
{
"code": 200,
"message": "Success",
"data": {
"taskId": "6a2724fa2b7055971f960cc162632595"
}
}
快速创建群发任务(指定客服号&多目标,内容不同)
类型
API
URI
/group-dispatch-api/gsTask/assign/modcCreate
请求方式
POST、Content-Type: application/json
接口说明
创建群发任务,多个客服号,多个发送目标,支持多条和单条内容。
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
name | String | 否 | 任务名称 |
startTaskTime | String | 否 | 预约任务开始时间 默认当前时间 |
endTaskTime | String | 否 | 预约任务结束时间 |
sendType | int | 否 | 发送方式 1 PC 2 手机 WaChat 默认 PC |
targetType | int | 是 | 目标类型 1、个人 2、群组 |
sendInfos | List | 是 | 发送内容 |
- sendInfos 参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
sendWhatsApp | String | 是 | 客服号 whatsapp |
friendWhatsApp | String | 是 | 好友 whatsapp/群 id |
content | List | 是 | 内容列表 |
- content 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 内容类型 1.文字 2.图片 3.音频 4.文件 5.视频 6.名片 10.名片超链 11.分流超链 |
text | String | 否 | 文本内容 |
url | String | 否 | 静态资源链接 |
sort | int | 否 | 排序 |
variableFields | List | 否 | 变量列表 |
transId | String | 否 | transId |
routeType | int | 否 | 1 坐席分流 2 客服号分组分流 3 自定义接粉 (消息类型为分流超链使用) |
routeList | List | 否 | 分流目标 坐席就是坐席 id 客服号分组就是客服号分组 id 3 自定义的就是 whatsapp 手机号码,对应 routeType 类型的值 (消息类型为分流超链使用) |
title | String | 否 | 标题 (消息类型为名片超链使用) |
desc | String | 否 | 备注 (消息类型为名片超链使用) |
link | String | 否 | 链接 (消息类型为名片超链使用) |
adsTemplateId | int | 否 | 广告模版 id,目前只支持名片超链,存在时将覆盖(title,desc,link,url)字段,如需使用,请提前配置 |
- variableField 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 变量类型 1、基本属性 2、扩展字段 (管理后台配置) |
name | String | 是 | 字段名称 |
基本属性
同上
请求示例-1:
{
"name": "task-202403201653119191",
"targetType": 1,
"startTaskTime": "2024-04-22 10:29:55",
"endTaskTime": null,
"sendType": 2,
"sendInfos": [
{
"sendWhatsApp": "8618217331213",
"friendWhatsApp": "8618217331211",
"content": [
{
"type": 1,
"text": "你好啊,今天所有商品9折,快来看一看呀。",
"url": "",
"sort": 0,
"variableFields": []
}
]
}
]
}
- 请求示例-2:
{
"name": "api-task",
"targetType": 1,
"startTaskTime": "2024-10-16 18:00:00",
"sendType": 2,
"sendInfos": [
{
"sendWhatsApp": "8618812341234",
"friendWhatsApp": "8615212877543",
"content": [
{
"type": 11,
"text": "hello, 这是超链坐席分流",
"sort": 0,
"routeType": 1,
"routeList": ["801406"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 1,
"routeType": 2,
"routeList": ["67"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 2,
"routeType": 3,
"routeList": ["8619876543210"]
},
{
"type": 10,
"text": "hello,这是名片超链",
"sort": 3,
"url": "https://www.google.com/favicon.ico",
"title": "标题",
"desc": "这是名片超链",
"link": "https://www.google.com/"
},
{
"type": 10,
"text": "hello,这是名片超链2",
"sort": 4,
"adsTemplateId": 32
}
]
}
]
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据
data 响应参数
参数名 类型 是否必填 备注 taskId String 是 任务 id
- 响应示例
{
"code": 200,
"message": "Success",
"data": {
"taskId": "6a2724fa2b7055971f960cc162632595"
}
}
快速创建群发任务(指定多客服号&多目标,不绑定关系)
- 类型
API
- URI
/group-dispatch-api/gsTask/assign/mmCreate
- 请求方式
POST、Content-Type: application/json
- 接口说明
创建群发任务,指定多个客服号和发送目标,支持多条和单条内容,不绑定关系,自由分配。
- 请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
name | String | 否 | 任务名称 |
startTaskTime | String | 否 | 预约任务开始时间 默认当前时间 |
endTaskTime | String | 否 | 预约任务结束时间 |
sendType | int | 否 | 发送方式 1 PC 2 手机 WaChat 默认 PC |
targetType | int | 是 | 目标类型 1、个人 2、群组 |
sendWhatsAppList | List | 是 | 客服号 list |
friendWhatsAppList | List | 是 | 好友 whatsapp list/群 id |
content | List | 是 | 内容列表 |
- content 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 内容类型 1.文字 2.图片 3.音频 4.文件 5.视频 6.名片 10.名片超链 11.分流超链 |
text | String | 否 | 文本内容 |
url | String | 否 | 静态资源链接 |
sort | int | 否 | 排序 |
variableFields | List | 否 | 变量列表 |
transId | String | 否 | transId |
routeType | int | 否 | 1 坐席分流 2 客服号分组分流 3 自定义接粉 (消息类型为分流超链使用) |
routeList | List | 否 | 分流目标 坐席就是坐席 id 客服号分组就是客服号分组 id 3 自定义的就是 whatsapp 手机号码,对应 routeType 类型的值 (消息类型为分流超链使用) |
title | String | 否 | 标题 (消息类型为名片超链使用) |
desc | String | 否 | 备注 (消息类型为名片超链使用) |
link | String | 否 | 链接 (消息类型为名片超链使用) |
adsTemplateId | int | 否 | 广告模版 id,目前只支持名片超链,存在时将覆盖(title,desc,link,url)字段,如需使用,请提前配置 |
- variableField 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 变量类型 1、基本属性 2、扩展字段 (管理后台配置) |
name | String | 是 | 字段名称 |
- 基本属性
字段 | 描述 |
---|---|
客服号 | |
friendName | 姓名 |
sex | 性别 |
birthday | 生日 |
address | 地址 |
邮箱 | |
profession | 职业 |
income | 收入 |
desc | 说明 |
source | 来源 |
stage | 阶段 |
languageTag | 语言 |
tabName | 标签 |
followStatus | 跟进状态 |
- 请求示例-1:
{
"name": "多对多创建-1",
"startTaskTime": "2024-07-21 17:01:27",
"endTaskTime": null,
"sendType": 1,
"targetType": 1,
"sendWhatsAppList": ["6578645661211"],
"friendWhatsAppList": ["8618217331211"],
"content": [
{
"type": 1,
"text": "你好啊,今天所有商品9折,快来看一看呀。",
"url": "",
"sort": 0,
"transId": "tr00003",
"variableFields": []
},
{
"type": 1,
"text": "你好 {friendName},今天是你生日,所有商品3折,快来看一看呀。",
"url": "",
"sort": "",
"transId": "tr00002",
"variableFields": [
{
"type": 1,
"name": "friendName"
}
]
}
]
}
- 请求示例-2:
{
"name": "多对多创建-2",
"startTaskTime": "2024-10-16 18:00:00",
"sendType": 1,
"targetType": 1,
"sendWhatsAppList": ["8618812341234"],
"friendWhatsAppList": ["8615212877543"],
"content": [
{
"type": 11,
"text": "hello, 这是超链坐席分流",
"sort": 0,
"routeType": 1,
"routeList": ["801406"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 1,
"routeType": 2,
"routeList": ["67"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 2,
"routeType": 3,
"routeList": ["8619876543210"]
},
{
"type": 10,
"text": "hello,这是名片超链",
"sort": 3,
"url": "https://www.google.com/favicon.ico",
"title": "标题",
"desc": "这是名片超链",
"link": "https://www.google.com/"
},
{
"type": 10,
"text": "hello,这是名片超链2",
"sort": 4,
"adsTemplateId": 32
}
]
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据
data 响应参数
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
taskId | String | 是 | 任务 id |
- 响应示例
{
"code": 200,
"message": "Success",
"data": {
"taskId": "278881"
}
}
快速创建群发任务(指定客服号分组)
- 类型
API
- URI
/group-dispatch-api/gsTask/assign/groupCreate
- 请求方式
POST、Content-Type: application/json
- 接口说明
创建群发任务,指定客服号分组创建群发
- 请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
name | String | 否 | 任务名称 |
startTaskTime | String | 否 | 预约任务开始时间 默认当前时间 |
endTaskTime | String | 否 | 预约任务结束时间 |
sendType | int | 否 | 发送方式 1 PC 2 手机 WaChat 默认 PC |
targetType | int | 是 | 目标类型 1、个人 2、群组 |
whatsappGroupId | int | 是 | 客服号分组 id |
friendWhatsAppList | List | 是 | 好友 whatsapp list/群 id |
content | List | 是 | 内容列表 |
- content 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 内容类型 1.文字 2.图片 3.音频 4.文件 5.视频 6.名片 10.名片超链 11.分流超链 |
text | String | 否 | 文本内容 |
url | String | 否 | 静态资源链接 |
sort | int | 否 | 排序 |
variableFields | List | 否 | 变量列表 |
transId | String | 否 | transId |
routeType | int | 否 | 1 坐席分流 2 客服号分组分流 3 自定义接粉 (消息类型为分流超链使用) |
routeList | List | 否 | 分流目标 对应 routeType 的值,坐席就是坐席 id、客服号分组就是客服号分组 id、自定义的就是 whatsapp 手机号码(消息类型为分流超链使用) |
title | String | 否 | 标题 (消息类型为名片超链使用) |
desc | String | 否 | 备注 (消息类型为名片超链使用) |
link | String | 否 | 链接 (消息类型为名片超链使用) |
adsTemplateId | int | 否 | 广告模版 id,目前只支持名片超链,存在时将覆盖(title,desc,link,url)字段,如需使用,请提前配置 |
- variableField 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 变量类型 1、基本属性 2、扩展字段 (管理后台配置) |
name | String | 是 | 字段名称 |
- 基本属性
字段 | 描述 |
---|---|
客服号 | |
friendName | 姓名 |
sex | 性别 |
birthday | 生日 |
address | 地址 |
邮箱 | |
profession | 职业 |
income | 收入 |
desc | 说明 |
source | 来源 |
stage | 阶段 |
languageTag | 语言 |
tabName | 标签 |
followStatus | 跟进状态 |
- 请求示例-1:
{
"name": "客服号分组创建群发-1",
"startTaskTime": "2024-07-21 17:01:27",
"endTaskTime": null,
"sendType": 1,
"targetType": 1,
"whatsappGroupId": 68,
"friendWhatsApp": ["8618217331211"],
"content": [
{
"type": 1,
"text": "你好啊,今天所有商品9折,快来看一看呀。",
"transId": "tr00003"
},
{
"type": 1,
"text": "你好 {friendName},今天是你生日,所有商品3折,快来看一看呀。",
"transId": "tr00002",
"variableFields": [
{
"type": 1,
"name": "friendName"
}
]
},
{
"type": 11,
"text": "hello, 这是超链坐席分流",
"sort": 0,
"routeType": 1,
"routeList": ["801406"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 1,
"routeType": 2,
"routeList": ["67"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 2,
"routeType": 3,
"routeList": ["8619876543210"]
},
{
"type": 10,
"text": "hello,这是名片超链",
"sort": 3,
"url": "https://www.google.com/favicon.ico",
"title": "标题",
"desc": "这是名片超链",
"link": "https://www.google.com/"
},
{
"type": 10,
"text": "hello,这是名片超链2",
"sort": 4,
"adsTemplateId": 32
}
]
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据
data 响应参数
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
taskId | String | 是 | 任务 id |
- 响应示例
{
"code": 200,
"message": "Success",
"data": {
"taskId": "876"
}
}
快速创建群发任务(不指定客服号,单目标)
类型
API
URI
/group-dispatch-api/gsTask/noAssign/soCreate
请求方式
POST、Content-Type: application/json
接口说明
创建群发任务,且指定一个发送目标,支持多条和单条内容。
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
name | String | 否 | 任务名称 |
startTaskTime | String | 否 | 预约任务开始时间 默认当前时间 |
endTaskTime | String | 否 | 预约任务结束时间 |
sendType | int | 否 | 发送方式 1 PC 2 手机 WaChat 默认 PC |
targetType | int | 是 | 目标类型 1、个人 2、群组 |
friendWhatsApp | String | 是 | 好友 whatsapp/群 id |
content | List | 是 | 内容列表 |
- content 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 内容类型 1.文字 2.图片 3.音频 4.文件 5.视频 6.名片 10.名片超链 11.分流超链 |
text | String | 否 | 文本内容 |
url | String | 否 | 静态资源链接 |
sort | int | 否 | 排序 |
variableFields | List | 否 | 变量列表 |
transId | String | 否 | transId |
routeType | int | 否 | 1 坐席分流 2 客服号分组分流 3 自定义接粉 (消息类型为分流超链使用) |
routeList | List | 否 | 分流目标 坐席就是坐席 id 客服号分组就是客服号分组 id 3 自定义的就是 whatsapp 手机号码,对应 routeType 类型的值 (消息类型为分流超链使用) |
title | String | 否 | 标题 (消息类型为名片超链使用) |
desc | String | 否 | 备注 (消息类型为名片超链使用) |
link | String | 否 | 链接 (消息类型为名片超链使用) |
adsTemplateId | int | 否 | 广告模版 id,目前只支持名片超链,存在时将覆盖(title,desc,link,url)字段,如需使用,请提前配置 |
- variableField 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 变量类型 1、基本属性 2、扩展字段 (管理后台配置) |
name | String | 是 | 字段名称 |
- 基本属性
字段 | 描述 |
---|---|
客服号 | |
friendName | 姓名 |
sex | 性别 |
birthday | 生日 |
address | 地址 |
邮箱 | |
profession | 职业 |
income | 收入 |
desc | 说明 |
source | 来源 |
stage | 阶段 |
languageTag | 语言 |
tabName | 标签 |
followStatus | 跟进状态 |
- 请求示例-1:
{
"name": "task-202403201653119191",
"startTaskTime": "2024-04-22 10:29:55",
"endTaskTime": null,
"sendType": 2,
"targetType": 1,
"friendWhatsApp": "8618217331211",
"content": [
{
"type": 1,
"text": "你好啊,今天所有商品9折,快来看一看呀。",
"url": "",
"sort": 0,
"variableFields": []
}
]
}
- 请求示例-2:
{
"name": "task-202403201653119191",
"targetType": 1,
"startTaskTime": "2024-04-22 10:29:55",
"endTaskTime": null,
"sendType": 2,
"friendWhatsApp": "8618217331211",
"content": [
{
"type": 1,
"text": "你好{friendName},今天是你的生日,所有商品3折,快来看一看呀。",
"url": "",
"sort": 0,
"variableFields": [
{
"type": 1,
"name": "friendName"
}
]
}
]
}
- 请求示例-3:
{
"name": "api-task",
"targetType": 1,
"startTaskTime": "2024-10-16 18:00:00",
"sendType": 2,
"friendWhatsApp": "8615212877543",
"content": [
{
"type": 11,
"text": "hello, 这是超链坐席分流",
"sort": 0,
"routeType": 1,
"routeList": ["801406"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 1,
"routeType": 2,
"routeList": ["67"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 2,
"routeType": 3,
"routeList": ["8619876543210"]
},
{
"type": 10,
"text": "hello,这是名片超链",
"sort": 3,
"url": "https://www.google.com/favicon.ico",
"title": "标题",
"desc": "这是名片超链",
"link": "https://www.google.com/"
},
{
"type": 10,
"text": "hello,这是名片超链2",
"sort": 4,
"adsTemplateId": 32
}
]
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据
data 响应参数
参数名 类型 是否必填 备注 taskId String 是 任务 id
- 响应示例
{
"code": 200,
"message": "Success",
"data": {
"taskId": "6a2724fa2b7055971f960cc162632595"
}
}
快速创建群发任务(不指定客服号,多目标)
类型
API
URI
/group-dispatch-api/gsTask/noAssign/moCreate
请求方式
POST、Content-Type: application/json
接口说明
创建群发任务,且指定一个发送目标,支持多条和单条内容。
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
name | String | 否 | 任务名称 |
startTaskTime | String | 否 | 预约任务开始时间 默认当前时间 |
endTaskTime | String | 否 | 预约任务结束时间 |
sendType | int | 否 | 发送方式 1 PC 2 手机 WaChat 默认 PC |
targetType | int | 是 | 目标类型 1、个人 2、群组 |
friendWhatsApp | List | 是 | 好友 whatsapp/群 id |
content | List | 是 | 内容列表 |
- content 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 内容类型 1.文字 2.图片 3.音频 4.文件 5.视频 6.名片 10.名片超链 11.分流超链 |
text | String | 否 | 文本内容 |
url | String | 否 | 静态资源链接 |
sort | int | 否 | 排序 |
variableFields | List | 否 | 变量列表 |
transId | String | 否 | transId |
routeType | int | 否 | 1 坐席分流 2 客服号分组分流 3 自定义接粉 (消息类型为分流超链使用) |
routeList | List | 否 | 分流目标 坐席就是坐席 id 客服号分组就是客服号分组 id 3 自定义的就是 whatsapp 手机号码,对应 routeType 类型的值 (消息类型为分流超链使用) |
title | String | 否 | 标题 (消息类型为名片超链使用) |
desc | String | 否 | 备注 (消息类型为名片超链使用) |
link | String | 否 | 链接 (消息类型为名片超链使用) |
adsTemplateId | int | 否 | 广告模版 id,目前只支持名片超链,存在时将覆盖(title,desc,link,url)字段,如需使用,请提前配置 |
- variableField 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 变量类型 1、基本属性 2、扩展字段 (管理后台配置) |
name | String | 是 | 字段名称 |
- 基本属性
字段 | 描述 |
---|---|
客服号 | |
friendName | 姓名 |
sex | 性别 |
birthday | 生日 |
address | 地址 |
邮箱 | |
profession | 职业 |
income | 收入 |
desc | 说明 |
source | 来源 |
stage | 阶段 |
languageTag | 语言 |
tabName | 标签 |
followStatus | 跟进状态 |
- 请求示例-1:
{
"name": "task-202403201653119191",
"startTaskTime": "2024-04-22 10:29:55",
"endTaskTime": null,
"sendType": 2,
"targetType": 1,
"friendWhatsApp": ["8618217331211"],
"content": [
{
"type": 1,
"text": "你好啊,今天所有商品9折,快来看一看呀。",
"url": "",
"sort": 0,
"variableFields": []
}
]
}
- 请求示例-2:
{
"targetType": 1,
"startTaskTime": "2024-04-22 10:29:55",
"endTaskTime": null,
"sendType": 2,
"friendWhatsApp": ["8618217331211"],
"content": [
{
"type": 1,
"text": "你好{friendName},今天是你的生日,所有商品3折,快来看一看呀。",
"url": "",
"sort": 0,
"variableFields": [
{
"type": 1,
"name": "friendName"
}
]
}
]
}
- 请求示例-3:
{
"name": "api-task",
"targetType": 1,
"startTaskTime": "2024-10-16 18:00:00",
"sendType": 2,
"friendWhatsApp": ["8615212877543"],
"content": [
{
"type": 11,
"text": "hello, 这是超链坐席分流",
"sort": 0,
"routeType": 1,
"routeList": ["801406"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 1,
"routeType": 2,
"routeList": ["67"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 2,
"routeType": 3,
"routeList": ["8619876543210"]
},
{
"type": 10,
"text": "hello,这是名片超链",
"sort": 3,
"url": "https://www.google.com/favicon.ico",
"title": "标题",
"desc": "这是名片超链",
"link": "https://www.google.com/"
},
{
"type": 10,
"text": "hello,这是名片超链2",
"sort": 4,
"adsTemplateId": 32
}
]
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据
data 响应参数
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
taskId | String | 是 | 任务 id |
- 响应示例
{
"code": 200,
"message": "Success",
"data": {
"taskId": "6a2724fa2b7055971f960cc162632595"
}
}
快速创建群发任务(不指定客服号,条件目标)
类型
API
URI
/group-dispatch-api/gsTask/noAssign/comoCreate
请求方式
POST、Content-Type: application/json
接口说明
创建群发任务,不指定客服号,根据条件进行检索发送目标,并且支持自动化行为。 注:群组群发不支持消息变量
- 请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
name | String | 否 | 任务名称 |
startTaskTime | String | 否 | 预约任务开始时间 默认当前时间 |
endTaskTime | String | 否 | 预约任务结束时间 |
sendType | int | 否 | 发送方式 1 PC 2 手机 WaChat 默认 PC |
targetType | int | 是 | 目标类型 1、个人 2、群组 |
targetAudienceCondition | List | 是 | 目标受众条件,个人 |
targetAudienceConditionOnGroup | TargetAudienceConditionOnGroup | 是 | 目标受众查询条件,群组 |
automatedBehavior | List | 否 | 自动化触发行为 |
content | List | 是 | 内容列表 |
- targetAudienceCondition 参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | String | 是 | 内容类型 1、基本属性 2、扩展字段 |
name | String | 是 | 名称(字段) |
opsType | int | 否 | 操作类型 1、小于 2、等于 3、大于 4、大于等于,小于等于 |
value | String | 否 | 值 |
rangeValueStart | String | 否 | 开始值 (opsType=4) |
rangeValueEnd | String | 否 | 结束值 (opsType=4) |
- automatedBehavior 参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
eventType | int | 是 | 事件类型 1、消息发送成功 2、消息发送失败 |
actionType | int | 是 | 行为类型 1、客户阶段变更 2、客户标签变更 |
opsType | int | 是 | 操作类型 1、增加 2、删除 3、修改 |
customerTagValue | List | 否 | 标签值列表 |
customerStageValue | int | 否 | 客户阶段 |
- content 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 内容类型 1.文字 2.图片 3.音频 4.文件 5.视频 6.名片 10.名片超链 11.分流超链 |
text | String | 否 | 文本内容 |
url | String | 否 | 静态资源链接 |
sort | int | 否 | 排序 |
variableFields | List | 否 | 变量列表 |
transId | String | 否 | transId |
routeType | int | 否 | 1 坐席分流 2 客服号分组分流 3 自定义接粉 (消息类型为分流超链使用) |
routeList | List | 否 | 分流目标 坐席就是坐席 id 客服号分组就是客服号分组 id 3 自定义的就是 whatsapp 手机号码,对应 routeType 类型的值 (消息类型为分流超链使用) |
title | String | 否 | 标题 (消息类型为名片超链使用) |
desc | String | 否 | 备注 (消息类型为名片超链使用) |
link | String | 否 | 链接 (消息类型为名片超链使用) |
adsTemplateId | int | 否 | 广告模版 id,目前只支持名片超链,存在时将覆盖(title,desc,link,url)字段,如需使用,请提前配置 |
- variableField 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 变量类型 1、基本属性 2、扩展字段 (管理后台配置) |
name | String | 是 | 字段名称 |
- 基本属性
字段 | 描述 |
---|---|
客服号 | |
friendName | 姓名 |
sex | 性别 |
birthday | 生日 |
address | 地址 |
邮箱 | |
profession | 职业 |
income | 收入 |
desc | 说明 |
source | 来源 |
stage | 阶段 |
languageTag | 语言 |
tabName | 标签 |
followStatus | 跟进状态 |
- TargetAudienceConditionOnGroup 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
whatsappList | List | 否 | 客服号号码列表 |
groupTabIds | List | 否 | 群组标签 id 列表 |
principalList | List | 否 | 负责人 |
groupName | String | 否 | 群组名称,支持模糊查询 |
- 请求示例-1:
{
"name": "task-20240320175301",
"targetType": 1,
"startTaskTime": "2024-04-22 10:29:55",
"endTaskTime": null,
"sendType": 2,
"content": [
{
"type": 1,
"text": "你好{friendName},今天是你的{birthday}生日,所有商品3折,快来看一看呀。",
"url": "",
"sort": 0,
"variableFields": [
{
"type": 1,
"name": "friendName"
},
{
"type": 1,
"name": "birthday"
}
]
}
],
"targetAudienceCondition": [
{
"type": "1",
"name": "Age",
"opsType": "1",
"value": "20"
},
{
"type": "1",
"name": "money",
"opsType": "4",
"rangeValueStart": "5000",
"rangeValueEnd": "10000"
}
],
"automatedBehavior": [
{
"eventType": "1",
"actionType": "1",
"opsType": "3",
"customerTagValue": "已沟通"
}
]
}
- 请求示例-2:
{
"name": "20240802165237",
"sendType": 1,
"startTime": "2024-08-02 16:52:37",
"targetType": 1,
"content": [
{
"type": 11,
"text": "hello, 这是超链坐席分流",
"sort": 0,
"routeType": 1,
"routeList": ["801406"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 1,
"routeType": 2,
"routeList": ["67"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 2,
"routeType": 3,
"routeList": ["8619876543210"]
},
{
"type": 10,
"text": "hello,这是名片超链",
"sort": 3,
"url": "https://www.google.com/favicon.ico",
"title": "标题",
"desc": "这是名片超链",
"link": "https://www.google.com/"
},
{
"type": 10,
"text": "hello,这是名片超链2",
"sort": 4,
"adsTemplateId": 32
}
],
"automatedBehaviorDTOS": [],
"targetAudienceConditionOnGroup": {
"groupName": "test",
"whatsappList": ["8615266290625"],
"groupTabIds": [10295],
"principalList": [621485]
}
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据
- data 响应参数
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
taskId | String | 是 | 任务 id |
- 响应示例
{
"code": 200,
"message": "Success",
"data": {
"taskId": "6a2724fa2b7055971f960cc162632595"
}
}
群发查询接口
查询群发任务执行状态
类型
API
URI
/group-dispatch-api/gsTask/queryExecuteStatus
请求方式
Get、Content-Type: application/json
接口说明
查询群发任务的执行状态
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
taskId | String | 是 | 订单编号 |
- 请求示例:
group-dispatch-api/gsTask/queryExecuteStatus?taskId=174
响应参数说明
名称 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data Object 是 数据
data 参数说明
名称 类型 是否必填 备注 info List 是 群发任务详情 taskId String 是 任务 id status int 是 任务状态 1、待开始 2、待发送 3、群发中 4、已停止 5、已完成 6、已暂停 info 参数说明
名称 类型 是否必填 备注 whatsApp String 是 whatsapp friendWhatsApp String 是 好友 whatsapp/群 id status int 是 状态 0、待下发 1、待发送 2、发送中 3、已发送 4、已到达 5、已读 6、已读已回 7、已读未回 -1、发送失败 time String 是 时间(对应状态触发时间)
- 响应示例
{
"data": {
"taskId": "7ecb410f496db67f549aac211cf2be7d",
"status": 1,
"info": [
{
"whatsApp": "86172162521",
"friendWhatsApp": "86172162521",
"time": "2023-07-12 10:43:00",
"status": 1
},
{
"whatsApp": "86172162522",
"friendWhatsApp": "86172162522",
"time": "2023-07-12 10:43:00",
"status": 2
}
]
},
"code": 200,
"message": "success"
}
异步通知接口(webhook)
异步通知群发任务执行状态
配置 ID <GS_V3_SYNC_TASK_STATUS>
类型
WebHook
URI
/callback/gsTask/syncTaskStatus
请求方式
POST、Content-Type: application/json
接口说明
异步通知订单执行状态
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
taskId | String | 是 | 订单 id |
status | String | 是 | 任务状态 1、待开始 2、待发送 3、群发中 4、已停止 5、已完成 6、已暂停 |
请求示例:
{
"taskId": "6a2724fa2b7055971f960cc162632595",
"status": "1"
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data Object 是 数据
{
"data": "",
"code": 200,
"message": "success"
}
异步通知群发任务详情执行状态
配置 ID GS_V3_SYNC_TASK_DETAIL_STATUS
类型
WebHook
URI
/callback/gsTask/syncGsTaskInfoStatus
请求方式
POST、Content-Type: application/json
接口说明
异步通知订单详情执行状态
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
groupSendInfoStatusList | List | 是 | 任务列表 |
- 请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
taskId | String | 是 | 任务 id |
info | List | 是 | 任务详情 |
- info 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
senderWhatsApp | String | 否 | 客服号 |
friendWhatsApp | String | 是 | 好友 whatsapp/群 id |
status | int | 是 | 状态 0、待下发 1、待发送 2、发送中 3、已发送 4、已到达 5、已读 6、已读已回 7、已读未回 -1、发送失败 |
time | long | 是 | 时间(对应状态的触发时间) |
infoId | int | 是 | 任务详情 id |
failReasonCode | int | 否 | 发送失败 code(20240701 增加) |
transId | String | 否 | transId |
failReasonCode 解释: 4001 客服号被封或者离线,4004 发送内容静态资源下载失败,4005 客户端意外退出。
- 请求示例:
{
"groupSendInfoStatusList": [
{
"taskId": "6a2724fa2b7055971f960cc162632595",
"info": [
{
"senderWhatsApp": "861271625212",
"friendWhatsApp": "911827121626",
"time": 1721358108467,
"status": 1,
"infoId": 95,
"failReasonCode": null,
"transId": null
},
{
"senderWhatsApp": "861271625212",
"friendWhatsApp": "911827121621",
"time": 1721358108467,
"status": 1,
"infoId": 96,
"failReasonCode": null,
"transId": null
}
]
}
]
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data Object 是 数据
{
"data": "",
"code": 200,
"message": "success"
}
异步通知群发任务-回复消息回调
配置 ID <GS_V3_REPLY_MESSAGE>
类型
WebHook
URI
/callback/gsTask/syncGsTaskInfoReplyMessage
请求方式
POST、Content-Type: application/json
接口说明
异步通知群发任务-回复消息回调
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
userId | String | 是 | 用户 id |
serialNumber | int | 否 | 编号 |
String | 是 | whatsapp(消息接收方) | |
friendWhatsApp | String | 是 | friendWhatsApp(消息发送方) |
taskId | String | 是 | 任务 id |
content | List | 是 | 回复内容 |
- content 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 内容类型 1、文字 2、图片 3、音频 4、文件 5、视频 |
text | String | 否 | 文本内容 |
url | String | 否 | 静态资源信息 |
messageId | String | 是 | 消息 id |
time | long | 是 | 时间 |
- url 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
filename | String | 是 | 文件名称 |
url | String | 是 | 链接地址 |
mimeType | String | 是 | 媒体类型 |
caption | String | 否 | 标题 |
请求示例:
{
"userId": "101",
"serialNumber": "",
"whatsApp": "86172272727",
"friendWhatsApp": "61191828282",
"taskId": "6a2724fa2b7055971f960cc162632595",
"content": [
{
"type": 1,
"text": "hello",
"messageId": "19282dskdasldjl21",
"time": 1689129792000
},
{
"type": 2,
"url": {
"filename": "e70faa31-62dc-4d00-a42a-8a07735aa350",
"url": "https://id-wscrm.oss-accelerate.aliyuncs.com/client/d584b8cfb9185cc999389f17b4236b3b/61733005-dfdb-4704-9c5d-944423c70dd1",
"mimeType": "image/jpeg",
"caption": ""
},
"messageId": "1282190210219082198",
"time": 1689129792000
}
]
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data Object 是 数据
{
"data": "",
"code": 200,
"message": "success"
}
群发客服号分组管理接口
添加客服号分组
类型
API
URI
/group-dispatch-api/whatsapp-audience/addWhatsappAudience
请求方式
POST、Content-Type: application/json
接口说明
添加客服号分组
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
name | String | 是 | 分组名称 |
whatsIdList | List | 是 | whatsapp 集合 |
- 请求示例:
{
"name": "this name",
"whatsIdList": ["99123456", "98123456"]
}
响应参数说明
名称 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data Object 是 数据
data 参数说明
名称 类型 是否必填 备注 id int 是 客服号分组 id count int 是 保存成功条数
- 响应示例
{
"data": {
"id": 73,
"count": 2
},
"code": 200,
"message": "success"
}
查询客服号分组
类型
API
URI
/group-dispatch-api/whatsapp-audience/query
请求方式
GET、Content-Type: application/json
接口说明
查询客服号分组
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
name | String | 否 | 分组名称 |
id | int | 否 | 客服号分组 id |
current | int | 否 | 分页查询参数,当前页码 默认 1 |
size | int | 否 | 分页查询参数,每页条数 默认 10 |
- 请求示例:
group-dispatch-api/whatsapp-audience/query?id=73
响应参数说明
名称 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data Object 是 数据
data 参数说明
名称 类型 是否必填 备注 records List 是 客服号分组列表 total int 是 总条数 records 参数说明
名称 类型 是否必填 备注 id int 是 客服号分组 id name String 否 分组名称 items List 是 客服号信息 items 参数说明
名称 类型 是否必填 备注 phone String 是 客服号 countryCode String 是 客服号归属地,会根据请求头语言进行国际化
- 响应示例
{
"code": 200,
"message": "Success",
"data": {
"records": [
{
"id": 73,
"name": "this name",
"items": [
{
"phone": "99123456",
"countryCode": "UNKNOWN"
},
{
"phone": "98123456",
"countryCode": "伊朗"
}
]
}
],
"total": 1
}
}
查询客服号分组详情
类型
API
URI
/group-dispatch-api/whatsapp-audience/queryDetail
请求方式
GET、Content-Type: application/json
接口说明
查询客服号分组详情
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
id | int | 是 | 客服号分组 id |
- 请求示例:
/group-dispatch-api/whatsapp-audience/queryDetail?id=73
响应参数说明
名称 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data Object 是 数据
data 参数说明
名称 类型 是否必填 备注 phone String 是 客服号 countryCode String 是 客服号归属地,会根据请求头语言进行国际化
- 响应示例
{
"code": 200,
"message": "Success",
"data": [
{
"phone": "99123456",
"countryCode": "UNKNOWN"
},
{
"phone": "98123456",
"countryCode": "伊朗"
}
]
}