IoT云通信 IoTCom-Python:状态报告接收
时间:2025-02-12 14:54:10
状态报告接收
# -*- coding: utf-8 -*-import urllib.parse# 短信平台上报状态报告数据样例(urlencode)#success_body = "requestId=20220126&mobile=12345678911&messageId=2022012619403400&status=DELIVRD&resultCode=000000&resultDesc=success&smsCount=null&receiveTime=null";failed_body = "requestId=20220126&mobile=12345678911&messageId=2022012619403400&status=E200027&resultCode=1020001&resultDesc=Parameter error&smsCount=null&receiveTime=null";'''解析状态报告数据@param data: 短信平台上报的状态报告数据@return: '''def onSmsStatusReport(data): keyValues = urllib.parse.parse_qs(data); #解析状态报告数据 ''' Example: 此处以解析status为例,请按需解析所需参数并自行实现相关处理 'messageId': 短信唯一标识 'smsCount': 长短信拆分条数 'receiveTime': 资源更新时间 'status': 状态码 ''' status = keyValues.get('status'); #状态报告枚举值 # 通过status判断短信是否发送成功 if 'DELIVRD' == str.upper(status[0]): print('Send sms success. messageId: ', keyValues.get('messageId')[0]); else: # 发送失败,打印status print('Send sms failed. messageId: ', keyValues.get('messageId')[0]); print('Failed status: ', status[0]);if __name__ == '__main__':# onSmsStatusReport(success_body) onSmsStatusReport(failed_body)
support.huaweicloud.com/devg-iotcom/iotcom_04_0205.html