mkrysztofiak/smsplanet-php-client

用PHP编写的SMS API客户端,允许发送短信、MMS以及使用SMSPLANET.pl网站上的其他功能

1.0.0 2020-09-08 22:48 UTC

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 允许检查有关已计划或已完成的发送的详细信息。