igormakarov / smsby.api.php.client
SMS.BY API 客户端 - 用于发送短信和 Viber 消息的服务
v1.2.0
2024-07-30 11:11 UTC
Requires
- php: >=7.4.3 || ^8.0.2
- ext-json: *
- guzzlehttp/guzzle: ^7.4
README
smsby.api.php.client - SMS.BY API 的客户端
注意
仅实现了快速短信的发送、创建消息并发送至群发、获取 alpha 名称、按名称获取 alpha 名称 ID、检查短信状态和获取余额
官方文档
加入项目
composer require igormakarov/smsby.api.php.client
require_once 'vendor/autoload.php';
初始化和描述方法
初始化
$client = new SmsByApiClient('yourApiKey');
获取 alpha 名称列表(AlphaName 对象数组)
$client->getAlphaNames(): array<AlphaName>
按名称获取 alpha 名称 ID
$id = $client->getAlphanameId('yourAlphaName'): int
发送快速短信,返回 SMS 消息 ID,可用于检查发送和投递状态
$smsId = $client->sendQuickSMS(string $message, string $phone, int $alphaNameId = 0): int
发送快速短信并转发至 Viber,如果 SMS 消息未能送达,则 sendQuickSMS 方法将更全面。返回消息 ID
$smsId = $client->sendQuickSMSWithForwarding(string $message, string $phone, int $viberNameId, int $alphaNameId = 0, $forwardingTimeInMinutes = 60): int
创建用于群发的消息
$createdSmsMessage = $client->createSmsMessage(string $message, string $name = '', int $alphaNameId = 0, string $sendDateTime = ''): CreatedSmsMessage
发送由 createSmsMessage 方法创建的 SMS 消息,返回 SMS 消息 ID
$smsId = $client->sendSms(CreatedSmsMessage $createdSmsMessage, string $phone): int
获取消息状态 SmsStatus,接受 sendQuickSMS、sendQuickSMSWithForwarding 或 sendSms 方法发送的 SMS ID
$smsStatus = $client->checkSMS(int $smsId): SmsStatus Модель SmsStatus может вам показать отправленно ли, доставлено ли сообщение и когда $smsStatus->isDelivered(), $smsStatus->isSent()
获取余额,返回包含货币信息和余额信息的 Balance 模型
$balanace = $client->getBalance(): Balance
快速短信发送示例(请注意,SMS.BY API 中发送和投递状态的更新可能不是即时的)
try { $client = new SmsByApiClient("yourApiKey"); $firstAlphaName = $client->getAlphaNames()[0]; $smsId = $client->sendQuickSMS("test", '375222222227', $firstAlphaName->getId()); while (!$client->checkSMS($smsId)->isSent()) { sleep(2); } echo "Сообщение #" . $smsId . " отправлено \n"; while (!$client->checkSMS($smsId)->isDelivered()) { sleep(2); } echo "Сообщение " . $smsId . " доставлено \n"; } catch (Exception $ex) { echo $ex->getMessage(); }