webregul/sms-ru-client

sms.ru 客户端

v2.0.1 2023-05-02 12:06 UTC

This package is auto-updated.

Last update: 2024-10-01 00:08:24 UTC


README

test Software License Quality Score StyleCI Total Downloads Codecov

内容

安装

使用 Composer 安装此包

composer require webregul/sms-ru-client

使用

配置

该包提供简单的配置,只需在 SmsRuConfig 中填写以下配置

require __DIR__ . '/vendor/autoload.php';

$api = new \Kafkiansky\SmsRu\SmsRuApi(
    new \Kafkiansky\SmsRu\SmsRuConfig(
        [
            'api_id' => 'XXXXX-XXXX-XXXXX',
            'test'   => 1,
            'json'   => 1,
        ]
    ),
    new \GuzzleHttp\Client()
);

test 参数设置为 1 以防止测试环境中真实货币的消耗。您也可以使用您的登录名/密码进行请求,但仅在使用 https 时才安全

$api = new \Kafkiansky\SmsRu\SmsRuApi(
    new \Kafkiansky\SmsRu\SmsRuConfig(
        [
            'login' => 'secret',
            'password' => 'secret',
            'test'   => 1,
            'json'   => 1,
        ]
    ),
    new \GuzzleHttp\Client()
);

可用方法

发送

  1. 一个客户端 - 一条消息
require __DIR__ . '/vendor/autoload.php';

$api = new \Kafkiansky\SmsRu\SmsRuApi(
    new \Kafkiansky\SmsRu\SmsRuConfig(
        [
            'api_id' => 'XXXXX-XXXX-XXXXX',
            'test'   => 1,
            'json'   => 1,
        ]
    ),
    new \GuzzleHttp\Client()
);

$response = $api->send(
    new \Kafkiansky\SmsRu\Message\SmsRuMessage(
        new \Kafkiansky\SmsRu\Message\To('7909000000', 'Hello')
    )
);
  1. 多个客户端 - 一条消息
$response = $api->send(
    new \Kafkiansky\SmsRu\Message\SmsRuMessage(
        new \Kafkiansky\SmsRu\Message\To(['7909000000', '7909111111'], 'Hello')
    )
);
  1. 多个客户端 - 多条消息
$response = $api->send(
    new \Kafkiansky\SmsRu\Message\SmsRuMessage(
        new \Kafkiansky\SmsRu\Message\Multi([
            new \Kafkiansky\SmsRu\Message\To('7909000000', 'Hello'),
            new \Kafkiansky\SmsRu\Message\To('7909111111', 'Bonjour'),
        ])
    )
);

SmsRuMessage 有许多其他参数:您可以指定用户 IP、ttl、时间、白天和转写。请参阅 文档 获取完整说明。使用很简单

$response = $api->send(
    (new \Kafkiansky\SmsRu\Message\SmsRuMessage(
        new \Kafkiansky\SmsRu\Message\Multi([
            new \Kafkiansky\SmsRu\Message\To('7909000000', 'Hello'),
            new \Kafkiansky\SmsRu\Message\To('7909111111', 'Bonjour'),
        ])
    ))
      ->enableDaytime()
      ->enableTranslit()
      ->withTime(1000)
);

或者使用静态调用

$response = $api->send(
    \Kafkiansky\SmsRu\Message\SmsRuMessage::fromRecipient(
        new \Kafkiansky\SmsRu\Message\Multi([
            new \Kafkiansky\SmsRu\Message\To('7909000000', 'Hello'),
            new \Kafkiansky\SmsRu\Message\To('7909111111', 'Bonjour'),
        ])
    )
      ->enableDaytime()
      ->enableTranslit()
      ->withTime(1000)
);

如果需要,您可以使用 iconv 进行编码转换,只需在 Multi 类型的第二个参数中放置 true

new \Kafkiansky\SmsRu\Message\Multi([
     new \Kafkiansky\SmsRu\Message\To('7909000000', 'Hello'),
     new \Kafkiansky\SmsRu\Message\To('7909111111', 'Bonjour'),
], true);

以及在 To 的第三个参数中

new \Kafkiansky\SmsRu\Message\To('7909000000', 'Hello', true);

费用

您可以获取消息批次的费用

$response = $api->cost(
    new \Kafkiansky\SmsRu\Message\SmsRuMessage(
        new \Kafkiansky\SmsRu\Message\Multi([
            new \Kafkiansky\SmsRu\Message\To('7909000000', 'Hello'),
            new \Kafkiansky\SmsRu\Message\To('7909111111', 'Bonjour'),
        ])
    )
);

echo $response->getTotalCost();

余额

$response = $api->balance();

echo $response->getBalance();

限制

$response = $api->limit();

echo $response->getTotalLimit();
echo $response->getUsedToday();

发送者

$response = $api->senders();

echo $response->getSenders();

测试

$ composer test

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件