CascadingDoc

Руководство по взаимодействию с сервисом на основе HTTPS протокола, методом GET

Запросы необходимо отправлять в UTF-8 кодировке. Не стоит использовать URL длиной более 2,000 символов. Но этот параметр зависит от многих факторов и может различаться в большую или меньшую сторону. Одинаковые запросы можно отправлять не чаще 1 раза в 1 минуту. В случае ошибки вернется:

error: Попытка отправки более одного одинакового запроса в течение минуты

Запрос на отправку сообщения

Отправляется GET-запрос по адресу:

https://clk.prontosms.ru/sendmessage.php

Пример:

https://clk.prontosms.ru/sendmessage.php?login=ЛОГИН&password=ПАРОЛЬ&phone=ТЕЛЕФОН&send_viber=1&sender_viber=ИМЯ_ОТПРАВИТЕЛЯ_ВАЙБЕР&text_viber=ТЕКСТ_ВАЙБЕР&button_text=ТЕКСТ_КНОПКИ&button_url=ССЫЛКА_КНОПКИ&image_url=ИЗОБРАЖЕНИЕ&send_sms=3&sender_sms=ИМЯ_ОТПРАВИТЕЛЯ_СМС&text_sms=ТЕКСТ_СМС&validity_period_viber=60&finale_viber_read=0&send_vk=2&templateId=100&templateData={"Name":"Имя","Where":"Москва"}

Где:

  • login – Логин пользователя;

  • password – Пароль;

  • phone

    • Номер абонента, которому адресовано сообщение. Можно несколько телефонов через запятую. Номера в международном формате, например, 

    79000000001 (для России), 380442589632 (для Украины);

  • send_viber – Отправлять ли VIBER сообщение. Также является порядком сортировки отправки VIBER сообщения (от меньшего к большему). Может принимать значение от 0 до 9, где 0 - не отправлять VIBER сообщение;

  • sender_viber – Имя отправителя VIBER. Именно это значение будет выводиться на телефоне абонента в поле от кого сообщение;

  • text_viber – Текст VIBER сообщения. Не должен превышать более 1000 символов. Обязательный параметр;

  • button_text – Текст кнопки. Не более 19 символов. Необязательный параметр. При добавлении, обязательно чтоб была указана ссылка кнопки в параметре button_url;

  • button_url – Ссылка кнопки. Необязательный параметр. При добавлении, обязательно чтоб было указано название кнопки в параметре button_text;

  • image_url – Ссылка на изображение. Необязательный параметр. В случае добавления изображения, также необходимо наличие кнопки (button_text и button_url);

  • send_sms – Отправлять ли SMS. Также является порядком сортировки отправки SMS (от меньшего к большему). Может принимать значение от 0 до 9, где 0 - не отправлять SMS;

  • sender_sms

    • Отправитель SMS. Именно это значение будет выводиться на телефоне абонента в поле от кого SMS;

  • text_sms

    • Текст SMS.

  • validity_period_viber – Время жизни VIBER сообщения. За этот период, система делает попытки доставить сообщение абоненту. Если за указанный период не будет доставлено сообщение, оно профинализируется со статусом просрочено либо не доставлено. Необязательный параметр. Указывается в минутах, например "60" - что значит 1 час. Если не указано, по умолчанию будет "60";

  • finale_viber_read – Считать финальным доставленным VIBER сообщением статус "прочитано". В системе VIBER существуют статусы как доставлено и прочитано. В случае если в данном поле указали "1", то в VIBER сообщении, в котором фигурирует статус доставлено, но не прочитано, по истечению время жизни VIBER сообщения - будет попытка переотправки сообщения по другой системе (например через SMS), если в самом XML запросе фигурирует каскадная отправка (send_viber и send_sms);

  • send_vk

    • Отправлять ли VK сообщение. Также является порядком сортировки отправки VK сообщения (от меньшего к большему). Может принимать значение от 0 до 9, где 0 - не отправлять VK сообщение. Для открытия данного направления для вас, свяжитесь с вашим менеджером;

  • templateId

    • Идентификатор шаблона в системе. Можете посмотреть Идентификатор шаблона в личном кабинете;

  • templateData

    • Значения параметров шаблона. Шаблон должен быть согласован VK. В GET запросе должен быть в виде JSON-данных. Можете использовать php функцию urlencode() для этих данных, во избежание ошибок;

В данном примере, первым будет попытка отправки VIBER сообщения, и в случае недоставки, будет попытка инициализация отправки VK сообщения, далее SMS;

В случае успешной отправки сообщения

Возвращается ID сообщения в plainText. Пример:

В случае отправки на несколько номеров возращается ID сообщения через запятую в plaintText. Пример:

В случае ошибки

В случае возникновения ошибки возращается текст ошибки в plainText.

Проверка статуса сообщения

Отправляетя GET-запрос по адресу:

Пример:

Где: login – Логин пользователя; password – Пароль; * id_message – ID сообщения.

В случае успешного запроса

В случае успешного запроса возращается статус сообщения в plainText:

  • send

    • Статус сообщения не получен;

  • not_deliver

    • Сообщение не было доставлено. Конечный статус (не меняется со временем);

  • expired

    • Абонент находился не в сети в те моменты, когда делалась попытка доставки. Конечный Статус (не меняется со временем);

  • deliver

    • Сообщение доставлено. Конечный статус (не меняется со временем);

  • partly_deliver

    • Сообщение было отправлено, но статус так и не был получен. Конечный статус (не меняется со временем). В этом случае для разъяснения причин отсутствия статуса необходимо связаться со службой тех. поддержки.

Пример:

В случае ошибки

В случае возникновения ошибки возвращается текст ошибки в plainText.

Руководство по взаимодействию с сервисом на основе JSON документов, методом POST

Общие принципы отправки

На определенный адрес сервера отправляются JSON документы (описание JSON документов, их назначение и адреса сервера приведены ниже). При этом используется POST метод.

Заголовки отправляемых данных должны содержать:

Кодировка JSON документов UTF-8.

Пример передачи JSON документа на php

Отправка сообщения

Адрес сервера:

JSON-документ:

PHP-данные:

Где:

  • login – Логин пользователя;

  • password – Пароль;

  • message – Сообщения;

    • name_delivery – Название рассылки. Если поле является пустым, по умолчанию - "Шлюз";

    • time_send – Желательное время отправки сообщения, в формате: YYYY-MM-DD hh:mm где, YYYY-год, MM-месяц, DD-день, hh-часы, mm-минуты. Например 2017-11-23 13:00. Если поле является пустым, то отправка сообщения происходит сразу;

    • send_viber – Отправлять ли VIBER сообщение. Также является порядком сортировки отправки VIBER сообщения (от меньшего к большему). Может принимать значение от 0 до 9, где 0 - не отправлять VIBER сообщение;

    • sender_viber – Имя отправителя VIBER. Именно это значение будет выводиться на телефоне абонента в поле от кого сообщение;

    • text_viber – Текст VIBER сообщения. Не должен превышать более 1000 символов. Обязательный параметр;

    • button_text – Текст кнопки. Не более 19 символов. Необязательный параметр. При добавлении, обязательно чтоб была указана ссылка кнопки в параметре button_url;

    • button_url – Ссылка кнопки. Необязательный параметр. При добавлении, обязательно чтоб было указано название кнопки в параметре button_text;

    • image_url – Ссылка на изображение. Необязательный параметр. В случае добавления изображения, также необходимо наличие кнопки (button_text и button_url);

    • validity_period_viber – Время жизни VIBER сообщения. За этот период, система делает попытки доставить сообщение абоненту. Если за указанный период не будет доставлено сообщение, оно профинализируется со статусом просрочено либо не доставлено. Необязательный параметр. Указывается в минутах, например "60" - что значит 1 час. Если не указано, по умолчанию будет "60";

    • finale_viber_read – Считать финальным доставленным VIBER сообщением статус "прочитано". В системе VIBER существуют статусы как доставлено и прочитано. В случае если в данном поле указали "1", то в VIBER сообщении, в котором фигурирует статус доставлено, но не прочитано, по истечению время жизни VIBER сообщения - будет попытка переотправки сообщения по другой системе (например через SMS), если в самом JSON запросе фигурирует каскадная отправка (send_viber и send_sms);

    • send_sms – Отправлять ли SMS. Также является порядком сортировки отправки SMS (от меньшего к большему). Может принимать значение от 0 до 9, где 0 - не отправлять SMS;

    • sender_sms

      • Отправитель SMS. Именно это значение будет выводиться на телефоне абонента в поле от кого SMS;

    • text_sms

      • Текст SMS;

    • send_vk

      • Отправлять ли VK сообщение. Также является порядком сортировки отправки VK сообщения (от меньшего к большему). Может принимать значение от 0 до 9, где 0 - не отправлять VK сообщение. Для открытия данного направления для вас, свяжитесь с вашим менеджером;

    • templateId

      • Идентификатор шаблона в системе. Можете посмотреть Идентификатор шаблона в личном кабинете;

    • templateData

      • Значения параметров шаблона. Шаблон должен быть согласован VK;

    • phones

      • Получатели сообщений;

      • phone – Номер абонента, которому адресовано сообщение. В международном формате, например, 79000000001 (Для России), 380442589632 (Для Украины) и т.д.;

      • client_id_message

        • ID сообщения на стороне клиента. Число. Необязательный параметр, позволяет избежать повторной отправки. Если раннее с этого аккаунта уже было отправлено сообщение с таким номером, то повторная отправка не производится.

В ответ может быть выдан один из следующих JSON-документов:

В случае возникновения ошибки в отправляемом JSON-документе

JSON:

PHP (массив, полученный через php функцию json_decode):

В случае получения правильного JSON-документа:

JSON:

PHP (массив, полученный через php функцию json_decode):

Где:

  • message – Сообщения;

  • id_message

    • ID сообщения в системе для проверки статуса;

  • client_id_message

    • ID сообщения на стороне клиента;

  • phone – Номер абонента, которому адресовано сообщение;

  • count_message

    • Количество частей сообщения. Указано количество частей сообщения в первом указанном направлении (viber, sms);

  • id_viber

    • ID VIBER сообщения. 0 - если не было отправлено VIBER сообщение;

  • id_sms

    • ID SMS сообщения. 0 - если не было отправлено SMS сообщение;

  • id_vk

    • ID VK сообщения. 0 - если не было отправлено VK сообщение;

  • error

    • Информация об ошибке, если в процессе отправки сообщения произошла ошибка.

Получение статуса сообщения

Адрес сервера:

JSON-документ:

PHP-данные:

Где:

  • login – Логин пользователя;

  • password – Пароль;

  • state

    • Статусы сообщений:

    • id_message

      • ID сообщения в системе.

В ответ может быть выдан один из следующих JSON-документов:

В случае возникновения ошибки в отправляемом JSON-документе

JSON:

PHP (массив, полученный через php функцию json_decode):

В случае получения правильного JSON-документа:

JSON:

PHP (массив, полученный через php функцию json_decode):

Где:

  • id_message

    • ID сообщения в системе;

  • time_change_state

    • Время последней смены состояния, в формате: YYYY-MM-DD hh:mm:ss где, YYYY-год, MM-месяц, DD-день, hh-часы, mm-минуты, ss-секунды. Например 2017-11-23 13:15:25. Поле является пустым, если сообщение с указаным ID не обнаружено;

  • state – Статус сообщения, может принимать следующие значения:

    • send

      • В процессе работы (не профинализировано);

    • not_deliver

      • Сообщение не было доставлено. Конечный статус (не меняется со временем);

    • expired

      • Абонент находился не в сети в те моменты, когда делалась попытка доставки. Конечный Статус (не меняется со временем);

    • deliver

      • Сообщение доставлено. Конечный статус (не меняется со временем);

    • partly_deliver

      • Сообщение было отправлено, но статус так и не был получен. Конечный статус (не меняется со временем). В этом случае для разъяснения причин отсутствия статуса необходимо связаться со службой тех. поддержки;

    • ДРУГОЕ

      • Если статус сообщения не один из указанных выше, статус означает текст ошибки например "Сообщение с таким ID не принималось";

  • state_sms

    • Статус SMS, может принимать следующие значения:

    • send

      • Не было отправлено;

    • not_deliver

      • Сообщение не было доставлено. Конечный статус (не меняется со временем);

    • expired

      • Абонент находился не в сети в те моменты, когда делалась попытка доставки. Конечный Статус (не меняется со временем);

    • deliver

      • Сообщение доставлено. Конечный статус (не меняется со временем);

    • partly_deliver

      • Сообщение было отправлено, но статус так и не был получен. Конечный статус (не меняется со временем). В этом случае для разъяснения причин отсутствия статуса необходимо связаться со службой тех. поддержки;

  • state_viber

    • Статус VIBER сообщения, может принимать следующие значения:

    • send

      • Не было отправлено;

    • not_deliver

      • Сообщение не было доставлено. Конечный статус (не меняется со временем);

    • expired

      • Абонент находился не в сети в те моменты, когда делалась попытка доставки. Конечный Статус (не меняется со временем);

    • deliver

      • Сообщение доставлено. Конечный статус (не меняется со временем);

    • partly_deliver

      • Сообщение было отправлено, но статус так и не был получен. Конечный статус (не меняется со временем). В этом случае для разъяснения причин отсутствия статуса необходимо связаться со службой тех. поддержки;

  • state_vk

    • Статус VK сообщения, может принимать следующие значения:

    • send

      • Не было отправлено;

    • not_deliver

      • Сообщение не было доставлено. Конечный статус (не меняется со временем);

    • expired

      • Абонент находился не в сети в те моменты, когда делалась попытка доставки. Конечный Статус (не меняется со временем);

    • deliver

      • Сообщение доставлено. Конечный статус (не меняется со временем);

    • partly_deliver

      • Сообщение было отправлено, но статус так и не был получен. Конечный статус (не меняется со временем). В этом случае для разъяснения причин отсутствия статуса необходимо связаться со службой тех. поддержки;

  • num_parts_sms

    • Количество частей в SMS, в случае если было отправлено SMS;

  • price_sms

    • Списанные средства за SMS, в случае если было отправлено SMS.

  • price_viber

    • Списанные средства за VIBER сообщение, в случае если было отправлено VIBER сообщение.

  • price_vk

    • Списанные средства за VK сообщение, в случае если было отправлено VK сообщение.

Руководство по взаимодействию с сервисом на основе XML документа, методом POST

Общие принципы отправки

На определенный адрес сервера отправляются XML документы (описание XML документов, их назначение и адреса сервера приведены ниже). При этом используется POST метод.

Заголовки отправляемых данных должны содержать:

Кодировка XML документов UTF-8. Передаваемый XML документ не должен содержать переводов строки. Переводы строк в самих данных должны быть заменены на "\n".

Пример передачи XML документа на php

Отправка сообщения

Адрес сервера:

XML-документ:

Где:

  • login – Логин пользователя;

  • password – Пароль;

  • message – Сообщения;

    • name_delivery – Название рассылки. Если поле является пустым, по умолчанию - "Шлюз";

    • time_send – Желательное время отправки сообщения, в формате: YYYY-MM-DD hh:mm где, YYYY-год, MM-месяц, DD-день, hh-часы, mm-минуты. Например 2017-11-23 13:00. Если поле является пустым, то отправка сообщения происходит сразу;

    • send_viber – Отправлять ли VIBER сообщение. Также является порядком сортировки отправки VIBER сообщения (от меньшего к большему). Может принимать значение от 0 до 9, где 0 - не отправлять VIBER сообщение;

    • sender_viber – Имя отправителя VIBER. Именно это значение будет выводиться на телефоне абонента в поле от кого сообщение;

    • text_viber – Текст VIBER сообщения. Не должен превышать более 1000 символов. Обязательный параметр;

    • button_text – Текст кнопки. Не более 19 символов. Необязательный параметр. При добавлении, обязательно чтоб была указана ссылка кнопки в параметре button_url;

    • button_url – Ссылка кнопки. Необязательный параметр. При добавлении, обязательно чтоб было указано название кнопки в параметре button_text;

    • image_url – Ссылка на изображение. Необязательный параметр. В случае добавления изображения, также необходимо наличие кнопки (button_text и button_url);

    • validity_period_viber – Время жизни VIBER сообщения. За этот период, система делает попытки доставить сообщение абоненту. Если за указанный период не будет доставлено сообщение, оно профинализируется со статусом просрочено либо не доставлено. Необязательный параметр. Указывается в минутах, например "60" - что значит 1 час. Если не указано, по умолчанию будет "60";

    • finale_viber_read – Считать финальным доставленным VIBER сообщением статус "прочитано". В системе VIBER существуют статусы как доставлено и прочитано. В случае если в данном поле указали "1", то в VIBER сообщении, в котором фигурирует статус доставлено, но не прочитано, по истечению время жизни VIBER сообщения - будет попытка переотправки сообщения по другой системе (например через SMS), если в самом XML запросе фигурирует каскадная отправка (send_viber и send_sms);

    • send_sms – Отправлять ли SMS. Также является порядком сортировки отправки SMS (от меньшего к большему). Может принимать значение от 0 до 9, где 0 - не отправлять SMS;

    • sender_sms

      • Отправитель SMS. Именно это значение будет выводиться на телефоне абонента в поле от кого SMS;

    • text_sms

      • Текст SMS;

    • send_vk

      • Отправлять ли VK сообщение. Также является порядком сортировки отправки VK сообщения (от меньшего к большему). Может принимать значение от 0 до 9, где 0 - не отправлять VK сообщение. Для открытия данного направления для вас, свяжитесь с вашим менеджером;

    • templateId

      • Идентификатор шаблона в системе. Можете посмотреть Идентификатор шаблона в личном кабинете;

    • templateData

      • Значения параметров шаблона. Шаблон должен быть согласован VK;

    • abonent

      • Получатели сообщений;

      • phone – Номер абонента, которому адресовано сообщение. В международном формате, например, 79000000001 (Для России), 380442589632 (Для Украины) и т.д.;

      • client_id_message

        • ID сообщения на стороне клиента. Число. Необязательный параметр, позволяет избежать повторной отправки. Если раннее с этого аккаунта уже было отправлено сообщение с таким номером, то повторная отправка не производится.

В ответ может быть выдан один из следующих XML-документов:

В случае возникновения ошибки в отправляемом XML-документе

error

  • Текст ошибки.

В случае получения правильного XML-документа

Где:

  • message – Сообщения;

  • id_message

    • ID сообщения в системе для проверки статуса;

  • client_id_message

    • ID сообщения на стороне клиента;

  • phone – Номер абонента, которому адресовано сообщение;

  • count_message

    • Количество частей сообщения. Указано количество частей сообщения в первом указанном направлении (viber, sms);

  • id_viber

    • ID VIBER сообщения. 0 - если не было отправлено VIBER сообщение;

  • id_vk

    • ID VK сообщения. 0 - если не было отправлено VK сообщение;

  • id_sms

    • ID SMS сообщения. 0 - если не было отправлено SMS сообщение;

  • error

    • Информация об ошибке, если в процессе отправки сообщения произошла ошибка.

Получение статуса сообщения

Адрес сервера:

XML-документ:

Где

  • login

    • ваш логин в системе.

  • password

    • ваш пароль в системе.

  • id_message

    • ID сообщения в системе.

В ответ может быть выдан один из следующих XML-документов:

В случае возникновения ошибки в отправляемом XML-документе:

error

  • Текст ошибки.

В случае получения правильного XML-документа:

Где:

  • id_message

    • ID сообщения в системе;

  • time_change_state

    • Время последней смены состояния, в формате: YYYY-MM-DD hh:mm:ss где, YYYY-год, MM-месяц, DD-день, hh-часы, mm-минуты, ss-секунды. Например 2017-11-23 13:15:25. Поле является пустым, если сообщение с указаным ID не обнаружено;

  • Статус – Статус сообщения, может принимать следующие значения:

    • send

      • В процессе работы (не профинализировано);

    • not_deliver

      • Сообщение не было доставлено. Конечный статус (не меняется со временем);

    • expired

      • Абонент находился не в сети в те моменты, когда делалась попытка доставки. Конечный Статус (не меняется со временем);

    • deliver

      • Сообщение доставлено. Конечный статус (не меняется со временем);

    • partly_deliver

      • Сообщение было отправлено, но статус так и не был получен. Конечный статус (не меняется со временем). В этом случае для разъяснения причин отсутствия статуса необходимо связаться со службой тех. поддержки;

    • ДРУГОЕ

      • Если статус сообщения не один из указанных выше, статус означает текст ошибки например "Сообщение с таким ID не принималось";

  • state_sms

    • Статус SMS, может принимать следующие значения:

    • send

      • Не было отправлено;

    • not_deliver

      • Сообщение не было доставлено. Конечный статус (не меняется со временем);

    • expired

      • Абонент находился не в сети в те моменты, когда делалась попытка доставки. Конечный Статус (не меняется со временем);

    • deliver

      • Сообщение доставлено. Конечный статус (не меняется со временем);

    • partly_deliver

      • Сообщение было отправлено, но статус так и не был получен. Конечный статус (не меняется со временем). В этом случае для разъяснения причин отсутствия статуса необходимо связаться со службой тех. поддержки;

  • state_viber

    • Статус VIBER сообщения, может принимать следующие значения:

    • send

      • Не было отправлено;

    • not_deliver

      • Сообщение не было доставлено. Конечный статус (не меняется со временем);

    • expired

      • Абонент находился не в сети в те моменты, когда делалась попытка доставки. Конечный Статус (не меняется со временем);

    • deliver

      • Сообщение доставлено. Конечный статус (не меняется со временем);

    • partly_deliver

      • Сообщение было отправлено, но статус так и не был получен. Конечный статус (не меняется со временем). В этом случае для разъяснения причин отсутствия статуса необходимо связаться со службой тех. поддержки;

  • state_vk

    • Статус VK сообщения, может принимать следующие значения:

    • send

      • Не было отправлено;

    • not_deliver

      • Сообщение не было доставлено. Конечный статус (не меняется со временем);

    • expired

      • Абонент находился не в сети в те моменты, когда делалась попытка доставки. Конечный Статус (не меняется со временем);

    • deliver

      • Сообщение доставлено. Конечный статус (не меняется со временем);

    • partly_deliver

      • Сообщение было отправлено, но статус так и не был получен. Конечный статус (не меняется со временем). В этом случае для разъяснения причин отсутствия статуса необходимо связаться со службой тех. поддержки;

  • num_parts_sms

    • Количество частей в SMS, в случае если было отправлено SMS;

  • price_sms

    • Списанные средства за SMS, в случае если было отправлено SMS.

  • price_viber

    • Списанные средства за VIBER сообщение, в случае если было отправлено VIBER сообщение.

  • price_vk

    • Списанные средства за VK сообщение, в случае если было отправлено VK сообщение.