toplan / phpsms

:iphone::rocket:Probably the most intelligent, elegant sms send library in php
MIT License
641 stars 129 forks source link

发送后,如何记录详细的返回消息 #115

Closed dzymail closed 7 years ago

dzymail commented 7 years ago

你好,我现在正用阿里大于测试,可以判断发送失败或成功,但是我想记录返回的详细消息到数据库中。以方便排错之类。 请给一个返回结果的数据结构? 如何记录具体错误代码、详细错误消息? 如果使用其他服务商,返回的结果也是一样吗?

https://github.com/toplan/task-balancer 这里提到了$result结构,但是并没有关键细节,不太明白。

toplan commented 7 years ago

有两种方式都可以看到: 1、通过 PhpSms::make()->...->send() 发送后,返回值中就可以看到详细记录(前提不使用队列) 2、通过 PhpSms::afterSend(...) 钩子来处理,不论是否使用队列都可以得到详细记录

dzymail commented 7 years ago

可以请说一下细节吗?我主要是细节不明白 有一处文档说

The $result structure: [ 'success' => true, 'time' => [ 'started_at' => timestamp, 'finished_at' => timestamp ], 'logs' => [ '0' => [ 'driver' => 'driver_1', 'success' => false, 'time' => [ 'started_at' => timestamp, 'finished_at' => timestamp ], 'result' => 'some data you need' ], ... ] ]

上面这个返回结构有两个success,两个result 一个是程序发送情况,一个是服务商返回的情况吗?返回的细节在第二个result里面? 我看了阿里大于的官方api,他的错误消息有类似于『你的模板变量错误,错误代码xx』之类的返回消息。我需要记录这个。前几天测试时没有获取到类似的详细消息。 我抽空再测试下,谢谢

toplan commented 7 years ago

第一个success,代表是否发送成功。第二个代表相应的代理器是否发送成功。