coding-924920_1920

StartSend делает все, чтобы разработчикам было удобно использовать API для интеграции с нашим сервисом.

Чтобы Вам было быстрее и проще сделать интеграцию, мы написали пример кода на Php, доступный на GitHub.

В данном репозитории содержится 4 файла:

1
2
3
4
StartSend.php
CountSmsParts.php
Transliterate.php
examples.php

StartSend.php — это базовый класс, содержащий все методы по отправке смс, проверку статусов, отправку запроса и так далее.

CountSmsParts.php — класс для подсчета длины строки с учетом кодировок ascii / unicode.

Если вы ранее не сталкивались с отправкой смс, то в целом должны помнить что русский символ требует 2 байта в unicode, поэтому длина смс на русском — 70 символов, а на английском — 140.

1
2
3
4
"lengths" => [
      "ascii" => [160, 306, 459, 628, 785, 942, 1071, 1224, 1377, 1530],
      "unicode" => [70, 134, 201, 252, 315, 378, 469, 536, 603, 670],
]

Но, в тоже время, если у Вас более 2 смс в одном сообщении, то длина будет уже менее 70 символов (68 если точнее), так как для отправки смс требуется добавление системной информации.

Это стоит учитывать при отправке длинных смс, или стараться делать смс короче.
Transliterate.php — как уже можно догадаться, класс по транслитерации русского текста в латиницу.
examples.php — содержит примеры вызова функций по подсчету длины смс-сообщения, а также транслитерации русского текста в английский.
Функция транслитерации также учитывает регистр, поэтому Вам не придется делать дополнительный ucfirst.

Итак, разберем основные моменты в examples.php: 

В самом верху идет подключение классов.

1
2
3
4
5
6
7
8
include('StartSend.php');
require_once('Transliterate.php');
require_once('CountSmsParts.php').
// Код токена вы можете получить здесь: https://app.startsend.ru/user-api/token

$token = ''; // КОД_ВАШЕГО_ТОКЕНА
// Номер телефона для теста
$phone = ''; // НОМЕР ТЕЛ ДЛЯ ТЕСТА

После того, как Вы вставите свой токен и номер телефона, Вы сможете отправить себе тестовое сообщение (проверьте, что у вас включен CURL).

Код в example.php состоит из блоков if(false).

Вы можете выбрать какой именно метод вы хотите протестировать и поставить там if (true).

Например, отправка смс:

1
2
3
4
5
6
7
8
9
10
11
12
13
if (false) {
     echo("Отправка простого sms-сообщения на номер: $phone");
     /** Отправка простого сообщения: */
     $sms = new StartSend($token);
     $res = $sms->createSMSMessage('Моё сообщение');
     $message_id = $res->message_id;
     $res2 = $sms->sendSms($message_id, $phone);
     if ($res2 == false) {
         echo("Во время отправки сообщения произошла ошибка");
     } else {
         echo("Сообщение успешно отправлено, его ID: {$res2->sms_id}");
     }
}

Меняем в блоке выше if(false) на if(true) вызываем и на указанный вами телефон будет доставлена смс.

Пример запуска из командной строки:

image2021-3-14_16-44-58

 

 

Смс, полученное на телефон:
1