Спецификация XML-шлюза
Общие принципы отправки
На определенный адрес сервера отправляются 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 - текст ошибки может принимать следующие значения:
Неправильный формат XML документа
Ваш аккаунт заблокирован
Неправильный логин или пароль
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произошла ошибка:
У нас закончились SMS. Для разрешения проблемы свяжитесь с менеджером.
Закончились SMS.
Аккаунт заблокирован.
Укажите номер телефона.
Номер телефона присутствует в стоп-листе.
Данное направление закрыто для вас.
Данное направление закрыто.
Текст SMS отклонен модератором.
Нет отправителя.
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
текст ошибки может принимать следующие значения:
Неправильный формат XML документа
Неправильный логин или
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 – последний статус сообщения:
«send» - статус сообщения не получен. В этом случае передается пустой time (time="").
«not_deliver» - сообщение не было доставлено. Конечный статус (не меняется со временем).
«expired» - абонент находился не в сети в те моменты, когда делалась попытка доставки. Конечный статус (не меняется со временем).
«deliver» - сообщение доставлено.
«read» - сообщение прочитано. Конечный статус (не меняется со временем).
«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 – статус сообщения:
«send» - статус сообщения не получен. В этом случае передается пустой time (time="").
«not_deliver» - сообщение не было доставлено. Конечный статус (не меняется со временем).
«expired» - абонент находился не в сети в те моменты, когда делалась попытка доставки. Конечный статус (не меняется со временем).
«deliver» - сообщение доставлено.
«read» - сообщение прочитано. Конечный статус (не меняется со временем).
«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
текст ошибки может принимать следующие значения:
Неправильный формат XML документа
Неправильный логин или пароль
POST данные отсутствуют
В случае получения правильного 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
текст ошибки может принимать следующие значения:
Неправильный формат XML документа
Неправильный логин или пароль
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 - текст ошибки может принимать следующие значения:
Неправильный формат XML документа
Неправильный логин или пароль
POST данные отсутствуют
В случае получения правильного XML-документа:
<?xml version="1.0" encoding="utf-8" ?>
<response>
<originator id_originator="">Отправитель поставлен в очередь на регистрацию.</ originator>
</response>
Где
originator – результат добавления отправителя. Может содержать следующие значения:
Отправитель добавлен.
Отправитель поставлен в очередь на регистрацию.
Отправитель может состоять только из 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 - текст ошибки может принимать следующие значения:
Неправильный формат XML документа
Неправильный логин или пароль
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 - текст ошибки может принимать следующие значения:
Неправильный формат XML документа
Неправильный логин или пароль
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 - текст ошибки может принимать следующие значения:
Неправильный формат XML документа
Неправильный логин или пароль
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 - текст ошибки может принимать следующие значения:
Неправильный формат XML документа
Неправильный логин или пароль
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 - текст ошибки может принимать следующие значения:
Неправильный формат XML документа
Неправильный логин или пароль
POST данные отсутствуют
Базы с таким номером не существует
В случае получения правильного 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 - текст ошибки может принимать следующие значения:
Неправильный формат XML документа
Неправильный логин или пароль
POST данные отсутствуют
Базы с таким номером не существует
В случае получения правильного 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 - текст ошибки может принимать следующие значения:
Неправильный формат XML документа
Неправильный логин или пароль
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 - текст ошибки может принимать следующие значения:
Неправильный формат XML документа
Неправильный логин или пароль
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 - текст ошибки может принимать следующие значения:
Неправильный формат XML документа
Неправильный логин или пароль
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 - текст ошибки может принимать следующие значения:
Неправильный формат XML документа
Неправильный логин или пароль
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 - текст ошибки может принимать следующие значения:
Неправильный формат XML документа
Неправильный логин или пароль
POST данные отсутствуют
Базы с таким номером не существует
В случае получения правильного 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 - текст ошибки может принимать следующие значения:
Неправильный формат XML документа
Неправильный логин или пароль
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 вашего сохраненного файла.
Возможные ошибки:
Не удалось скопировать файл!
Неверный логин или пароль!