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