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

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

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

Content-type: text/xml; charset=utf-8

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

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

$src = '<?xml version="1.0" encoding="utf-8"?>
<request>
<security>
<login value="логин" />
<password value="пароль" />
</security>
</request>';
// XML-документ
$href = 'https://clk2.prontosms.ru/script.php'; // адрес сервера
$ch = curl_init();
curl_setopt ($ch, CURLOPT_HTTPHEADER, array ('Content-type: text/xml','charset=utf-8','Expect:'));
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt ($ch, CURLOPT_CRLF, true);
curl_setopt ($ch, CURLOPT_POST, true);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $src);
curl_setopt ($ch, CURLOPT_URL, $href);
$result = curl_exec($ch);
curl_close($ch);
echo $result;

ОтправкаSMS, Flash SMS, WAP-Push

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

https://clk2.prontosms.ru/xml/

XML-документ:

<?xml version="1.0" encoding="utf-8" ?>
<request>
<message type_send_1="viber или sms" type_send_2="viber или sms" type="flashsms или silence или sms или wappush или vcard">
<sender_viber>Отправитель Viber сообщения</sender_viber>
<text_viber>Текст сообщения</text_viber>
<button_viber>Текст кнопки</button_viber>
<action_viber>Ссылка для кнопки</action_viber>
<image_viber>Адрес картинки</image_viber>
<sender>Отправитель 1</sender>
<text>Текст сообщения 1</text>
<url>Адрес для WAP Push или vCard</url>
<name>Имядля vCard</name>
<phone cell="79033256699" work="79033256699" fax="79033256699"/>
<email>E-mail vCard</email>
<position>Должность vCard</position>
<organization>Организация vCard</organization>
<address post_office_box="абонентскийящик" street="Улица" city="город" region="Область" postal_code="Индекс" country="Страна" />
<additional>Дополнительнаяинформация vCard</additional>
<abonent phone="79033256699" number_sms="1" client_id_sms="101" time_send="2001-12-31 12:34:54" validity_period="2001-12-31 15:34:54" validity_period_viber="2001-12-31 15:34:54" />
<abonent phone="79033256699" number_sms="2" client_id_sms="102" time_send="2001-12-31 12:35:54" />
     ...
<abonent phone="79033256699" number_sms="10" client_id_sms="110" time_send="" />
</message>
<message>
<sender>Отправитель 2</sender>
<text>Текстсообщения 2</text>
<abonent phone="79033256699" number_sms="11" client_id_sms="111" />
<abonent phone="79033256699" number_sms="12" client_id_sms="112" />
     ...
<abonent phone="79033256699" number_sms="20" client_id_sms="120" />
</message>
   ...
<security>
<login value="логин" />
<password value="пароль" />
</security>
</request>

Где

  • type_send_1 – тип отправляемого сообщения viber или sms

  • type_send_2 – тип досылаемого сообщения, в случае если отправляемое сообщение не будет доставлено viber или sms.

  • type – тип SMS сообщения:

  • flashsms – flash SMS

  • silence – невидимые SMS (для проверки статуса абонента)

  • sms – обычнаяSMS

  • wappush – WAP-Push

  • vcard – визитнаякарточка (vCard)

  • sender_viber – отправитель Viber сообщения

  • text_viber - текст Viber сообщения

  • button_viber - текст кнопки Viber сообщения

  • action_viber - ссылка для кнопки Viber сообщения

  • image_viber - адрес картинки для Viber сообщения

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

  • phone – номер абонента, которому адресована SMS.

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

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

  • number_sms - номер сообщения в пределах отправляемого XML документа.

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

  • time_send – дата и время отправки в формате:

YYYY-MM-DD HH:MM

где, YYYY-год, MM-месяц, DD-день,HH-часы, MM-минуты.

Если не задано, то SMSотправляется сразу же.

  • validity_period – дата и время, после которых не будут делаться попытки доставить SMS в формате:

YYYY-MM-DD HH:MM

где, YYYY-год, MM-месяц, DD-день,HH-часы, MM-минуты.

Если не задано, то SMS имеет максимальный срок жизни.

  • validity_period_viber – дата и время, после которых не будут делаться попытки доставить Viber сообщение в формате:

YYYY-MM-DD HH:MM

где, YYYY-год, MM-месяц, DD-день,HH-часы, MM-минуты.

Если не задано, то Viber сообщение имеет максимальный срок жизни (один день).

Далее поля выбираются в зависимости от типа отправляемого SMS (type):

  • text – текст обычного SMS или описание WAP ссылки.

  • url–ссылка для WAP Push или vCard

  • name - имя для vCard

  • cell – номер телефона для vCard

  • work - номер рабочего телефона для vCard

  • fax - номер факса для vCard

  • email - e-mail для vCard

  • position – должность контакта для vCard

  • organization - организация для vCard

  • post_office_box - абонентский ящик для  vCard

  • street – улица для  vCard

  • city – город для  vCard

  • region–область для  vCard

  • postal_code–индекс для  vCard

  • country - страна для vCard

  • additional - дополнительная информация для vCard

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

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

<?xml version="1.0" encoding="utf-8"?>
<response>
<error>текстошибки</error>
</response>

error - текст ошибки может принимать следующие значения:

  1. Неправильный формат XML документа

  2. Ваш аккаунт заблокирован

  3. Неправильный логин или пароль

  4. POST данные отсутствуют

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

<?xml  version="1.0" encoding="utf-8" ?>
<response>
<information number_sms="1" id_sms="ID SMS всистемедляпроверкистатуса" parts="2">Статус/сообщениеобошибке</information>
<information number_sms="2" id_sms="ID SMS всистемедляпроверкистатуса" parts="2">Статус/сообщениеобошибке</information>
<information number_sms="3" id_sms="ID SMS всистемедляпроверкистатуса" parts="2">Статус/сообщениеобошибке</information>
…
</response>

Где

  • number_sms - номер сообщения указанный при отправке XML документа.

  • id_sms - номер SMSсообщения. Используется для проверки статуса SMS. Если в процессе отправки SMS произошла ошибка, то id_sms не передается.

  • parts - количество частей SMS.

  • information – статус сообщения («send»), если SMSбыла отправлена. Или сообщение об ошибке, если в процессе отправки SMSпроизошла ошибка:

  1. У нас закончились SMS. Для разрешения проблемы свяжитесь с менеджером.

  2. Закончились SMS.

  3. Аккаунт заблокирован.

  4. Укажите номер телефона.

  5. Номер телефона присутствует в стоп-листе.

  6. Данное направление закрыто для вас.

  7. Данное направление закрыто.

  8. Текст SMS отклонен модератором.

  9. Нет отправителя.

10. Отправитель не должен превышать 15 символов для цифровых номеров и 11 символов для буквенно-числовых.

11. Номер телефона должен быть меньше 15 символов.

12. Нет текста сообщения.

13. Нет ссылки.

14. Укажите название контакта и хотя бы один параметр для визитной карточки.

15. Такого отправителя нет.

16. Отправитель не прошел модерацию.

Запрос статуса SMS сообщения (первый способ)

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

https://clk2.prontosms.ru/xml/state.php

XML-документ:

<?xml version="1.0" encoding="utf-8" ?>
<request>
<security>
    <login value="логин" />
    <password value="пароль" />
</security>
<get_state>
    <id_sms>IDSMS в системе для проверки статуса</id_sms>
    <id_sms>IDSMS в системе для проверки статуса</id_sms>
    <id_sms>IDSMS в системе для проверки статуса</id_sms>
    <id_sms>IDSMS в системе для проверки статуса</id_sms>
</get_state>
</request>

Где

  • логин

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

  • пароль

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

  • id_sms

    • номер SMS сообщения, полученный в ответном XML-документа в процессе отправки SMS сообщения.

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

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

<?xml version="1.0" encoding="utf-8"?>
<response>
    <error>текст ошибки</error>
</response>

error

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

  1. Неправильный формат XML документа

  2. Неправильный логин или

  3. POST данные отсутствуют

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

<?xml version="1.0" encoding="utf-8" ?>
<response>
<state id_sms="IDSMS в системе для проверки статуса" time="2011-01-01 12:57:46" num_parts="2" price="1.15">Статус</state>
<state id_sms="IDSMS в системе для проверки статуса" time="2011-01-01 12:57:46" num_parts="2" price="1.15">Статус</state>
<state id_sms="IDSMS в системе для проверки статуса" time="2011-01-01 12:57:46" num_parts="2" price="1.15">Статус</state>
</response>

Где

  • id_sms - номер SMSсообщения, полученный в ответном XML-документа в процессе отправки SMSсообщения.

  • time – время изменнеия статуса.

  • sms, viber – статус сообщения. Название поля зависит от типа отправляемого и досылаемого сообщения.

  • state – последний статус сообщения:

  1. «send» - статус сообщения не получен. В этом случае передается пустой time (time="").

  2. «not_deliver» - сообщение не было доставлено. Конечный статус (не меняется со временем).

  3. «expired» - абонент находился не в сети в те моменты, когда делалась попытка доставки. Конечный статус (не меняется со временем).

  4. «deliver» - сообщение доставлено.

  5. «read» - сообщение прочитано. Конечный статус (не меняется со временем).

  6. «partly_deliver» - сообщение было отправлено, но статус так и не был получен.

 

Получение статуса SMS сообщения (второй способ)

При использовании данного способа необходимо сообщить менеджеру адрес вашего сервера, который будет принимать статусы SMS. XML-документ будет отправлен POST методом.

К примеру, в php XML-документ будет доступен через переменную

$GLOBALS['HTTP_RAW_POST_DATA']

Система отправляет XML-документ серверу клиента следующего содержания:

<?xml version="1.0" encoding="utf-8"?>
<request>
    <state id_sms="ID SMS в системе для проверки статуса" time="2011-01-01 12:57:46">Статус</state>
    <state id_sms="ID SMS в системе для проверки статуса" time="2011-01-01 12:57:46">Статус</state>
</request>

Где

  • id_sms - номер SMSсообщения, полученный в ответном XML-документа в процессе отправки SMSсообщения.

  • time – время изменнеия статуса.

  • state – статус сообщения:

  1. «send» - статус сообщения не получен. В этом случае передается пустой time (time="").

  2. «not_deliver» - сообщение не было доставлено. Конечный статус (не меняется со временем).

  3. «expired» - абонент находился не в сети в те моменты, когда делалась попытка доставки. Конечный статус (не меняется со временем).

  4. «deliver» - сообщение доставлено.

  5. «read» - сообщение прочитано. Конечный статус (не меняется со временем).

  6. «partly_deliver» - сообщение было отправлено, но статус так и не был получен.

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

<?xml version="1.0" encoding="utf-8" ?>
<response>
    <id_sms>3234</id_sms>
    <id_sms>3234</id_sms>
</response>

Где:

  • id_sms

    • номер SMS сообщения, полученный в ответном XML-документа в процессе отправки SMS сообщения.

  • time

    • время изменения статуса.

Если сервер клиента не передаст id_sms, то статус будет считаться не полученным клиентом. При этому будет сделано 5 попыток доставить статус.

Если сервер клиента не передаст id_sms, то статус будет считаться не полученным клиентом. При этому будет сделано 5 попыток доставить статус.

Запрос проверки баланса

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

https://clk2.prontosms.ru/xml/balance.php

XML-документ:

<?xml version="1.0" encoding="utf-8" ?>
<request>
<security>
    <login value="логин" />
    <password value="пароль" />
</security>
</request>

Где

  • логин

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

  • пароль

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

В ответ может быть выдан один из следующих XML-документов: 1. В случае возникновения ошибки в отправляемом XML-документе:

<?xml version="1.0" encoding="utf-8"?>
<response>
    <error>текст ошибки</error>
</response>

error

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

  1. Неправильный формат XML документа

  2. Неправильный логин или пароль

  3. POST данные отсутствуют

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

<?xml version="1.0" encoding="utf-8" ?>
<response>
    <money currency="RUR">150</money>
    <sms area="Россия">111</sms>
    <sms area="Украина">111</sms>
</response>

Где:

  • money

    • остаток средств.

  • area

    • направление в котором может быть отправлено данное количество SMS.

  • sms

    • количество доступных SMS сообщений для данного направления.

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

Пример

У вас на балансе 10 y.e.

Стоимость SMS сообщения отправленного в Россию составляет 1 y.e.

Стоимость SMS сообщения отправленного в Украину составляет 2 y.e.

При этом вам вернется XML документ следующего содержания.

<?xml version="1.0" encoding="utf-8" ?>
<response>
<money>10</money>
<sms area="Россия">10</sms>
<sms area="Украина">5</sms>
</response>

Если вы отправите две смс в Россию, то XML-документ изменится следующим образом:

<?xml version="1.0" encoding="utf-8" ?>
<response>
    <money>8</money>
    <sms area="Россия">8</sms>
    <sms area="Украина">4</sms>
</response>

Запрос на получения списка отправителей

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

https://clk2.prontosms.ru/xml/originator.php

XML-документ:

<?xml version="1.0" encoding="utf-8" ?>
<request>
<security>
    <login value="логин" />
    <password value="пароль" />
</security>
</request>

Где:

  • логин

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

  • пароль

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

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

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

<?xml version="1.0" encoding="utf-8"?>
<response>
    <error>текст ошибки</error>
</response>

error

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

  1. Неправильный формат XML документа

  2. Неправильный логин или пароль

  3. POST данные отсутствуют

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

<?xml version="1.0" encoding="utf-8" ?>
<response>
    <any_originator>FALSE</any_originatоr>
    <list_originator>
        <originator state="rejected">Отправитель</originator>
    </list_originator>
</response>

Где

  • any_originator

    • TRUE/FALSE - может ли клиент отправлять от любого отправителя или только от заранее одобренных. Если TRUE, то клиент может использовать любого отправителя. При этом список отправителей не возвращается. FALSE – можно использовать только отправителей со статусом «completed».

  • state

    • статус отправителя: 1. order – оформляется 2. completed - готов к использованию 3. rejected – отклонен

  • MCC – мобильный код страны

  • MNC - мобильный код оператора

  • template – наименование шаблона

  • comment - комментарий клиента

  • history - комментарий менеджера

  • operator – используемый оператор 

Запрос на добавление отправителей

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

https://clk2.prontosms.ru/xml/add_originator.php

XML-документ:

<?xml  version="1.0" encoding="utf-8" ?>
<request>
<security>
<login value="логин" />
<password value="пароль" />
</security>
<originator INN="ИНН" KPP="КПП" OGRN="ОГРН" name_counterparty="имя контрагента" template="текст шаблона"   comment="комментарий" >Отправитель</originator>
<operator MCC="" MNC=""/>
…
<operator MCC="" MNC=""/>
<file href="http://..." id="1" />
…
<file href="http://..." id="4" />
</request>

Где

  • login value – ваш логин в системе

  • password value - ваш пароль в системе

  • originator – отправитель, которого нужно добавить

  • operator MCC – мобильный код страны

  • operator MNC - мобильный код оператора

  • file href – ссылка на загружаемый файл

  • file id – id загружаемого файла

  • originator INN – ИНН организации

  • originator KPP – КПП организации

  • originator OGRN - ОГРН организации

  • originator  name_counterparty – имя контрагента

  • originator  template - текст шаблона   

  • comment – комментарий.

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

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

<?xml version="1.0" encoding="utf-8"?>
<response>
<error>текстошибки</error>
</response>
  • error - текст ошибки может принимать следующие значения:

  1. Неправильный формат XML документа

  2. Неправильный логин или пароль

  3. POST данные отсутствуют

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

<?xml version="1.0" encoding="utf-8" ?>
<response>
<originator id_originator="">Отправитель поставлен в очередь на регистрацию.</ originator>
</response>

Где

  • originator – результат добавления отправителя. Может содержать следующие значения:

  1. Отправитель добавлен.

  2. Отправитель поставлен в очередь на регистрацию.

  3. Отправитель может состоять только из 11-ти латинских символов, цифр, пробелов и знаков "\'?><,.-_=+/"!@#$%^&*() " или 15-ти цифр.

Запрос входящих SMS

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

https://clk2.prontosms.ru/xml/incoming.php

XML-документ:

<?xml  version="1.0" encoding="utf-8" ?>
<request>
<security>
<login value="логин" />
<password value="пароль" />
</security>
<time start="2012-01-31 12:23:00" end="2012-02-31 12:23:00" />
</request>

Где

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

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

  • timestart – время (не включительно), с которого запрашиваются входящие SMS.

  • timeend - время (не включительно), по которое запрашиваются входящие SMS. Не обязательный параметр. Если не задан, то будут возвращены все смс.

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

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

<?xml version="1.0" encoding="utf-8"?>
<response>
<error>текстошибки</error>
</response>
  • error - текст ошибки может принимать следующие значения:

  1. Неправильный формат XML документа

  2. Неправильный логин или пароль

  3. POST данные отсутствуют

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

<?xml version="1.0" encoding="utf-8" ?>
<response>
<sms id_sms="1234" date_receive="2012-01-31 12:55:55" originator="79612242243" prefix="IGRA" phone="79611111111">ТекстСМС.</sms>
<sms id_sms="1234" date_receive="2012-01-31 12:55:55" originator="79612242243" prefix="IGRA" phone="79611111111">ТекстСМС.</sms>
…
</response>

Где

  • id_sms–Уникальный номер, состоящий только из цифр.

  • date_receive–Дата и время получения SMS.

  • originator – номер телефона абонента, отправившего SMS.

  • prefix – префикс. Начальная часть текста SMS, по которой было определено, что эта SMSпринадлежит именно этому клиенту. (Используется если один и тот же номер используется разными клиентами.)

  • phone – номер телефона, на который бала отправлена SMS.

  • sms – текст смс

Запрос на получение информации по номеру телефона

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

https://clk2.prontosms.ru/xml/def.php

XML-документ:

<?xml  version="1.0" encoding="utf-8" ?>
<request>
<security>
<login value="логин" />
<password value="пароль" />
</security>
<phones>
<phone>79612242243</phone>
<phone>79612242244</phone>
</phones>
</request>

Где

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

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

  • phone – Номер телефона. 

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

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

<?xml version="1.0" encoding="utf-8"?>
<response>
<error>текстошибки</error>
</response>
  • error - текст ошибки может принимать следующие значения:

  1. Неправильный формат XML документа

  2. Неправильный логин или пароль

  3. POST данные отсутствуют

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

<?xml version="1.0" encoding="utf-8" ?>
<response>
<phone operator="Вымпелтелеком" region="Новосибирскаяобласть" time_zone="3">79612242243</phone>
<phone operator="Вымпелтелеком" region="Калининград" time_zone="-1">79612242244</phone>
…
</response>

Где

  • operator – Оператор.

  • region – Регион.

  • time_zone – Смещение времени в часах относительно времени в Москве.

  • phone – номер телефона.

Запрос на получение списка баз

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

https://clk2.prontosms.ru/xml/list_bases.php

XML-документ:

<?xml  version="1.0" encoding="utf-8" ?>
<request>
<security>
<login value="логин" />
<password value="пароль" />
</security>
</request>

Где

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

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

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

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

<?xml version="1.0" encoding="utf-8"?>
<response>
<error>текстошибки</error>
</response>
  • error - текст ошибки может принимать следующие значения:

  1. Неправильный формат XML документа

  2. Неправильный логин или пароль

  3. POST данные отсутствуют

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

<?xml version="1.0" encoding="utf-8" ?>
<response>
<base id_base="1234" name_base="Базаглавногоофиса" time_birth="12:48" local_time_birth="yes" day_before="1"originator_birth="fitnes" on_birth="yes">Поздравляем!</base>
<base id_base="1235" name_base="БазаМосковскогоофиса" time_birth="12:48" local_time_birth="yes" day_before="1"originator_birth="fitnes" on_birth="yes">Поздравляем!</base>
…
</response>

Где

  • id_base – уникальный номер базы в системе.

  • name_base – название базы.

  • time_birth – Время поздравления.

  • local_time_birth – Считать время поздравления относительно местноговремени абонента(yes) или относительно времени системы (no).

  • day_before– За сколько дней до дня рождения поздравлять.

  • originator_birth – Отправитель поздравления.

  • on_birth –Включены ли поздравления yes – включены, no - выключены.

  • base –Текст поздравления.

Запрос на изменение параметров/добавление/удаление баз

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

https://clk2.prontosms.ru/xml/bases.php

XML-документ:

<?xml  version="1.0" encoding="utf-8" ?>
<request>
<security>
<login value="логин" />
<password value="пароль" />
</security>
<bases>
<base id_base="1234" name_base="Базаглавногоофиса" time_birth="12:48" local_time_birth="yes" day_before="1" originator_birth="fitnes" on_birth="yes">Поздравляем!</base>
<base number_base="1" name_base="БазаМосковскогоофиса" time_birth="12:48" local_time_birth="yes" day_before="1" originator_birth="fitnes" on_birth="yes">Поздравляем!</base>
</bases>
<delete_bases>
<base id_base="1235" />
<base id_base="1236" />
…
</delete_bases>
</request>

Где

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

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

  • id_base – уникальный номер базы в системе. Если не указан произойдет добавление базы. При этом нужно указать параметр number_base.

  • number_base – Номер базы в XMLзапросе. Указывается только при создании новой базы. Используется для сопоставления IDдобавленных баз (если их было не сколько в запросе).

  • name_base – название базы.

  • time_birth – Время поздравления.

  • local_time_birth – Считать время поздравления относительно местноговремени абонента(yes) или относительно времени системы (no).

  • originator_birth – Отправитель поздравления.

  • on_birth –Включены ли поздравления yes – включены, no - выключены.

  • base –Текст поздравления.

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

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

<?xml version="1.0" encoding="utf-8"?>
<response>
<error>текстошибки</error>
</response>

error - текст ошибки может принимать следующие значения:

  1. Неправильный формат XML документа

  2. Неправильный логин или пароль

  3. POST данные отсутствуют

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

<?xml version="1.0" encoding="utf-8" ?>
<response>
<base id_base=”1234”>edit</base>
<base number_base=”1” id_base=”1235”>insert</ base>
<base number_base=”2” id_base=”1236”>edit</ base>
<base id_base=”1235”>delete</ base>
<base id_base=”1235”>not_found</ base>
…
</response>

Запрос на получение списка абонентов базы

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

https://clk2.prontosms.ru/xml/list_phones.php

XML-документ:

<?xml  version="1.0" encoding="utf-8" ?>
<request>
<security>
<login value="логин" />
<password value="пароль" />
</security>
<base id_base="1234" page=”1” last_update=”2011-03-25 08:39:48”/>
</request>

Где

  • login value – ваш логин всистеме

  • password value - ваш пароль в системе

  • baseid_base – Номер базы в системе.

  • basepage – Номер страницы. Весь список номеров базы делится на страницы. Запросить целиком базу нельзя. Можно лишь запросить отдельную страницу. Нумерация начинается с единички.

  • last_update – минимальная дата и время регистрации (или последнего изменения) данных абонента, которых Вам нужно запросить.

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

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

<?xml version="1.0" encoding="utf-8"?>
<response>
<error>текстошибки</error>
</response>

error - текст ошибки может принимать следующие значения:

  1. Неправильный формат XML документа

  2. Неправильный логин или пароль

  3. POST данные отсутствуют

  4. Базы с таким номером не существует

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

<?xml version="1.0" encoding="utf-8" ?>
<response>
<phones page="1" num_pages="100">
<phone phone="79612242243" region="Новосибирск " operator="Вымпелком" name="Константин" surname="Ермолаев" patronymic="Александрович" date_birth="1984-08-21" male="m" addition_1="Первоедополнительноеполе" addition_2="второе" last_update=” 2011-03-25 08:39:48” />
<phone phone="79612242244" region="Новосибирск " operator="Вымпелком" name="Константин" surname="Ермолаев" patronymic="Александрович" date_birth="1984-08-21" male="m" addition_1="Первоедополнительноеполе" addition_2="второе" last_update=” 2011-03-25 08:39:48” />
…
</phones>
</response>

Где

  • page – номер страницы

  • num_pages – всего страниц

  • phone – номер телефона абонента

  • region – регион

  • operator – оператор

  • name – Имя абонента

  • surname – Фамилия абонента

  • patronymic – Отчество абонента

  • date_birth – Дата рождения

  • male – Пол. «m» - мужской, «f»- женский

  • addition_1 – Первое дополнительное поле.

  • addition_2 – Второе дополнительное поле.

  • last_update – дата и время регистрации (или последнего изменения) данных абонента.

Запрос на добавление/редактирование/удаление абонентов базы

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

https://clk2.prontosms.ru/xml/phones.php

XML-документ:

<?xml  version="1.0" encoding="utf-8" ?>
<request>
<security>
<login value="логин" />
<password value="пароль" />
</security>
<base id_base="1234">
<phone phone="79612242243" region="Новосибирск " operator="Вымпелком" name="Иван" surname="Иванов" patronymic="Иванович" date_birth="1984-08-21" male="мужской" addition_1="Первоедополнительноеполе" addition_2="второе" number_phone="1"/>
<phone phone="79612242244" region="Новосибирск " operator="Вымпелком" name="Иван" surname="Иванов" patronymic="Иванович" date_birth="1984-08-21" male="мужской" addition_1="Первоедополнительноеполе" addition_2="второе" number_phone="2" />
…
<phone phone="79612242243" action="delete" number_phone="5"/>
<phone phone="79612242244" action="delete" number_phone="6"/>
…
</base>
</request>

Где

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

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

  • baseid_base – Номер базы в системе.

  • phone – номер телефона абонента. Если абонент с таким номером уже существует, то он будет отредактирован.

  • region – регион. Необязательное поле. Если не задано определяется автоматически.

  • operator – оператор. Необязательное поле. Если не задано определяется автоматически.

  • name – Имя абонента. Необязательное поле.

  • surname – Фамилия абонента. Необязательное поле.

  • patronymic –Отчество абонента. Необязательное поле.

  • date_birth –Дата рождения. Необязательное поле.

  • male –Пол. «мужской» или «женский». Необязательное поле.

  • addition_1 –Первое дополнительное поле. Необязательное поле.

  • addition_2 –Второе дополнительное поле. Необязательное поле. 

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

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

<?xml version="1.0" encoding="utf-8"?>
<response>
<error>текстошибки</error>
</response>
  • error - текст ошибки может принимать следующие значения:

  1. Неправильный формат XML документа

  2. Неправильный логин или пароль

  3. POST данные отсутствуют

  4. Базы с таким номером не существует

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

<?xml version="1.0" encoding="utf-8" ?>
<response>
<baseid_base="1234">
<phone phone="79612242243" number_phone="1"/>insert</phone>
<phone phone="79612242244" number_phone="2" />edit</phone>
<phone phone="79612242243" number_phone="5"/>delete</phone>
<phone phone="79612242244" number_phone="6" />not_found</phone>
</base>
…
</response>

Запрос на получение списка номеров из СТОП-листа

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

https://clk2.prontosms.ru/xml/list_stop.php

XML-документ:

<?xml  version="1.0" encoding="utf-8" ?>
<request>
<security>
<login value="логин" />
<password value="пароль" />
</security>
</request>

Где

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

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

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

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

<?xml version="1.0" encoding="utf-8"?>
<response>
<error>текстошибки</error>
</response>
  • error - текст ошибки может принимать следующие значения:

  1. Неправильный формат XML документа

  2. Неправильный логин или пароль

  3. POST данные отсутствуют

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

<?xml version="1.0" encoding="utf-8" ?>
<response>
<phone>79612242243</phone>
<phone>79612242244</phone>
…
</response>

Где

  • phone – Номер телефона из СТОП-листа.

Запрос на добавление/удаление абонентов в СТОП-лист

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

https://clk2.prontosms.ru/xml/stop.php

XML-документ:

<?xml  version="1.0" encoding="utf-8" ?>
<request>
<security>
<login value="логин" />
<password value="пароль" />
</security>
<add_stop>
<phone phone="79612242243” />
<phone phone="79612242244" />
…
</add_stop>
<delete_stop>
<phone phone="79612242243” />
<phone phone="79612242244" />
…
</delete_stop>
</request>

Где

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

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

  • add_stopphone – номер телефона абонента, которого нужно добавить в СТОП-лист.

  • delete_stopphone – номер телефона абонента, которого нужно удалить из СТОП-листа.

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

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

<?xml version="1.0" encoding="utf-8"?>
<response>
<error>текстошибки</error>
</response>
  •  error - текст ошибки может принимать следующие значения:

  1. Неправильный формат XML документа

  2. Неправильный логин или пароль

  3. POST данные отсутствуют

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

<?xml version="1.0" encoding="utf-8" ?>
<response>
<phone phone="79612242243">delete</phone>
<phone phone="79612242244">add</phone>
<phone phone="79612242245">not_found</phone>
…
</response>

Запрос на получение списка запланированных SMS

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

https://clk2.prontosms.ru/xml/list_scheduled.php

XML-документ:

<?xml  version="1.0" encoding="utf-8" ?>
<request>
<security>
<login value="логин" />
<password value="пароль" />
</security>
<scheduled page=”1”/>
</request>

Где

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

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

  • scheduledpage – Номер страницы. Весь список запланированных SMS делится на страницы. Запросить список целиком нельзя. Можно лишь запросить отдельную страницу. Нумерация начинается с единички.

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

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

<?xml version="1.0" encoding="utf-8"?>
<response>
<error>текстошибки</error>
</response>
  • error - текст ошибки может принимать следующие значения:

  1. Неправильный формат XML документа

  2. Неправильный логин или пароль

  3. POST данные отсутствуют

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

<?xml version="1.0" encoding="utf-8" ?>
<response>
<phones page="1" num_pages="100">
<scheduled id_sms="1234" time_put_turn="2011-11-14 12:42:40" originator="kosty" phone="79612242243" type_sms="sms" text_sms="ТекстSMS" count_sms="2" name_delivery="Названиерасылки" time_send="2011-11-14 21:00" validity_period="2011-11-17 21:00:00" />
<scheduled id_sms="1235" time_put_turn="2011-11-14 12:42:40" originator="kosty" phone="79612242244" type_sms="sms" text_sms="ТекстSMS" count_sms="2" name_delivery="Названиерасылки" time_send="2011-11-14 21:00" validity_period="2011-11-17 21:00:00" />
…
</phones>
</response>

Где

  • page – номер страницы

  • num_pages – всего страниц

  •  id_sms – номерSMS. Используется для удаления запланированной SMS.

  • time_put_turn– Время добавления в планировщик.

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

  • phone – номер абонента, которому адресована SMS.

  • type – тип отправляемого SMSсообщения:

  • sms – обычнаяSMS

  • flashsms – flash SMS

  • wappush – WAP-Push

  • vcard – визитнаякарточка (vCard)

  • text_sms–Текст SMS-сообщения.

  • count_sms–Количество частей SMS-сообщения.

  • name_delivery–Название рассылки.

  • time_send – дата и время отправки в формате:

YYYY-MM-DDHH:MM

где, YYYY-год, MM-месяц, DD-день,HH-часы, MM-минуты.

  • validity_period – дата и время, после которых не будут делаться попытки доставить SMS в формате:

YYYY-MM-DDHH:MM:SS

где, YYYY-год, MM-месяц, DD-день,HH-часы, MM-минуты, SS-секунды. 

Запрос на удаление запланированной SMS

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

https://clk2.prontosms.ru/xml/scheduled.php

XML-документ:

<?xml  version="1.0" encoding="utf-8" ?>
<request>
<security>
<login value="логин" />
<password value="пароль" />
</security>
<delete_schedule>
<schedule id_sms="1234” />
<schedule id_sms="1235” />
…
</delete_schedule>
</request>

Где

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

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

  • delete_scheduleid_sms – номер запланированной SMS, которую нужно удалить. Можно получить при запросе списка запланированных SMS.

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

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

<?xml version="1.0" encoding="utf-8"?>
<response>
<error>текстошибки</error>
</response>
  • error - текст ошибки может принимать следующие значения:

  1. Неправильный формат XML документа

  2. Неправильный логин или пароль

  3. POST данные отсутствуют

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

<?xml version="1.0" encoding="utf-8" ?>
<response>
<scheduled id_sms="1234">delete</scheduled>
<scheduled id_sms="1235">not_found</scheduled>
…
</response>

Запрос на получение времени изменения чего либо

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

https://clk2.prontosms.ru/xml/check_change.php

XML-документ:

<?xml  version="1.0" encoding="utf-8" ?>
<request>
<security>
<login value="логин" />
<password value="пароль" />
</security>
<check obgect="base" id="1"/>
</request>

Где

  • login value - ваш логин в системе

  • password value - ваш пароль в системе

  • obgect – base – базы данных, stop-стоп лист 

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

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

<?xml version="1.0" encoding="utf-8"?>
<response>
<error>текстошибки</error>
</response>
  • error - текст ошибки может принимать следующие значения:

  1. Неправильный формат XML документа

  2. Неправильный логин или пароль

  3. POST данные отсутствуют

  4. Базы с таким номером не существует

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

<?xml version="1.0" encoding="utf-8" ?>
<response>
<obgect time_update="2012-01-01 12:12:12" />
</response>

Где

  • time_update – время последнего изменения объекта

Запрос проверки времени

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

https://clk2.prontosms.ru/xml/time.php

XML-документ:

<?xml  version="1.0" encoding="utf-8" ?>
<request>
<security>
<login value="логин" />
<password value="пароль" />
</security>
</request>

Где

  • login value – ваш логин в системе

  • password value - ваш пароль в системе

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

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

<?xml version="1.0" encoding="utf-8"?>
<response>
<error>текст ошибки</error>
</response>
  • error - текст ошибки может принимать следующие значения:

  1. Неправильный формат XML документа

  2. Неправильный логин или пароль

  3. POST данные отсутствуют

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

<?xml version="1.0" encoding="utf-8" ?>
<response>
<time>15:34:05</time>
</response>

Где

  • time – локальное время пользователя.

При этом время рассчитывается как время на сервере минус разница часовых поясов пользователя и сервера.

Пример

Сервер находиться в Москве и серверное время у него московское, в момент запроса оно составляло: 15:34:27.

А пользователь числился в Новосибирске и разница часовых поясов (между сервером и пользователём) у него равнялось +3.

При этом вам вернется XML документ следующего содержания:

<?xml version="1.0" encoding="utf-8"?>
<response>
<time>2012-12-17 18:34:27</time>
</response>

Запрос на загрузку файлов

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

https://clk2.prontosms.ru/xml/file.php

Для загрузки файла на сервер необходимо отправить POST данные содержащие переменные login, password, file. В ответ будет выдан id сохраненного файла, который в дальнейшем вы можете использовать в xml-запросах.

Пример php кода для загрузки файла:

    $href = "https://clk2.prontosms.ru/xml/file.php";
    $tmpfname = "имя";
    $requist['login'] = "логин";
    $requist['passsword'] = "пароль";
    if(PHP_VERSION_ID <  56000)
        $requist['file'] = '@' . $tmpfname;
    else
        $requist['file'] = new CurlFile($tmpfname, 'image/jpg');  
    $res = '';
    $in = '';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $href);
    curl_setopt($ch, CURLOPT_POST, TRUE);
    curl_setopt($ch, CURLOPT_HEADER, FALSE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $requist);
    $result = curl_exec($ch);
    curl_close($ch);
    echo $result;

    Где

  • $tmpfname – путь до файла отгрузки (Пример: C:\Program Files\file\test.jpg)

  • $requist['login'] – ваш логин в системе

  • $requist['passsword'] – ваш пароль в системе.

   Ответ:

  • id – id вашего сохраненного файла.

   Возможные ошибки:

  1. Не удалось скопировать файл!

  2. Неверный логин или пароль!

  • No labels