Регистрация
Подключиться
Я даю согласие на обработку персональных данных
HTTP/HTTPS Протокол
Взаимодействие с Платформой TERASMS осуществляется по протоколу HTTP/HTTPS. Можно применять как GET, так и POST запросы. По умолчанию предполагается, что текст SMS передается в кодировке utf-8. Если ваш текст в кодировке cp1251 (windows-1251), нужно добавить параметр cp=1251. Все параметры должны быть переданы в соответствии со спецификацией.
Описание обычного GET/POST-запроса

GET запросы передаются на адрес:
https://auth.terasms.ru/outbox/send

Пример запроса:
https://auth.terasms.ru/outbox/send/?login=terasms&password=12345&target=79017654321&sender=terasms&message=test

Если все параметры верны, то сообщение добавляется в очередь на отправку и возвращается положительное целое число – идентификатор исходящего сообщения или несколько идентификаторов через запятую (если была попытка отправки сообщения на несколько номеров). В противном случае возвращается отрицательное число - код ошибки.

Возможные варианты реализации на языке программирования php
Отправка одиночного сообщения
GET: $api_uri = 'https://auth.terasms.ru/outbox/send/'; $query_array = array( 'login' => 'login', 'password' => 'password', 'target' => 'target', 'message' => 'message', 'sender' => 'sender' ); $get_string = http_build_query( $query_array ); $id = file_get_contents( $api_uri . '?' . $get_string);

POST: $api_uri = 'https://auth.terasms.ru/outbox/send/'; $query_array = array( 'login' => 'login', 'password' => 'password', 'target' => 'target', 'message' => 'message', 'sender' => 'sender' ); $context = stream_context_create(array( 'http' => array( 'method' => 'POST', 'content' =>http_build_query( $query_array ), 'timeout' => 10, ), )); $id = file_get_contents( $api_uri, false, $context);

JSON: $api_uri = 'https://auth.terasms.ru/outbox/send/json'; $query_array = array( 'login' => 'login', 'password' => 'password', 'target' => 'target', 'message' => 'message', 'sender' => 'sender' ); $context = stream_context_create(array( 'http' => array( 'method' => 'POST', 'header' => "Content-Type: application/json\r\n", 'timeout' => 10, 'content' => json_encode( $query_array ) ) )); $response = file_get_contents( $api_uri, false, $context ); $responseData = json_decode( $response, true );

XML: $api_uri = 'https://auth.terasms.ru/outbox/send/json'; $context = stream_context_create(array( 'http' => array ( 'method' => "POST", 'content' => $query_xml, 'timeout' => 10, 'header' => "Content-Type: text/xml; charset=utf-8" ) )); $response = file_get_contents( $api_uri, false, $context );$query_xml: <?xml version="1.0"?> <request> <login>login</login> <password>password</password> <target>target</target> <message>message</message> <sender>sender</sender> </request>
Отправка сообщения нескольким абонентам
POST: $api_uri = 'https://auth.terasms.ru/outbox/send/'; $query_array = array( 'login' => 'login', 'password' => 'password', 'target' => 'target1, target2, target3', 'message' => 'message', 'sender' => 'sender' ); $context = stream_context_create(array( 'http' => array( 'method' => 'POST', 'content' =>http_build_query( $query_array ), 'timeout' => 10, ), )); $ids = file_get_contents( $api_uri, false, $context);Ответ придет в формате id1, id2, id3

JSON: $api_uri = 'https://auth.terasms.ru/outbox/send/json'; $query_array = array( 'login' => 'login', 'password' => 'password', 'target' => 'target1, target2, target3', 'message' => 'message', 'sender' => 'sender' ); $context = stream_context_create(array( 'http' => array( 'method' => 'POST', 'header' => "Content-Type: application/json\r\n", 'timeout' => 10, 'content' => json_encode( $query_array ) ) )); $response = file_get_contents( $api_uri, false, $context ); $responseData = json_decode( $response, true );

XML: $api_uri = 'https://auth.terasms.ru/outbox/send/json'; $context = stream_context_create(array( 'http' => array ( 'method' => "POST", 'content' => $query_xml, 'timeout' => 10, 'header' => "Content-Type: text/xml; charset=utf-8" ) )); $response = file_get_contents( $api_uri, false, $context );$query_xml: <?xml version="1.0"?> <request> <login>login</login> <password>password</password> <target>target1, target2, target3</target> <message>message</message> <sender>sender</sender> </request>
Отправка разных сообщений разным абонентам, mass_push
POST: $api_uri = 'https://auth.terasms.ru/outbox/send/'; $query_array = array( 'login' => 'login', 'password' => 'password', 'target' => 'target1 message1|target2 message2|target3 message3', 'message' => '', 'sender' => 'sender', 'mass_push' => '1', 'delimiter' => '|' ); $context = stream_context_create(array( 'http' => array( 'method' => 'POST', 'content' =>http_build_query( $query_array ), 'timeout' => 10, ), )); $id = file_get_contents( $api_uri, false, $context);Ответ придет в формате id1, id2, id3

JSON: $api_uri = 'https://auth.terasms.ru/outbox/send/json'; $query_array = array( 'login' => 'login', 'password' => 'password', 'target' => 'target1 message1|target2 message2|target3 message3', 'message' => '', 'sender' => 'sender', 'mass_push' => '1', 'delimiter' => '|' ); $context = stream_context_create(array( 'http' => array( 'method' => 'POST', 'header' => "Content-Type: application/json\r\n", 'timeout' => 10, 'content' => json_encode( $query_array ) ) )); $response = file_get_contents( $api_uri, false, $context ); $responseData = json_decode( $response, true );

XML: $api_uri = 'https://auth.terasms.ru/outbox/send/json'; $context = stream_context_create(array( 'http' => array ( 'method' => "POST", 'content' => $query_xml, 'timeout' => 10, 'header' => "Content-Type: text/xml; charset=utf-8" ) )); $response = file_get_contents( $api_uri, false, $context );$query_xml: <?xml version="1.0"?> <request> <login>login</login> <password>password</password> <target>target1 message1|target2 message2|target3 message3</target> <message></message> <sender>sender</sender> <mass_push>1</mass_push> <delimiter>|</delimiter> </request>
Возможные статусы ошибок
Формирование запроса в формате JSON
Пример запроса:

> POST auth.terasms.ru/outbox/send/json { "login": "login", "password": "secret", "target": 71234567890, "message": "ку-ку", "sender": "terasms.ru" }

Пример ответа:

{ "status": 0, "status_description": "OK", "message_infos": [ { "msisdn": "78001234567890", "id": "566668915", "status": 0 } ] }
Формирование запроса в формате XML
Пример запроса:

> POST auth.terasms.ru/outbox/send/xml <?xml version="1.0"?> <request> <login>login</login> <password>password</password> <target>71234567890</target> <message>ку-ку</message> <sender>terasms.ru</sender> </request>

Пример ответа:

<?xml version="1.0"?> <response> <status>0</status> <status_description>OK</status_description> <message_infos> <message_info> <msisdn>71234567890</msisdn> <status>0</status> </message_info> </message_infos> </response>
Группировка сообщений в рассылки

Вы можете группировать сообщения в именованные рассылки — это даёт возможность получать отчёты, сгруппированные по этим рассылкам.

Для этого необходимо создать рассылку, отправив следующий запрос: https://auth.terasms.ru/outbox/add_delivery?login=...Имя%рассылки

В качестве ответа Вам придёт ID рассылки. В системе будет создана рассылка с именем "Имя рассылки". Если параметр name не указан, то в качестве имени рассылки будет использоваться текущая дата. Вы сможете увидеть свою рассылку в личном кабинете на странице График рассылки. Кроме того, на странице "Отчёты" будет отображена статистика по именованным рассылкам.
Обращаем Ваше внимание на то, что данные по рассылкам в системе обновляются не в режиме реального времени, а в течении 5-10 минут.

Затем при отправке сообщения необходимо добавлять параметр schedule_id со значением, полученным при создании рассылки: https://auth.terasms.ru/outbox/send/?login=terasms... &sender=terasms&message=test&schedule_id=1234

Каждое отправленное таким образом сообщение будет добавлено к Вашей рассылке "Имя рассылки"

Отправка нескольких сообщений одним запросом

Для отправки нескольких сообщений одним запросом существует метод msend_json. При использовании метода тело запроса должно быть в формате JSON, ответ также приходит в JSON. Параметры сообщения совпадают с параметрами, используемыми в методе outbox/send. Так же существует параметр sms_id, в котором вы можете указать любой идентификатор сообщения. Этот идентификатор будет присутствовать в ответе платформы вместе с остальной информацией о сообщении.

Пример запроса:

> POST http://auth.terasms.ru/outbox/msend_json { "login": "login", "password": "password", "smsPackage":
[ { "target": 78002223344, "sms_id": 1, "sender": "terasms.ru", "message": "test" }, { "target": 78002223345,
"sms_id": 2, "sender": "terasms.ru", "message": "test2" } ] }

Ответ:

[ { "sms_id": 1, "message_id": "365214379" }, { "sms_id": 2, "message_id":"365214380" } ]


Получение статусов нескольких сообщений одним запросом

Существует возможность получать статусы нескольких сообщений одним запросом. Для включения этой функции свяжитесь с вашим менеджером

Регистрация
Подключиться
Я даю согласие на обработку персональных данных
Заказать просчет
It's totally free