anlutro/bulk-sms

PHP中的BulkSMS API实现。

2.2.0 2021-07-14 16:33 UTC

This package is auto-updated.

Last update: 2024-09-15 01:42:35 UTC


README

PHP中BulkSMS的一个简单实现。

包括发送单个或批量消息的功能。

安装

此包需要PHP 5.4,因为我懒得输入array()。抱歉。

使用composer: composer require anlutro/bulk-sms - 版本列表可通过GitHub的标签列表获取。

Laravel

此包包含文件,以便在Laravel 4及更高版本中使用非常方便。

  1. anlutro\BulkSms\Laravel\BulkSmsServiceProvider添加到app/config/app.php中的服务提供者列表。
  2. 运行php artisan config:publish anlutro/bulk-sms。编辑app/config/packages/anlutro/bulk-sms中的配置文件,并填写您的用户名和密码。
  3. (可选) 通过在app/config/app.php中的别名中添加'BulkSms' => 'anlutro\BulkSms\Laravel\BulkSms'来添加对门面的别名。

凭证

要使用此库,您需要在与Bulksms创建账户。他们支持为特定区域提供几个子站点。

  1. 用户名:Bulksms登录
  2. 密码:Bulksms登录密码
  3. Baseurl:连接到的Bulksms子站点(例如,'http://bulksms.com' 或 'http://bulksms.de')

用法

发送单个消息

$bulkSms = new anlutro\BulkSms\BulkSmsService('username', 'password', 'baseurl');
$bulkSms->sendMessage('12345678', 'Hello there!');

通过提供消息数组同时发送多个消息

$message1 = new \anlutro\BulkSms\Message('12345678', 'Hi there');
$message2 = new \anlutro\BulkSms\Message('12345678', 'Hello again');
$bulkSms = new anlutro\BulkSms\BulkSmsService('username', 'password', 'baseurl');
$bulkSms->sendMessage(array($message1,$message2));

获取一批消息的状态

$bulkSms = new anlutro\BulkSms\BulkSmsService('username', 'password', 'baseurl');
$bulkSms->getStatusForBatchId(693099785);

发送Unicode消息

为了发送Unicode消息,请确保您的消息是UTF-16,将其转换为十六进制,并指定'dca'参数

$text = 'السلام عليكم';
$encodedMessage = bin2hex(mb_convert_encoding($text, 'utf-16', 'utf-8')) ; 
$bulkSms->sendMessage('12345678', $encodedMessage, ['dca' => '16bit']);

发送测试消息

BulkSms支持测试模式(SUCCESS和FAIL),这些模式将验证消息并返回定义的响应而不实际发送短信。为了在测试模式下发送消息,请运行以下操作

发送将返回成功的消息

$bulkSms = new anlutro\BulkSms\BulkSmsService('username', 'password', 'baseurl');
$bulkSms->setTestMode(\anlutro\BulkSms\BulkSmsService::TEST_ALWAYS_SUCCEED);
$bulkSms->getStatusForBatchId(693099785);

发送将返回失败响应的消息 - 并因此触发BulkSmsException

$bulkSms = new anlutro\BulkSms\BulkSmsService('username', 'password', 'baseurl');
$bulkSms->setTestMode(\anlutro\BulkSms\BulkSmsService::TEST_ALWAYS_FAIL);
$bulkSms->getStatusForBatchId(693099785);

在Laravel中,您不需要构造$bulkSms,如果已遵循上述安装步骤,则可以使用BulkSms::替换$bulkSms-

联系方式

如果您有任何问题或建议,请在GitHub上提交问题。

许可证

此存储库的内容在MIT许可证下发布。