kafkiansky/sms-ru-client

v1.0.0 2020-05-05 07:58 UTC

This package is auto-updated.

Last update: 2024-09-08 13:04:00 UTC


README

test Software License Quality Score StyleCI Total Downloads Codecov

内容

安装

使用 Composer 安装此包

composer require kafkiansky/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)。有关更多信息,请参阅 许可文件