by-zer0/sms-assistant-php

用于通过 sms-assistent.by HTTP API 使用短信助手.php 库

1.2 2016-12-28 06:53 UTC

This package is not auto-updated.

Last update: 2024-09-28 20:09:06 UTC


README

StyleCI

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() 方法指定的默认值。