消息&短信 MSGSMS-Python:接收状态报告

时间:2025-02-12 15:01:52

接收状态报告

 1 2 3 4 5 6 7 8 910111213141516171819202122232425262728293031323334353637
# -*- coding: utf-8 -*-import urllib.parse# 短信平台上报状态报告数据样例(urlencode)#success_body = "sequence=1&total=1&updateTime=2018-10-31T08%3A43%3A41Z&source=2&smsMsgId=2ea20735-f856-4376-afbf-570bd70a46ee_11840135&status=DELIVRD";failed_body = "sequence=1&total=1&updateTime=2018-10-31T08%3A43%3A41Z&source=2&smsMsgId=2ea20735-f856-4376-afbf-570bd70a46ee_11840135&status=E200027";'''解析状态报告数据@param data: 短信平台上报的状态报告数据@return: '''def onSmsStatusReport(data):    keyValues = urllib.parse.parse_qs(data); #解析状态报告数据    '''    Example: 此处已解析status为例,请按需解析所需参数并自行实现相关处理    'smsMsgId': 短信唯一标识    'total': 长短信拆分条数    'sequence': 拆分后短信序号    'source': 状态报告来源    'updateTime': 资源更新时间    'status': 状态码    '''    status = keyValues.get('status'); #状态报告枚举值    # 通过status判断短信是否发送成功    if 'DELIVRD' == str.upper(status[0]):        print('Send sms success. smsMsgId: ', keyValues.get('smsMsgId')[0]);    else:        # 发送失败,打印status和orgCode        print('Send sms failed. smsMsgId: ', keyValues.get('smsMsgId')[0]);        print('Failed status: ', status[0]);if __name__ == '__main__':#     onSmsStatusReport(success_body)    onSmsStatusReport(failed_body)
support.huaweicloud.com/devg-msgsms/sms_04_0004.html