smsplanet / 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-25 08:50:07 UTC
README
介绍
SMSPLANET.PL平台允许大量发送营销短信和MMS。我们允许通过本文档中描述的API将我们的平台与任何计算机系统集成。
开始合作
要开始使用平台,您需要在SMSPLANET网站上注册账户(https://www.smsplanet.pl)。然后,您需要在“我的资料”选项卡中填写公司信息,并充值点数(PrePaid)或签订套餐合同(PostPaid),这将允许发送消息。
API密钥
每个系统用户都有一个唯一的API密钥,需要在发送到SMSPLANET的所有HTTP请求中传递。密钥用于识别用户,在API接口中充当登录名。您可以在“API”选项卡中找到您的密钥。
API密码
新账户注册后,API接口的密码与面板(http://WWW)的密码相同。要更改API密码,请使用“API”选项卡中的表单。API密码和面板密码是独立的。
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
可以将此元素定义为数字数组,这将导致一次发送消息给多个接收者。
- 单个请求中的最大接收者数量为10,000。
- 不正确的号码将被忽略。
- 如果号码出现2次或更多,则重复的号码将被忽略。
此参数是必需的。
msg
消息内容。单个短信的长度可以是160个字符或包含至少一个特殊字符(包括波兰语字符)时为70个字符。
如果消息内容较长,则将分成多个短信(最多6个)。
此参数是必需的。
date
指定消息发送时间的日期。如果没有日期或日期已过,则将立即发送消息。
允许的格式
- Unixtime(例如,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
参数的值使用。默认情况下,返回的是短信产品的发送者字段列表。若要获取其他产品如MMS或2WAY的发送者字段列表,需要提供额外的$product
参数。$product
参数的可能值包括
- 短信
- MMS
- 2WAY
检查账户状态
$balance = $client->getBalance($product);
API支持检查账户状态,即可用于发送短信/MMS/2WAY的点数数量。
$product
参数的可能值包括
- 短信
- 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支持检查计划中或已执行的发送的详细信息。