|
# -*- coding: utf-8 -*-'
import hashlib
import requests
class KuaiDi100:
def __init__(self):
self.key = '' # TODO 客户授权key
self.userid = '' # TODO 查询公司编号
md = hashlib.md5()
md.update((self.key + self.userid).encode())
self.sign = md.hexdigest().upper()
self.url = 'https://apisms.kuaidi100.com/sms/send.do' # 接口地址,或者 http://apisms.kuaidi100.com:9502/sms/send.do
def send_sms(self, seller, phone, tid, sms_content, order_id):
"""
短信发送
:param seller: 商户名称签名;最好用简称,该字段信息会在短信标签处显示。不要超过5个字符
:param phone: 接收短信手机号
:param tid: 短信模板ID
:param sms_content: 短信模板替换内容
:param order_id: 外部订单号:当该短信发送模板有回调地址时,外部订单号会返回给调用者,方便用户更新数据
:return: requests.Response.text
"""
req_params = {
'sign': self.sign, # 加密签名信息:MD5(key + userid);加密后字符串转大写
'userid': self.userid, # 我方分配给贵司的的短信接口用户ID,点击查看账号信息
'seller': seller, # 商户名称签名;最好用简称,该字段信息会在短信标签处显示。不要超过5个字符
'phone': phone, # 接收短信手机号
'tid': tid, # 短信模板ID
'content': sms_content, # 短信模板替换内容
'outorder': order_id, # 外部订单号:当该短信发送模板有回调地址时,外部订单号会返回给调用者,方便用户更新数据
# 'callback': 'https//www.baidu.com/kd100/callback' # 回调地址:如果客户在发送短信时填写该参数,将按照这个参数回调短信发送状态;如果为空,将按照模板配置的地址回调短信发送状态;如果两个参数都不填写,将不会回调通知状态
}
return requests.post(self.url, req_params).text # 发送请求
content = { # 短信模板替换内容
"接收人姓名": "小百",
"公司名": "快递100",
"快递单号": "154893238584",
"url": "https://www.kuaidi100.com"
}
result = KuaiDi100().send_sms('快递100', '13800138000', '11', content, '123456789')
print(result)
|