mkrysztofiak / smsplanet-php-client
用PHP编写的SMS API客户端,允许发送短信、MMS以及使用SMSPLANET.pl网站上的其他功能
Requires
- php: >=7.2
- ext-dom: *
- ext-fileinfo: *
- ext-simplexml: *
- guzzlehttp/guzzle: ^7.0.1
- nesbot/carbon: ^2.20
Requires (Dev)
- phpunit/phpunit: ^8.2
- vlucas/phpdotenv: ^3.4
This package is not auto-updated.
Last update: 2024-09-22 11:14:06 UTC
README
简介
SMSPLANET.PL平台允许大量发送营销短信和MMS。我们允许通过本文件中描述的API将我们的平台与任何计算机系统集成。
开始使用
要开始使用该平台,请访问SMSPLANET网站的https://www.smsplanet.pl并创建账户。然后,在“我的资料”选项卡中填写公司信息,并通过充值点数(PrePaid)或签订套餐合同(PostPaid)来充值账户,这将允许发送消息。
API密钥
每个系统用户都有一个唯一的API密钥,需要在发送到SMSPLANET的所有HTTP请求中传递。密钥用于识别用户,在API接口中充当登录名。您可以在“API”选项卡中找到您的密钥。
API密码
新账户注册后,API接口密码与面板WWW密码相同。要更改API密码,请使用“API”选项卡中的表单。API密码和面板WWW密码是独立的。
PHP客户端
安装包
composer require smsplanet/smsplanet-php-client
认证
初始化客户端时,需要提供API密钥和密码。
<?php $client = new \SMSPLANET\PHP\Client([ 'key' => '<KLUCZ API>', 'password' => '<HASŁO DO API>' ]); // (...)
发送短信
<?php $client = new \SMSPLANET\PHP\Client(/* init */); // Wersja podstawowa $message_id = $client->sendSimpleSMS([ 'from' => 'TEST', // Nazwa nadawcy zgodnie z ustawieniami konta 'to' => '48xxxxxxxxx', 'msg' => 'Treść wiadomości' ]); // Wersja zaawansowana $message_id = $client->sendSMS([ 'from' => 'TEST', // Nazwa nadawcy zgodnie z ustawieniami konta 'to' => '48xxxxxxxxx', 'msg' => 'Treść wiadomości', 'date' => '21-05-2017 10:05:00', 'clear_polish' => 1, 'test' => 1, ]);
发送MMS
<?php $message_id = $client->sendMMS([ 'from' => 'TEST', 'to' => '<numer abonenta>', 'msg' => 'Treść wiadomości', 'title' => 'Tytuł wiadomości', 'attachments' => '<http://adres.do.obrazka.pl/obrazek.jpg>', 'clear_polish' => 1, 'date' => '21-05-2017 10:05:00', 'test' => 1, ]);
参数描述
from
通过接收者可见的发件人名称。在单程发送中,可以使用默认名称或预先在www面板(“发件人字段”选项卡)中定义并经服务台认可的App World 2017名称。对于双向通信(2WAY),需要提供专门的双向通信电话号码。
此参数是必需的。
to
消息接收者号码。允许的格式
- [0-9]{9} 即 XXXXXXXXX
- 48[0-9]{9} 即 48XXXXXXXXX
可以将此元素定义为数组,这将导致向多个接收者同时发送相同的信息。
- 每次请求中接收者数量的最大值为10000。
- 不正确的号码将被忽略。
- 如果号码出现2次或更多,则重复的号码将被忽略。
此参数是必需的。
msg
消息内容。单个短信的长度为160个字符,如果消息中包含至少一个特殊字符(包括波兰语字符),则为70个字符。
如果消息内容过长,则将分成几个短信(最多6个)。
此参数是必需的。
date
确定消息发送时间的日期。如果没有日期或日期已过,则将立即发送消息。
允许的格式
- Unix时间戳(例如,1276623871)
- Y-m-d H:i:s(例如,2019-07-20 10:05:00)
- d-m-Y H:i:s(例如,20-07-2019 10:05:00)
发送将按照波兰时区计划。
clear_polish
如果此参数的值为1
,则消息内容中的所有波兰语字符将被替换为其对应字符,例如ą=a,ć=c,ł=l等。
title
MMS标题。并非所有手机都显示此字段,这取决于手机型号。在开始使用此字段之前,请确保接收者的手机可以显示MMS标题。
test
如果此参数的值为1
,则消息不会发送。这用于测试目的。
attachments
需要提供附件的URL地址。
发件人字段列表
$lista = $client->getSenderFields($product);
API 允许获取可用的发件人字段列表。这些字段可以用作参数 from
的值。默认情况下返回 SMS 产品对应的发件人字段列表。要获取其他产品(如 MMS 或 2WAY)的发件人字段列表,需要提供额外的参数 $product
。参数 $product
可能的值包括
- SMS
- MMS
- 2WAY
检查账户状态
$balance = $client->getBalance($product);
API 允许检查账户状态,即可用于发送 SMS / MMS / 2WAY 的点数数量。
参数 $product
可能的值包括
- SMS
- MMS
- 2WAY
取消已计划的发送
$client->cancelMessage($message_id);
API 允许取消已计划(未执行)的发送。如果操作成功,发送所支付的金额将被退回到账户余额(对于预付费账户)。
检查发送状态
$status = $client->getMessageStatus($message_id); /* przykładowa odpowiedź $status = [ 'from' => [ 'Pole nadawcy' => 'TEST', 'Nazwa wysyłki' => '', 'Treść wiadomości' => 'Test SMS', 'Data wysyłki' => '2019-07-01 16:52:47', 'Wysłane' => '1', 'Dostarczone' => '1', 'Zwroty' => '0', ], 'to' => [ [ 'Numer telefonu' => 'XXXXXXXX', 'Dostarczono' => 'TAK', 'Data dostarczenia' => '2019-07-01 16:52:49', 'Powód odrzucenia' => '', 'Pobrano opłatę' => 'TAK', ], [ 'Numer telefonu' => 'YYYYYYYYY', 'Dostarczono' => 'TAK', 'Data dostarczenia' => '2019-07-01 16:52:50', 'Powód odrzucenia' => '', 'Pobrano opłatę' => 'TAK', ], ], ]; */
API 允许检查有关已计划或已完成的发送的详细信息。