by-zer0 / sms-assistant-php
用于通过 sms-assistent.by HTTP API 使用短信助手.php 库
Suggests
- guzzlehttp/guzzle: For using ByZer0\SmsAssistantBy\Request\GuzzleRequest
This package is not auto-updated.
Last update: 2024-09-28 20:09:06 UTC
README
sms-assistent.by API PHP 包装器
此库可用于通过 sms-assistent.by 网站发送消息。
有关 API 的更多信息,请参阅 此处。
安装
将以下需求添加到您的 composer.json 文件中
{
"require": {
"by-zer0/sms-assistant-php": "1.2"
}
}
或者直接使用 composer 命令
composer require by-zer0/sms-assistant-php:1.2
用法
首先创建客户端实例。
require 'vendor/autoload.php'; use ByZer0\SmsAssistantBy\Client; use ByZer0\SmsAssistantBy\Http\GuzzleClient; $client = (new Client(new GuzzleClient())) ->setUsername('<username>') // Set username to pass API authorization. ->setSender('<sender-name>') // Set default sender name. ->setPassword('<password>'); // Set account password to pass API authorization. // ->setToken('<token>'); // Optional, set access token instead of password.
构造函数接受 ByZer0\SmsAssistantBy\Http\ClientInterface 实例。此实例将实际用于执行 HTTP 请求。默认情况下,该包包含 ByZer0\SmsAssistantBy\Http\GuzzleClient 类 - 用于 guzzlehttp/guzzle 库的请求包装器。您可以为与任何其他库一起使用而编写自己的 ByZer0\SmsAssistantBy\Http\ClientInterface 实现。
如果您想使用默认的 Guzzle 适配器,请执行以下命令
composer require guzzlehttp/guzzle
大量发送
使用 sendMessages($messages, $default = [], $time = null) 方法一次性发送多个消息。
$default = [ 'sender' => '<default-sender>', 'text' => 'This is default message text', ]; $messages = [ [ 'phone' => '+375294011111', 'sender' => 'notdefault', 'text' => 'Message for first recipient', ], [ 'phone' => '+375294022222', // default sender name and text will be used ], ]; $client->sendMessages($messages, $default);
在这种情况下,$default 代表每条消息的通用设置。默认消息可以包含以下字段
sender- 使用一个发送者名称为每条消息text- 通用文本可以放在这里以避免每条消息中的重复
每条消息必须包含一个必填字段
phone- 消息接收者的电话号码。
除了 phone 之外,任何默认值都可以在任何消息中覆盖。
您还可以使用 sendMessages() 方法的第三个参数来延迟发送。第三个参数 $time 接受 DateTime 实例。
单条消息
使用 sendMessage($phone, $text, $time = null, $sender = null) 方法发送单条消息。
$client->sendMessage('+375294011111', 'Example message text');
此方法接受最多四个参数
phone- 消息接收者的电话号码。text- 消息文本。time-DateTime实例。用于延迟消息交付。sender- 发送者名称。如果使用,则此名称将覆盖由setSender()方法指定的默认值。