短信平台接入
短信平台接入
概要
bshop或者station下单后, 通过短信提醒商户。短信放在通知微服务里,通知微服务记录客户充值及短信发送的明细, 并提供接口给station和gmadmin工程调用。
注: 所有导出都是前端做, 后端一次性返回所有数据给前端
DB变化
mongo -> xnn_core_product_2 新增字段
station表新增字段
sms_signature string 站点短信签名
is_open_sms_bshop_order bool 是否开启bshop下单短信提醒
is_open_sms_station_order bool 是否开启staiton下单短信提醒
mysql -> xnn_core_product_2 新增权限
tbl_permission_class
id name level parent_id create_time update_time delete
35 短信管理 2 6 now() now() 0
django_content_type
id name app_label model
75 短信 sms_manage sms_manage
auth_permission
id name name_en content_type_id codename level2_id
455 查看短信管理 Get Sms Manage 75 get_sms_manage 35
456 短信充值 Add Sms Recharge Record 75 add_sms_recharge_record 35
457 查看充值记录 Get Sms Recharge Record 75 get_sms_recharge_record 35
458 查看发送记录 Get Sms Send Record 75 get_sms_send_record 35
459 编辑短信设置 Edit Sms Setting 75 edit_sms_setting 35
mysql -> notify 新增库表
充值套餐包 tbl_sms_combo
id int
name varchar(50) 套餐包名(eg:套餐包:1000条)
price int(11) 套餐价格(分)
sms_nums int(11) 套餐条数(条)
unit varchar(5) 单位(条)
unit_price int(3) 单价(分/条)
create_time datetime 创建时间
modify_time datetime 修改时间
充值记录 tbl_sms_recharge_record
id int(11)
station_id varchar(11) 站点id
combo_id int(5) 套餐id
recharge_nums int(11) 充值条数(条)
recharge_money int(11) 充值价格(分)
deal_code varchar(100) 到账凭证
remarks varchar(100) 备注
operator_name varchar(50) 操作人
create_time datetime 创建日期
modify_time datetime 修改时间
短信发送记录 tbl_sms_send_record
id int(11)
station_id varchar(11) 站点id
restaurant_id int(11) 商户id(发送的商户id)
receive_name varchar(50) 商户名(发送的商户名)
receive_phone int(11) 商户的收货电话(发送的手机号)
sms_content JSON 短信内容
business_type int(1) 发送类型(0:商城下单, 1:代下订单, 2: 用户注册)
send_count int(10) 发送次数(只发了一次是1)
status int(1) 发送状态(0:失败, 1:成功, 2:提交发送)
fee int(5) 计费数(超过70字按67字/条收费)
remarks varchar(100) 如果失败, 该字段表示失败原因
receive_status int(1) 用户实际接收状态
receive_description varchar(100) 用户实际接收状态描述
create_time datetime 发送时间
modify_time datetime 修改时间
站点短信统计 tbl_sms_statistics
id int(11)
station_id varchar(16) 站点id
total_recharge_nums bigint(20) 站点总的充值条数
total_recharge_money bigint(20) 站点总的充值金额(分)
balance_nums bigint(20) 站点短信余额
create_time datetime 发送时间
modify_time datetime 修改时间
Admin工程
/sms/recharge_record/get 获取充值记录
接口描述
获取短信充值记录
Method
GET
request
start_date M datetime 查询起始时间
end_date M datetime 查询结束时间
search_text O string 自定义搜索(站点ID或站点名)
page_obj O string 起始页(不包含),默认第0页
reverse O bool 是否反向查询。1:是,0:不是。默认为否。
limit O int 返回条数,默认10。传0表示返回所有数据。
response
{
"code": 0,
"msg": "ok",
"data": [{
"recharge_date": "2018-08-08 15:00", M string 充值日期
"station_id": "T7442", M string 站点id
"station_name": "去采购", M string 站点名
"partner_name": "去采购报价单", M string 加盟商
"combo_name": "1000条短信包", M string 套餐包
"recharge_money": "100.00", M string 充值金额
"recharge_nums": 1000, M int 充值条数
"deal_code": "123455asd", M string 交易凭证
"remark": "test", M string 备注
"operator_name": "iron" M string 操作人
}, ...],
"pagination": { M dict
"more": true, M bool 是否有更多数据
"page_obj": "gtyuhbgyhbvgyhgvgy", M string
}
}
/sms/recharge_record/export 导出充值记录
接口描述
导出充值记录
Method
GET
request
start_date M datetime 查询起始时间
end_date M datetime 查询结束时间
search_text O string 自定义搜索(站点ID或站点名)
reponse
和获取充值记录返回数据一样, 但没有做分页, 把所有的数据都拉出来了
/sms/recharge_record/create 新建充值记录
接口描述
新建充值记录
Method
POST
request:
station_id M string 站点id
combo_id M int 套餐包id
recharge_money M string 套餐价(元)
recharge_nums M int 套餐条数(条)
unit_price M string 每条单价
deal_code O string 到账凭证
remark O string 备注
response:
{
"code": 0,
"msg": "ok",
"data": ""
}
/sms/combo/get 获取套餐包
接口描述:
获取短信套餐包
Method
GET
request:
null
response:
{
"code": 0,
"msg": "ok",
"data": [{
"id": 123, M int 套餐id
"name": "1000条短信包", M string 套餐名
"price": "100.00", M string 套餐价格
"sms_nums": 1000, M int 套餐短信条数
"unit": "0.05" M string 每条单价
}, ...]
}
/sms/statistics_overview/get 短信统计-概况数据
接口描述
获取短信统计-概况数据
Method
GET
request:
null
response:
{
"code": 0,
"msg": "ok",
"data": {
"gm_balance": 1000, M int 运营商套餐余额
"saas_balance": 1000, M int 所有SaaS客户短信余额
"saas_recharge_money": 100.00 M float 所有SaaS客户充值金额
}
}
/sms/statistics_detail/get 获取短信统计-明细
接口描述
获取短信统计-明细
method
GET
request:
search_text O string 搜索文本(站点id/站点名)
page_obj O string 起始页(不包含),默认第0页
reverse O bool 是否反向查询。1:是,0:不是。默认为否。
limit O int 返回条数,默认10。传0表示返回所有数据。
response:
{
"code": 0,
"msg": "ok",
"data": [{
"staiton_id": "T7442", M string 站点id
"station_name": "去采购", M string 站点名
"partner_name": "测试站点", M string 加盟商名
"total_recharge_money": "100.00", M string 总的充值金额
"total_recharge_nums": 10000, M int 总的购买条数
"sms_balance": 100, M int 短信余额
}, ...],
"pagination": { M dict
"more": true, M bool 是否有更多数据
"page_obj": "gtyuhbgyhbvgyhgvgy", M string
}
}
/sms/statistics_detail/export 导出短信统计-明细
接口描述
导出短信统计-明细
method
GEt
request:
search_text O string 搜索文本(站点id/站点名)
response:
和获取接口返回数据一样, 但没有做分页, 把所有数据都拉出来了
/station/create 创建新站点
接口描述
创建新站点
method
GET
request:
...
新增
sms_signature O string 公司名称(短信签名)
reponse:
不变
/station/detail 获取站点详情
接口描述
获取站点详情
method
GET
request:
不变
reponse:
...
新增
sms_signature M string 公司名称(短信签名)
/station/update 更新站点信息
接口描述
更新站点信息
method
POST
request:
...
新增
sms_signature O string 公司名称(短信签名)
response:
不变
/station/list 获取所有站点
接口描述
获取所有站点
method
GET
request:
null
response:
{
"code": 0,
"msg": "ok",
"data": [{
"_id": "T4466", M string 站点id
"name": "小龙蔬菜" M string 站点名
}...{
"_id": "T11790",
"name": "帐号总仓"
}]
}
station工程
/sms/balance/get 获取短信余额
接口描述
获取短信余额
method
GET
request:
null
reponse:
{
"code": 0,
"msg": "ok",
"data": {
"sms_balance": 100, M int 短信余额(条)
}
}
/sms/data_center/get 短信数据-近多少天详情
接口描述
获取近多少天短信发送的详情
Method
GET
request
start_date M date 起始时间
end_date M date 结束时间
reponse
{
"code": 0,
"msg": "ok",
"data": [{
"send_date": "2018-07-08", M datetime 发送日期
"total_send_nums": 100, M int 该日发送短信数量
"send_success_nums": 90 M int 该日发送成功数量
"send_failed_nums": 10 M int 该日发送失败数量
}, ...,
{
"send_date": "2018-08-06",
"total_send_nums": 100,
"send_success_nums": 90,
"send_failed_nums": 10
}]
}
/sms/combo/get 获取短信套餐包
接口描述
获取短信套餐包
Method
GET
request
null
response
{
"code": 0,
"msg": "ok",
"data": [{
"id": 123, M int 套餐id
"name": "1000条短信包", M string 套餐名
"price": "100.00", M string 套餐价格
"sms_nums": 1000, M int 套餐短信条数
"unit": "0.50" M string 每条单价
}, ...]
}
/sms/recharge_record/get 获取充值记录
接口描述
获取站点的充值记录
Method
GET
request
start_date M datetime 查询起始时间
end_date M datetime 查询结束时间
page_obj O string 起始页(不包含),默认第0页
reverse O bool 是否反向查询。1:是,0:不是。默认为否。
limit O int 返回条数,默认10。传0表示返回所有数据。
reponse
{
"code": 0,
"msg": "ok",
"data": [{ M list
"id": 1234 M int
"recharge_date": "2018-08-08 15:00", M string 充值日期
"combo_name": "1000条短信包", M string 短信套餐包
"recharge_money": "100.00", M string 金额
"recharge_nums": 1000, M int 充值条数
}, ...],
"pagination": { M dict
"more": true, M bool 是否有更多数据
"page_obj": "gtyuhbgyhbvgyhgvgy", M string
}
}
/sms/recharge_record/export 导出充值记录
接口描述
导出站点的充值记录
Method
GET
request
start_date M datetime 查询起始时间
end_date M datetime 查询结束时间
response
和获取充值记录一样, 但没有分页, 把所有的数据都拉出来的
/sms/send_record/get 获取发送记录
接口描述
获取站点短信发送明细
Method
GET
request
start_date M datetime 查询起始时间
end_date M datetime 查询结束时间
status O int 状态(0:失败, 1:成功, 不传代表都拉取)
search_text O string 搜索文本(商户名或联系电话)
page_obj O string 起始页(不包含),默认第0页
reverse O bool 是否反向查询。1:是,0:不是。默认为否。
limit O int 返回条数,默认10。传0表示返回所有数据。
response
{
"code": 0,
"msg": "ok",
"data": [{ M list 发送明细
"send_time": "2018-07-19 16:20", M string 发送时间
"restaurant_id": "213123", M string 商户id
"receive_name": "qcg", M string 商户名称
"receive_phone": 12345121212, M int 联系电话
"business_type": 0, M int 业务类型(0: 代下订单, 1:商城下单)
"status": 1, M bool 接受状态, 1:成功, 0失败
"remark": "余额不足" M string 备注
}, ...],
"pagination": { M dict
"more": true, M bool 是否有更多数据
"page_obj": "gtyuhbgyhbvgyhgvgy", M string
}
}
/sms/send_record/export 导出发送记录
接口描述
导出站点短信的发送明细
Method
GET
request
start_date M datetime 查询起始时间
end_date M datetime 查询结束时间
status O int 状态(0:失败, 1:成功, 不传代表全部)
search_text O string 搜索文本(商户名或联系电话)
response
和获取发送记录一样, 只是没有做分页, 把所有的数据都拉出来了
/sms/customized_info/get 获取站点短信设置
接口描述
获取站点短信设置
Method
GET
request
null
response
{
"code": 0,
"msg": "ok",
"data": {
"sms_signature": "bshop下单啦", M string 短信签名
"is_open_sms_bshop_order": 1, M bool 是否开启商城下单提醒
"is_open_sms_station_order": 1, M bool 是否开启代下订单提醒
}
/sms/customized_info/update 更新站点短信设置
接口描述
更新站点短信设置
Method
POST
request
sms_signature M string 短信签名
is_open_sms_bshop_order M bool 是否开启商城下单提醒
is_open_sms_station_order M bool 是否开启代下订单提醒
response
{
"code": 0,
"msg": "ok",
"data": ""
}
/sms/callback 腾讯云短信回调
接口描述
腾讯云短信回调
Method
POST
request
通过rmi转发到通知微服务, 详情看通知微服务短信回调接口
response
{
'result': 0,
'errmsg': 'OK'
}
gm_server_notify 通知微服务工程
/sms/send/add 添加短信发送任务
接口描述
添加短信发送任务
Method
POST
request
receive_phone M int 发送电话
business_type M int 业务类型(0: 商城下单, 1: 代下订单...)
station_id O string 站点id
restaurant_id O int 商户id
receive_name O string 商户名
sms_content O dict 短信内容
reponse
{
"code": 0,
"msg": "ok",
"data": {
"task_id": 2 M int 任务id
}
}
/sms/send/start 开始发送任务
接口描述
开始发送任务
Method
POST
request
task_id M int 任务id
response
{
"code": 0,
"msg": "ok",
"data": ""
}
/sms/combo/get 获取套餐包
接口描述
获取短信套餐包
Method
GET
request
null
response
{
"code": 0,
"msg": "ok",
"data": [{
"id": 123, M int 套餐id
"name": "1000条短信包", M string 套餐名
"price": "100.00", M string 套餐价格
"sms_nums": 1000, M int 套餐短信条数
"unit": "0.50" M string 每条单价
}, ...]
}
/sms/balance/get 获取站点短信余额
接口描述
获取站点短信余额
Method
GET
request:
station_id M string 站点id
response:
{
"code": 0,
"msg": "ok",
"data": {
"sms_balance": 100, M int 短信余额
}
}
/sms/data_center/get 获取短信近多少天详情
接口描述
获取短信近多少天详情
Method
GET
request
station_id M string 站点id
start_date M date 起始时间
end_date M date 结束时间
response
{
"code": 0,
"msg": "ok",
"data": [{
"send_date": "2018-07-08", M datetime 发送时间
"total_send_nums": 100, M int 总的发送数量
"success_send_nums": 90 M int 发送成功数
"send_failed_nums": 10 M int 发送失败数
}, ...,
{
"send_date": "2018-08-06",
"total_send_nums": 100,
"success_send_nums": 90,
"send_failed_nums": 10
}]
}
/sms/recharge_record/get 获取充值记录
接口描述
获取充值记录
Method
GET
request
start_date O datetime 起始时间
end_date O datetime 结束时间
station_id O string 站点id
page_obj O string 起始页(不包含),默认第0页
reverse O bool 是否反向查询。1:是,0:不是。默认为否。
limit O int 返回条数,默认10。传0表示返回所有数据。
response
{
"code": 0,
"msg": "ok",
"data": [{
"recharge_date": "2018-08-08 15:00", M string 充值日期
"station_id": "T7442", M string 站点id
"combo_name": "1000条短信包", M string 套餐包
"recharge_money": "100.00", M string 充值价格
"recharge_nums": 1000, M int 套餐条数
"deal_code": "123455asd", M string 交易凭证
"remark": "test", M string 备注
"operator_name": "iron" M string 操作人
}, ...],
"pagination": { M dict
"more": true, M bool 是否有更多数据
"page_obj": "gtyuhbgyhbvgyhgvgy", M string
}
}
/sms/recharge_record/create 创建充值记录
接口描述
创建充值记录
Method
POST
request
station_id M string 站点id
combo_id M int 套餐包id
combo_price M int 套餐价(元)
combo_nums M int 套餐条数(条)
unit_price M string 每条单价
deal_code O string 到账凭证
remark O string 备注
response
{
"code": 0,
"msg": "ok",
"data": ""
}
/sms/send_record/get 获取站点发送记录
接口描述
获取站点发送明细
Method
GET
request
station_id M string 站点id
start_date M datetime 查询起始时间
end_date M datetime 查询结束时间
status O int 状态(0:失败, 1:成功, 不传代表全部)
search_text O string 搜索文本(商户名或联系电话)
page_obj O string 起始页(不包含),默认第0页
reverse O bool 是否反向查询。1:是,0:不是。默认为否。
limit O int 返回条数,默认10。传0表示返回所有数据。
response
{
"code": 0,
"msg": "ok",
"data": [{ M list 发送明细
"send_time": "2018-07-19 16:20", M string 发送时间
"restaurant_id": 12314 M int 商户id
"receive_name": "qcg", M string 商户名称
"receive_phone": 12345121212, M int 联系电话
"business_type": 0, M int 业务类型,0:商城下单, 1:代下订单
"status": 1, M bool 接受状态, 1:成功, 0失败
"remark": "余额不足" M string 备注
}, ...],
"pagination": { M dict
"more": true, M bool 是否有更多数据
"page_obj": "gtyuhbgyhbvgyhgvgy", M string
}
}
/sms/statistics_detail/get 获取短信统计-明细
接口描述
获取短信统计-明细
method
GET
request:
search_text O string 搜索文本(站点id/站点名)
page_obj O string 起始页(不包含),默认第0页
reverse O bool 是否反向查询。1:是,0:不是。默认为否。
limit O int 返回条数,默认10。传0表示返回所有数据。
response:
{
"code": 0,
"msg": "ok",
"data": [{
"staiton_id": "T7442", M string 站点id
"total_recharge_money": "100.00", M string 总的充值金额
"total_recharge_nums": 10000, M int 总的购买条数
"sms_balance": 100, M int 短信余额
}, ...],
"pagination": { M dict
"more": true, M bool 是否有更多数据
"page_obj": "gtyuhbgyhbvgyhgvgy", M string
}
}
/sms/callback 腾讯云短信回调
接口描述
腾讯云短信回调
Method
POST
request
'callback_data': [ M dict 回调数据
{
"user_receive_time": "2015-10-17 08:03:04", M string 用户实际接收到短信的时间
"nationcode": "86", M string 国家码
"mobile": "13xxxxxxxxx", M string 手机号码
"report_status": "SUCCESS", M string 是否收到短信
"errmsg": "DELIVRD", M string 错误码
"description": "用户短信送达成功", M string 状态描述
"sid": "xxxxxxx" M string 本次发送唯一标识
}
{
...
}, ...
]
response
{
"code": 0,
"msg": "ok",
"data": ""
}