erdemkeren / jet-sms-php
JetSMS API 的 PHP 客户端库
1.2.0
2018-02-28 19:49 UTC
Requires
- php: >=5.6.4
- guzzlehttp/guzzle: ~6.0
Requires (Dev)
- mockery/mockery: ^0.9.5
- phpunit/phpunit: 4.*
This package is auto-updated.
Last update: 2024-09-22 02:43:52 UTC
README
此包提供了一个易于使用的 JetSMS 服务,可用于 XML 和 Http API。
此包,既适用于 XML 也适用于 Http API 的 JetSMS 服务。
土耳其语版本请参阅: BENIOKU
内容
安装
您可以通过 composer 安装此包
composer require erdemkeren/jet-sms-php
设置 JetSMS 服务
您需要注册 JetSMS 以使用此渠道。
用法
首先,使用您的客户端实现启动 JetSmsService。
- JetSmsXmlClient
- JetSmsHttpClient(这实际上是一个类似 Rest 的客户端,但供应商这样命名他们的 API。)
require __DIR__ . '/../vendor/autoload.php'; use Erdemkeren\JetSms\JetSmsService; use Erdemkeren\JetSms\JetSmsService; use Erdemkeren\JetSms\ShortMessageFactory; use Erdemkeren\JetSms\Http\Clients\JetSmsXmlClient; use Erdemkeren\JetSms\Http\Clients\JetSmsHttpClient; use Erdemkeren\JetSms\ShortMessageCollectionFactory; $service = new JetSmsService(new JetSmsXmlClient( 'www.biotekno.biz:8080/SMS-Web/xmlsms', 'username', 'password', 'outboxname' ), new ShortMessageFactory(), new ShortMessageCollectionFactory()); // ya da $service = new JetSmsService(new JetSmsHttpClient( new GuzzleHttp\Client(), 'https://service.jetsms.com.tr/SMS-Web/HttpSmsSend', 'username', 'password', 'outboxname' ), new ShortMessageFactory(), new ShortMessageCollectionFactory());
可用方法
成功启动您的 JetSmsService 实例后;使用以下方法之一发送短信消息。
一条消息 - 单个或多个收件人
$response = $service->sendShortMessage(['5530000000', '5420000000'], 'This is a test message.'); if($response->isSuccessful()) { // storeGroupIdForLaterReference is not included in the package. storeGroupIdForLaterReference($response->groupId()); } else { var_dump($response->message()); var_dump($response->statusCode()); var_dump($response->status()); }
多条消息 - 多个收件人
请注意,如果您使用该方法,每条消息应只有一个收件人。(这也是 API 限制,我没有破解。)
$response2 = $service->sendShortMessages([[ 'recipient' => '5530000000', 'message' => 'This is a test.', ], [ 'recipient' => '5420000000', 'message' => 'This is another test.', ]]); if($response2->isSuccessful()) { // storeGroupIdForLaterReference is not included in the package. storeGroupIdForLaterReference($response2->groupId()); } else { var_dump($response2->message()); var_dump($response2->statusCode()); var_dump($response2->status()); }
交叉引用
$response->groupId()
如果客户端是 JetSmsHttpClient
,则会抛出 BadMethodCallException。$response->messageReportIdentifiers()
如果客户端是 JetSmsXmlClient
,则会抛出 BadMethodCallException。
谨慎更改客户端实现。
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG。
测试
$ composer test
安全性
如果您发现任何安全相关的问题,请通过电子邮件 erdemkeren@gmail.com 而不是使用问题跟踪器。
贡献
有关详细信息,请参阅 CONTRIBUTING。
致谢
许可证
MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件。