smart-raya/ippanel-laravel
IPPanel 在 Laravel 中用于发送短信的简单 API 扩展
v1.0
2020-06-08 17:10 UTC
Requires
- php: >=5.6.4
This package is auto-updated.
Last update: 2024-09-29 05:48:50 UTC
README
此存储库包含用于 ippanel
API 的开源 Laravel 客户端。文档可以在以下位置找到:http://docs.ippanel.com。
安装
使用 composer
composer require smart-raya/ippanel-laravel
然后发布配置文件
php artisan vendor:publish --provider="SmartRaya\IPPanelLaravel\IPPanelServiceProvider"
并在 .env
文件中添加 IPPANEL_API
APP_NAME=Laravel APP_ENV=local ... IPPANEL_API=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
示例
要使用 SDK,您只需调用 IPPanel::Command()
信用检查
# return float64 type credit amount $credit = IPPanel::getCredit();
一对多发送
发送短信时,显然您需要 originator
号码、recipients
和 message
。
$bulkID =IPPanel::send( "+9810001", // originator ["98912xxxxxxx"], // recipients "ippanel is awesome" // message );
如果发送成功,将返回一个唯一的跟踪代码,您可以使用该代码跟踪您的消息状态。
获取消息摘要
$bulkID = "message-tracking-code"; $message = IPPanel::get_message($bulkID); echo $message->status; // get message status echo $message->cost; // get message cost echo $message->payback; // get message payback
获取消息投递状态
$bulkID = "message-tracking-code" list($statuses, $paginationInfo) = IPPanel::fetchStatuses($bulkID, 0, 10) // you can loop in messages statuses list foreach($statuses as status) { echo sprintf("Recipient: %s, Status: %s", $status->recipient, $status->status); } echo sprintf("Total: ", $paginationInfo->total);
收件箱检索
检索收件箱消息
list($messages, $paginationInfo) = IPPanel::fetchInbox(0, 10); foreach($messages as $message) { echo sprintf("Received message %s from number %s in line %s", $message->message, $message->sender, $message->number); }
创建模式
要发送具有预定义模式(例如,验证码等)的消息,您必须创建一个模式。一个模式至少有一个参数。参数用 %param_name%
定义。
$pattern = IPPanel::createPattern("%name% is awesome", False); echo $pattern->code;
使用模式发送
$patternValues = [ "name" => "IPPANEL", ]; $bulkID = IPPanel::sendPattern( "t2cfmnyo0c", // pattern code "+9810001", // originator "98912xxxxxxx", // recipient $patternValues, // pattern values );
错误检查
use SmartRaya\IPPanelLaravel\Errors\Error; use SmartRaya\IPPanelLaravel\Errors\HttpException; try{ $bulkID = IPPanel::send("9810001", ["98912xxxxx"], "ippanel is awesome"); } catch (Error $e) { // ippanel error var_dump($e->unwrap()); // get real content of error echo $e->getCode(); // error codes checking if ($e->code() == ResponseCodes::ErrUnprocessableEntity) { echo "Unprocessable entity"; } } catch (HttpException $e) { // http error var_dump($e->getMessage()); // get stringified error echo $e->getCode(); }