$sms_url_callback = file_get_contents("php://input"); // 短信平台上报状态报告数据样例(urlencode) $success_body = 'http://www.baidu.cn/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'; file_put_contents("test.txt", $sms_url_callback.PHP_EOL, FILE_APPEND); onSmsStatusReport($sms_url_callback); // onSmsStatusReport($failed_body); /** * 解析状态报告数据 * * @param string $data 短信平台上报的状态报告数据 */ function onSmsStatusReport(string $data) { $keyValues = []; parse_str(urldecode($data), $keyValues); //解析状态报告数据 /** * Example: 此处已解析status为例,请按需解析所需参数并自行实现相关处理 * * 'smsMsgId': 短信唯一标识 * 'total': 长短信拆分条数 * 'sequence': 拆分后短信序号 * 'source': 状态报告来源 * 'updateTime': 资源更新时间 * 'status': 状态码 */ $status = $keyValues['status']; // 状态报告枚举值 // 通过status判断短信是否发送成功 if ('DELIVRD' === strtoupper($status)) { file_put_contents("test.txt", 'Send sms success. smsMsgId: ' . $keyValues['smsMsgId'] . PHP_EOL, FILE_APPEND); //print 'Send sms success. smsMsgId: ' . $keyValues['smsMsgId'] . PHP_EOL; } else { // 发送失败,打印status和orgCode file_put_contents("test.txt", '====Failed status: ' . $status . PHP_EOL .'Send sms success. smsMsgId: ' . $keyValues['smsMsgId'] . PHP_EOL, FILE_APPEND); // print 'Send sms failed. smsMsgId: ' . $keyValues['smsMsgId'] . PHP_EOL; // print 'Failed status: ' . $status . PHP_EOL; } }
华为云短信发送短信状态回调php代码
继续阅读与本文标签相同的文章
上一篇 :
php时间相互转换,UTC时间
下一篇 :
华为云短信出现E200028 E000510
-
阿里云Linux服务器动态扩容(阿里云服务器扩容后磁盘空间无变化解决方法)
2020-11-30栏目: 建站教程
-
6个SEM实战技巧,大神手把手教你做推广!
2020-07-20栏目: SEM
-
苏州美食推荐,持续更新
2020-06-17栏目: 生活笔记
-
企业如何玩转视频号
2020-05-12栏目: 运营杂谈
-
SEO关键词排名该掌握的核心优化技巧
2020-05-12栏目: SEO
打印
分享
发表评论 已发布 0 条