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

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

Для просчета стоимости рассылки необходимо передавать "type":"price" вместо "type":"sms".

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

Content-Type: application/json; charset=utf-8

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

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

$param = array(
    'security' => array('login' => 'Логин', 'password' => 'Пароль'),
    'type' => 'sms'
);
$param_json = json_encode($param, true);
// JSON-документ
$href = 'https://clk.prontosms.ru/sendsmsjson.php'; // адрес сервера
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','charset=utf-8','Expect:'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $param_json);
curl_setopt($ch, CURLOPT_TIMEOUT, 600);
curl_setopt($ch, CURLOPT_URL, $href);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
$res = curl_exec($ch);
$result = json_decode($res, true);
curl_close($ch);
print_r($result);

Отправка SMS

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

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

JSON-документ:

{
    "security":{
        "login":"логин",
        "password":"пароль"
    },
    "type":"sms",
    "message":[
        {
            "type":"sms",
            "sender":"Отправитель 1",
            "text":"Текст сообщения 1",
            "name_delivery":"Рассылка 1",
            "translite":"1",
            "abonent":[
                {"phone":"79033256699","number_sms":"1","client_id_sms":"100","time_send":"2016-11-09 12:40","validity_period":"2016-11-09 13:30"},
                {"phone":"79033256699","number_sms":"2","client_id_sms":"101"}
            ]
        },
        {
            "type":"sms",
            "sender":"Отправитель 2",
            "text":"Текст сообщения 2",
            "name_delivery":"Рассылка 2",
            "abonent":[
                {"phone":"79033256699","number_sms":"1","client_id_sms":"111"},
                {"phone":"79033256699","number_sms":"2","client_id_sms":"112"}
            ]
        }
    ]
}

PHP-данные:

$param = array(
    'security' => array('login' => 'логин', 'password' => 'пароль'),
    'type' => 'sms',
    'message' => array(
        array(
            'type' => 'sms',
            'sender' => 'Отправитель 1',
            'text' => 'Текст сообщения 1',
            'name_delivery' => 'Рассылка 1',
            'translite' => '1',
            'abonent' => array(
                array('phone' => '79033256699', 'number_sms' => '1', 'client_id_sms' => '100', 'time_send' => '2016-11-09 12:40', 'validity_period' => '2016-11-09 13:30'),
                array('phone' => '79033256699', 'number_sms' => '2', 'client_id_sms' => '101')
            )
        ),
        array(
            'type' => 'sms',
            'sender' => 'Отправитель 2',
            'text' => 'Текст сообщения 2',
            'name_delivery' => 'Рассылка 2',
            'abonent' => array(
                array('phone' => '79033256699', 'number_sms' => '1', 'client_id_sms' => '111'),
                array('phone' => '79033256699', 'number_sms' => '2', 'client_id_sms' => '112')
            )
        )
    )
);

Где:

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

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

JSON:

{
    "error":"текст ошибки"
}

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

array ('error' => 'текст ошибки')

error

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

JSON:

{
    "sms":[
        {"number_sms":"1","id_sms":"ID SMS в системе для проверки статуса","parts":"1","action":"Статус/сообщение об ошибке"},
        {"number_sms":"2","id_sms":"ID SMS в системе для проверки статуса","parts":"1","action":"Статус/сообщение об ошибке"}
    ]
}

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

Array(
    [sms] => Array(
        [0] => Array ( [number_sms] => 1 [id_sms] => ID SMS в системе для проверки статуса [parts] => 1 [action] => Статус/сообщение об ошибке ),
        [1] => Array ( [number_sms] => 2 [id_sms] => ID SMS в системе для проверки статуса [parts] => 1 [action] => Статус/сообщение об ошибке )
    )
)

Где:

    1. У нас закончились SMS. Для разрешения проблемы свяжитесь с менеджером.
    2. Закончились SMS.
    3. Аккаунт заблокирован.
    4. Укажите номер телефона.
    5. Номер телефона присутствует в стоп-листе.
    6. Данное направление закрыто для вас.
    7. Данное направление закрыто.
    8. Недостаточно средств для отправки SMS. SMS будет отправлена как только вы пополните счет по данному направлению.
    9. Текст SMS отклонен модератором.
    10. Нет отправителя.
    11. Отправитель не должен превышать 15 символов для цифровых номеров и 11 символов для буквенно-числовых.
    12. Номер телефона должен быть меньше 15 символов.
    13. Нет текста сообщения.
    14. Нет ссылки.
    15. Такого отправителя Нет.
    16. Отправитель не прошел модерацию.
    17. Данное сообщение уже было отправлено.

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

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

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

JSON-документ:

{
    "security":{
        "login":"логин",
        "password":"пароль"
    },
    "type":"state",
    "get_state":["ID SMS в системе для проверки статуса","ID SMS в системе для проверки статуса"]
}

PHP-данные:

$param = array(
    'security' => array('login' => 'логин', 'password' => 'пароль'),
    'type' => 'state',
    'get_state' => array('ID SMS в системе для проверки статуса', 'ID SMS в системе для проверки статуса')
);

Где:

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

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

JSON:

{
    "error":"текст ошибки"
}

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

array ('error' => 'текст ошибки')

error

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

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

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

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

JSON:

{
    "state":[
        {"id_sms":"ID SMS в системе для проверки статуса","time":"2016-03-02 18:31:38","state":"Статус/сообщение об ошибке","num_parts":"2","price":"1.15"},
        {"id_sms":"ID SMS в системе для проверки статуса","time":"2016-03-02 18:31:39","state":"Статус/сообщение об ошибке","num_parts":"1","price":"1.15"}
    ]
}

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

Array (
    [state] => Array (
        [0] => Array ( [id_sms] => ID SMS в системе для проверки статуса [time] => 2016-03-02 18:31:38 [state] => Статус/сообщение об ошибке [num_parts] => 2 [price] => 1.15 ),
        [1] => Array ( [id_sms] => ID SMS в системе для проверки статуса [time] => 2016-03-02 18:31:39 [state] => Статус/сообщение об ошибке [num_parts] => 1 [price] => 1.15 )
    )
)

Где: id_sms

time

state

1. «send» - статус сообщения не получен. В этом случае передается пустой time (time="");
2. «not_deliver» - сообщение не было доставлено. Конечный статус (не меняется со временем);
3. «expired» - абонент находился не в сети в те моменты, когда делалась попытка доставки. Конечный Статус (не меняется со временем;
4. «deliver» - сообщение доставлено. Конечный статус (не меняется со временем);
5. «partly_deliver» - сообщение было отправлено, но статус так и не был получен. Конечный статус (не меняется со временем). В этом случае для разъяснения причин отсутствия статуса необходимо связаться со службой тех. поддержки;

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

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

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

{
  "state":
    [
      {
        "id_sms":"Идентификатор СМС (Первого сегмента)",
        "id_turn":"Идентификатор целого смс",
        "time":"ВРЕМЯ",
        "state":"Статус",
        "num_parts":"Частей",
        "price":"Цена",
        "phone":"Номер"
      }
    ]
}

Где:

В ответ мы ожидаем от сервера клиента 200 заголовок ответа и ответ «OK»

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

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

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

JSON-документ:

{
    "security":{
        "login":"логин",
        "password":"пароль"
    },
    "type":"balance"
}

PHP-данные:

$param = array(
    'security' => array('login' => 'логин', 'password' => 'пароль'),
    'type' => 'balance'
);

Где:

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

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

JSON:

{
    "error":"текст ошибки"
}

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

array ('error' => 'текст ошибки')

error

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

JSON:

{
    "money":{"currency":"RUR","value":"150"},
    "sms":[
        {"area":"МТС ","number":"140"},
        {"area":"Мегафон","number":"141"}
    ]
}

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

Array (
    [money] => Array ( [currency] => RUR [value] => 356.1 )
    [sms] => Array (
        [0] => Array ( [area] => МТС [number] => 356.1 )
        [1] => Array ( [area] => Мегафон [number] => 356.1 )
    )
)

Где:

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

Пример

У вас на балансе 10 y.e. Стоимость SMS сообщения отправленного на МТС составляет 1 y.e. Стоимость SMS сообщения отправленного на Мегафон составляет 2 y.e.

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

{
    "money":{"currency":"RUR","value":"10"},
    "sms":[
        {"area":"МТС ","number":"10"},
        {"area":"Мегафон","number":"5"}
    ]
}

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

Array (
    [money] => Array ( [currency] => RUR [value] => 10 )
    [sms] => Array (
        [0] => Array ( [area] => МТС [number] => 10 )
        [1] => Array ( [area] => Мегафон [number] => 5 )
    )
)

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

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

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

JSON-документ:

{
    "security":{
        "login":"логин",
        "password":"пароль"
    },
    "type":"originator"
}

PHP-данные:

$param = array(
    'security' => array('login' => 'логин', 'password' => 'пароль'),
    'type' => 'originator'
);

Где:

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

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

JSON:

{
    "error":"текст ошибки"
}

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

array ('error' => 'текст ошибки')

error

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

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

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

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

JSON:

{
    "any_originator":"FALSE",
    "list_originator":[
        {"state":"completed","originator":"Отправитель 1"},
        {"state":"order","originator":"Отправитель 2"},
        {"state":"rejected","originator":"Отправитель 3"}
    ]
}

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

Array ( 
    [any_originator] => FALSE
    [list_originator] => Array (
        [0] => Array ( [state] => completed [originator] => Отправитель 1 )
        [1] => Array ( [state] => order  [originator] => Отправитель 2 )
        [2] => Array ( [state] => rejected  [originator] => Отправитель 3 )
    )
)

Где:

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

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

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

JSON-документ:

{
    "security":{
        "login":"логин",
        "password":"пароль"
    },
    "type":"incoming",
    "time":{
        "start":"2016-08-25 15:28:37",
        "end":"2012-02-31 12:23:00"
    }
}

PHP-данные:

$param = array(
    'security' => array('login' => 'логин', 'password' => 'пароль'),
    'type' => 'incoming',
    'time' => array('start' => '2012-01-31 12:23:00', 'end' => )
);

Где:

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

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

JSON:

{
    "error":"текст ошибки"
}

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

array ('error' => 'текст ошибки')

error

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

JSON:

{
    "sms":[
        {"id_sms":"1234","date_receive":"2012-01-31 12:55:55","originator":"79612242243","prefix":"IGRA","phone":"3434","text_sms":"ТекстСМС."},
        {"id_sms":"1235","date_receive":"2012-01-31 12:55:55","originator":"79612242243","prefix":"IGRA","phone":"3434","text_sms":"ТекстСМС."}
    ]
}

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

Array(
    [sms] => Array(
        [0] => Array ( [id_sms] => 1234 [date_receive] => 2012-01-31 12:55:55 [originator] => 79612242243 [prefix] => IGRA [phone] => 3434, [text_sms] => ТекстСМС. ),
        [1] => Array ( [id_sms] => 1235 [date_receive] => 2012-01-31 12:55:55 [originator] => 79612242243 [prefix] => IGRA [phone] => 3434, [text_sms] => ТекстСМС. )
    )
)

Где:

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

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

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

JSON-документ:

{
    "security":{
        "login":"логин",
        "password":"пароль"
    },
    "type":"def",
    "phones":["79612242243","79612242244"]
}

PHP-данные:

$param = array(
    'security' => array('login' => 'логин', 'password' => 'пароль'),
    'type' => 'def',
    'phones' => array('79612242243', '79612242244')
);

Где:

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

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

JSON:

{
    "error":"текст ошибки"
}

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

array ('error' => 'текст ошибки')

error

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

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

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

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

JSON:

{
    "phones":[
        {"phone":"79612242243","operator":"BeeLine","region":"Новосибирская область","time_zone":"6"},
        {"phone":"79612242244","operator":"BeeLine","region":"Новосибирская область","time_zone":"6"}
    ]
}

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

Array(
    [phones] => Array(
        [0] => Array ( [phone] => 79612242243 [operator] => BeeLine [region] => Новосибирская область [time_zone] => 6 ),
        [1] => Array ( [phone] => 79612242244 [operator] => BeeLine [region] => Новосибирская область [time_zone] => 6 )
    )
)

Где:

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

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

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

JSON-документ:

{
    "security":{
        "login":"логин",
        "password":"пароль"
    },
    "type":"list_bases"
}

PHP-данные:

$param = array(
    'security' => array('login' => 'логин', 'password' => 'пароль'),
    'type' => 'list_bases'
);

Где:

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

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

JSON:

{
    "error":"текст ошибки"
}

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

array ('error' => 'текст ошибки')

error

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

JSON:

{
    "base":[
        {"id_base":"1234","name_base":"Базаглавногоофиса","time_birth":"12:48","local_time_birth":"yes","day_before":"0","originator_birth":"fitnes","on_birth":"yes","text_birth":"Поздравляем!"},
        {"id_base":"1235","name_base":"БазаМосковскогоофиса","time_birth":"12:48","local_time_birth":"no","day_before":"0","originator_birth":"fitnes","on_birth":"no","text_birth":"Поздравляем!"}
    ]
}

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

Array (
    [base] => Array (
        [0] => Array ( [id_sms] => 1234 [name_base] => Базаглавногоофиса [time_birth] => 12:48 [local_time_birth] => yes [day_before] => 0 [originator_birth] => fitnes [on_birth] => yes [text_birth] => Поздравляем! ),
        [1] => Array ( [id_sms] => 1235 [name_base] => БазаМосковскогоофиса [time_birth] => 12:48 [local_time_birth] => yes [day_before] => 1 [originator_birth] => fitnes [on_birth] => no [text_birth] => Поздравляем! )
    )
)

Где:

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

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

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

JSON-документ:

{
    "security":{
        "login":"логин",
        "password":"пароль"
    },
    "type":"bases",
    "bases":[
        {"id_base":"1234","name_base":"Базаглавногоофиса","time_birth":"12:48","local_time_birth":"yes","day_before":"0","originator_birth":"fitnes","on_birth":"yes","text_birth":"Поздравляем!"},
        {"number_base":"1","name_base":"БазаМосковскогоофиса","time_birth":"12:48","local_time_birth":"no","day_before":"1","originator_birth":"fitnes","on_birth":"no","text_birth":"Поздравляем!"}
    ],
    "delete_bases":[
        {"id_base":"1236"},
        {"id_base":"1237"}
    ]
}

PHP-данные:

$param = array(
    'security' => array('login' => 'логин', 'password' => 'пароль'),
    'type' => 'bases',
    'bases' => array(
        array('id_base' => '1234', 'name_base' => 'Базаглавногоофиса', 'time_birth' => '12:48',  'local_time_birth' => 'yes', 'day_before' => '1', 'originator_birth' => 'fitnes', 'on_birth' => 'yes', 'text_birth' => 'Поздравляем!'),
        array('number_base' => '1', 'name_base' => 'БазаМосковскогоофиса', 'time_birth' => '12:48',  'local_time_birth' => 'yes', 'day_before' => '1', 'originator_birth' => 'fitnes', 'on_birth' => 'yes', 'text_birth' => 'Поздравляем!')
    ),
    'delete_bases' => array(
        array('id_base' => '1236'),
        array('id_base' => '1237')
    )
);

Где:

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

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

JSON:

{
    "error":"текст ошибки"
}

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

array ('error' => 'текст ошибки')

error

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

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

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

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

JSON:

{
    "bases":[
        {"id_base":"1234","action":"edit"},
        {"id_base":"1235","action":"insert","number_base":"1"},
        {"id_base":"1236","action":"delete"},
        {"id_base":"1237","action":"not_found"}
    ]
}

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

Array (
    [bases] => Array (
        [0] => Array ( [id_base] => 1234 [action] => edit ),
        [1] => Array ( [id_base] => 1235 [action] => insert [number_base] => 1 ),
        [2] => Array ( [id_base] => 1236 [action] => delete ),
        [3] => Array ( [id_base] => 1237 [action] => not_found )
    )
)

Где:

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

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

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

JSON-документ:

{
    "security":{
        "login":"логин",
        "password":"пароль"
    },
    "type":"list_phones",
    "base":{"id_base":"1234","page":"1","last_update":"2016-10-18 12:14:25"}
}

PHP-данные:

$param = array(
    'security' => array('login' => 'логин', 'password' => 'пароль'),
    'type' => 'list_phones',
    'base' => array('id_base' => '1234', 'page' => '1', 'last_update' => '2016-10-18 12:14:25')
);

Где:

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

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

JSON:

{
    "error":"текст ошибки"
}

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

array ('error' => 'текст ошибки')

error

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

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

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

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

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

JSON:

{
    "page":"1",
    "num_pages":"100",
    "phones":[
        {"phone":"79612242243","region":"Новосибирск","operator":"Вымпелком","name":"Константин","surname":"Ермолаев","patronymic":"Александрович","date_birth":"1984-08-21","male":"m","addition_1":"Первоедополнительноеполе","addition_2":"второе","addition_3":"третье","addition_4":"четвертое","addition_5":"пятое","last_update":"2016-11-15 11:02:29"},
        {"phone":"79612242244","region":"Новосибирск","operator":"Вымпелком","name":"Константин","surname":"Ермолаев","patronymic":"Александрович","date_birth":"1984-08-21","male":"m","addition_1":"Первоедополнительноеполе","addition_2":"второе","addition_3":"третье","addition_4":"четвертое","addition_5":"пятое","last_update":"2016-11-15 11:02:29"}
    ]
}

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

Array ( 
    [page] => 1
    [num_pages] => 100
    [phones] => Array (
        [0] => Array ( [phone] => 79612242244 [region] => Новосибирск [operator] => Вымпелком [name] => Константин [surname] => Ермолаев [patronymic] => Александрович [date_birth] => 1984-08-21 [male] => m [addition_1] => Первоедополнительноеполе [addition_2] => второе [addition_3] => третье [addition_4] => четвертое [addition_5] => пятое [last_update] => 2016-11-15 11:02:29 )
        [1] => Array ( [phone] => 79612242244 [region] => Новосибирск [operator] => Вымпелком [name] => Константин [surname] => Ермолаев [patronymic] => Александрович [date_birth] => 1984-08-21 [male] => m [addition_1] => Первоедополнительноеполе [addition_2] => второе [addition_3] => третье [addition_4] => четвертое [addition_5] => пятое [last_update] => 2016-11-15 11:02:29 )
    )
)

Где:

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

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

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

JSON-документ:

{
    "security":{
        "login":"логин",
        "password":"пароль"
    },
    "type":"phones",
    "id_base":"1234",
    "phones":[
        {"phone":"79612242243","region":"Новосибирск","operator":"Вымпелком","name":"Константин","surname":"Ермолаев","patronymic":"Александрович","date_birth":"1984-08-21","male":"мужской","addition_1":"Первоедополнительноеполе","addition_2":"второе","addition_3":"третье","addition_4":"четвертое","addition_5":"пятое","number_phone":"1"},
        {"phone":"79612242244","region":"Новосибирск","operator":"Вымпелком","name":"Константин","surname":"Ермолаев","patronymic":"Александрович","date_birth":"1984-08-21","male":"мужской","addition_1":"Первоедополнительноеполе","addition_2":"второе","addition_3":"третье","addition_4":"четвертое","addition_5":"пятое","number_phone":"2"},
        {"phone":"79612242245","action":"delete","number_phone":"5"},
        {"phone":"79612242246","action":"delete","number_phone":"6"}
    ]
}

PHP-данные:

$param = array(
    'security' => array('login' => 'логин', 'password' => 'пароль'),
    'type' => 'phones',
    'id_base' => '1234',
    'phones' => array(
        array('phone' => '79612242243', 'region' => 'Новосибирск', 'operator' => 'Вымпелком', 'name' => 'Константин', 'surname' => 'Ермолаев', 'patronymic' => 'Александрович', 'date_birth' => '1984-08-21', 'male' => 'мужской', 'addition_1' => 'Первоедополнительноеполе', 'addition_2' => 'второе', 'addition_3' => 'третье', 'addition_4' => 'четвертое', 'addition_5' => 'пятое', 'number_phone' => '1'),
        array('phone' => '79612242244', 'region' => 'Новосибирск', 'operator' => 'Вымпелком', 'name' => 'Константин', 'surname' => 'Ермолаев', 'patronymic' => 'Александрович', 'date_birth' => '1984-08-21', 'male' => 'мужской', 'addition_1' => 'Первоедополнительноеполе', 'addition_2' => 'второе', 'addition_3' => 'третье', 'addition_4' => 'четвертое', 'addition_5' => 'пятое', 'number_phone' => '2'),
        array('phone' => '79612242244', 'action' => 'delete', 'number_phone' => '5'),
        array('phone' => '79612242245', 'action' => 'delete', 'number_phone' => '6')
    )
);

Где:

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

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

JSON:

{
    "error":"текст ошибки"
}

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

array ('error' => 'текст ошибки')

error

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

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

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

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

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

JSON:

{
    "id_base":"1234",
    "phones":[
        {"phone":"79612242243","number_phone":"1","action":"edit"},
        {"phone":"79612242244","number_phone":"2","action":"insert"},
        {"phone":"79612242245","number_phone":"5","action":"delete"},
        {"phone":"79612242246","number_phone":"6","action":"not_found"}
    ]
}

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

Array ( 
    [id_base] => 1234
    [phones] => Array (
        [0] => Array ( [phone] => 79612242243 [number_phone] => 1 [action] => edit )
        [1] => Array ( [phone] => 79612242244 [number_phone] => 2 [action] => insert )
        [2] => Array ( [phone] => 79612242245 [number_phone] => 5 [action] => delete )
        [3] => Array ( [phone] => 79612242246 [number_phone] => 6 [action] => not_found )
    )
)

Где:

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

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

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

JSON-документ:

{
    "security":{
        "login":"логин",
        "password":"пароль"
    },
    "type":"list_stop"
}

PHP-данные:

$param = array(
    'security' => array('login' => 'логин', 'password' => 'пароль'),
    'type' => 'list_stop'
);

Где:

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

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

JSON:

{
    "error":"текст ошибки"
}

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

array ('error' => 'текст ошибки')

error

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

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

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

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

JSON:

{
    "phones":["79000000001","79000000002","79000000003","79805364198"]
}

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

Array ( 
    [phones] => Array ( [0] => 79000000001 [1] => 79000000002 [2] => 79000000003 [3] => 79805364198 )
)

Где:

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

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

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

JSON-документ:

{
    "security":{
        "login":"логин",
        "password":"пароль"
    },
    "type":"stop",
    "add_stop":["79612242243","79612242244","79612242245"],
    "delete_stop":["79612242246","79612242247"]
}

PHP-данные:

$param = array(
    'security' => array('login' => 'логин', 'password' => 'пароль'),
    'type' => 'stop',
    'add_stop' => array('79612242243', '79612242244', '79612242245'),
    'delete_stop' => array('79612242246', '79612242247'),
);

Где:

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

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

JSON:

{
    "error":"текст ошибки"
}

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

array ('error' => 'текст ошибки')

error

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

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

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

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

JSON:

{
    "phones":[
        {"phone":"79612242243","action":"add"},
        {"phone":"79612242244","action":"add"},
        {"phone":"79612242245","action":"add"},
        {"phone":"79612242246","action":"delete"},
        {"phone":"79612242247","action":"not_found"}
    ]
}

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

Array ( 
    [phones] => Array (
        [0] => Array ( [phone] => 79612242243 [action] => add )
        [1] => Array ( [phone] => 79612242244 [action] => add )
        [2] => Array ( [phone] => 79612242245 [action] => add )
        [3] => Array ( [phone] => 79612242246 [action] => delete )
        [4] => Array ( [phone] => 79612242247 [action] => not_found )
    )
)

Где:

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

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

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

JSON-документ:

{
    "security":{
        "login":"логин",
        "password":"пароль"
    },
    "type":"list_scheduled",
    "page":"1"
}

PHP-данные:

$param = array(
    'security' => array('login' => 'логин', 'password' => 'пароль'),
    'type' => 'list_scheduled',
    'page' => '1'
);

Где:

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

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

JSON:

{
    "error":"текст ошибки"
}

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

array ('error' => 'текст ошибки')

error

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

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

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

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

JSON:

{
    "page":"1",
    "num_pages":"100",
    "scheduled":[
        {"id_sms":"1234","time_put_turn":"2016-08-31 14:56:53","originator":"fitnes","phone":"79612242243","type_sms":"sms","text_sms":"ТекстSMS","count_sms":"2","name_delivery":"Названиерасылки","time_send":"2016-08-30 21:00","validity_period":"2016-09-03 14:56:53"},
        {"id_sms":"1235","time_put_turn":"2016-08-31 14:56:53","originator":"fitnes","phone":"79612242244","type_sms":"sms","text_sms":"ТекстSMS","count_sms":"2","name_delivery":"Названиерасылки","time_send":"2016-08-30 21:00","validity_period":"2016-09-03 14:56:53"}
    ]
}

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

Array ( 
    [page] => 1
    [num_pages] => 100
    [scheduled] => Array (
        [0] => Array ( [id_sms] => 1234 [time_put_turn] => 2016-08-31 14:56:53 [originator] => fitnes [phone] => 79612242243 [type_sms] => sms [text_sms] => ТекстSMS [count_sms] => 2 [name_delivery] => Названиерасылки [time_send] => 2016-08-30 21:00 [validity_period] => 2016-09-03 14:56:53 )
        [1] => Array ( [id_sms] => 1235 [time_put_turn] => 2016-08-31 14:56:53 [originator] => fitnes [phone] => 79612242244 [type_sms] => sms [text_sms] => ТекстSMS [count_sms] => 2 [name_delivery] => Названиерасылки [time_send] => 2016-08-30 21:00 [validity_period] => 2016-09-03 14:56:53 )
    )
)

Где:

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

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

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

JSON-документ:

{
    "security":{
        "login":"логин",
        "password":"пароль"
    },
    "type":"scheduled",
    "delete_schedule":[
        {"id_sms":"1234"},
        {"id_sms":"1235"}
    ]
}

PHP-данные:

$param = array(
    'security' => array('login' => 'логин', 'password' => 'пароль'),
    'type' => 'scheduled',
    'delete_schedule' => array(
        array('id_sms' => '1234'),
        array('id_sms' => '1235')
    )
);

Где:

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

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

JSON:

{
    "error":"текст ошибки"
}

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

array ('error' => 'текст ошибки')

error

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

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

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

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

JSON:

{
    "scheduled":[
        {"id_sms":"1234","action":"delete"},
        {"id_sms":"1235","action":"not_found"}
    ]
}

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

Array ( 
    [scheduled] => Array (
        [0] => Array ( [id_sms] => 1234 [action] => delete )
        [1] => Array ( [id_sms] => 1235 [action] => not_found )
    )
)

Где:

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

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

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

JSON-документ:

{
    "security":{
        "login":"логин",
        "password":"пароль"
    },
    "type":"time"
}

PHP-данные:

$param = array(
    'security' => array('login' => 'логин', 'password' => 'пароль'),
    'type' => 'time'
);

Где:

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

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

JSON:

{
    "error":"текст ошибки"
}

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

array ('error' => 'текст ошибки')

error

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

JSON:

{
    "time":"2016-11-17 15:34:05"    
}

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

Array ( 
    [time] => 2016-11-17 15:34:05
)

Где:

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

Пример

Сервер находится в Москве и серверное время у него московское, в момент запроса оно составляло: 15:34:27. А пользователь числился в Новосибирске и разница часовых поясов (между сервером и пользователем) у него равнялась +3. При этом вам вернется JSON документ следующего содержания:

{
    "time":"2016-11-17 18:34:27"    
}

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

Статистику можно получить только за последние 3 месяца. Смс старше 3 месяцев переносятся в архив. Запросить выгрузку статистики по смс старше 3 месяцев можно через вашего менеджера.

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

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

JSON-документ:

{
    "security":{
        "login":"логин",
        "password":"пароль"
    },
    "type":"list_stats",
    "stats":{"date_start":"2016-11-20","date_stop":"2016-11-25","from_hour":"00","from_minute":"00","to_hour":"23","to_minute":"59","state":"","originator":"INCORE","phone":"","operator":""}
}

PHP-данные:

$param = array(
    'security' => array('login' => 'логин', 'password' => 'пароль'),
    'type' => 'list_stats',
    'stats' => array('date_start' => '2016-11-20', 'date_stop' => '2016-11-25', 'from_hour' => '00', 'from_minute' => '00', 'to_hour' => '23', 'to_minute' => '59', 'state' => '', 'originator' => 'INCORE', 'phone' => '', 'operator' => '')
);

Где:

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

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

JSON:

{
    "error":"текст ошибки"
}

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

array ('error' => 'текст ошибки')

error

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

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

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

  4. Некорректный формат даты;

  5. Такой оператор не обнаружен;

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

JSON:

{
    "num_stats":"1",
    "stats":[
        {"id_sms":"324044392","id_state":"1229469388","operator":"МТС","name_delivery":"Названиерасылки","phone":"79612242243","originator":"INCORE","time_change_state":"2016-03-09 20:37:17","time":"2016-03-09 20:37:02","status":"deliver","status_translate":"Доставлено","text":"ТекстSMS","price":"1.5","num_parts":"2","part_no":"1"},
        {"id_sms":"324044392","id_state":"1229469389","operator":"МТС","name_delivery":"Названиерасылки","phone":"79612242243","originator":"INCORE","time_change_state":"2016-03-09 20:37:17","time":"2016-03-09 20:37:02","status":"deliver","status_translate":"Доставлено","text":"ТекстSMS","price":"1.5","num_parts":"2","part_no":"2"}

    ]
}

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

Array ( 
    [num_stats] => 1
    [stats] => Array (
        [0] => Array ( [id_sms] => 324044392 [id_state] => 1229469388 [operator] => МТС [name_delivery] => Названиерасылки [phone] => 79612242243 [originator] => INCORE [time_change_state] => 2016-03-09 20:37:17 [time] => 2016-03-09 20:37:02 [status] => deliver [status_translate] => Доставлено [text] => ТекстSMS [price] => 1.5 [num_parts] => 2 [part_no] => 1 )
        [1] => Array ( [id_sms] => 324044392 [id_state] => 1229469389 [operator] => МТС [name_delivery] => Названиерасылки [phone] => 79612242243 [originator] => INCORE [time_change_state] => 2016-03-09 20:37:17 [time] => 2016-03-09 20:37:02 [status] => deliver [status_translate] => Доставлено [text] => ТекстSMS [price] => 1.5 [num_parts] => 2 [part_no] => 2 )
    )
)

Где:

Запрос на получение списка шаблонов SMS

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

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

JSON-документ:

{
    "security":{
        "login":"логин",
        "password":"пароль"
    },
    "type":"list_patterns"
}

PHP-данные:

$param = array(
    'security' => array('login' => 'логин', 'password' => 'пароль'),
    'type' => 'list_patterns'
);

Где:

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

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

JSON:

{
    "error":"текст ошибки"
}

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

array ('error' => 'текст ошибки')

error

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

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

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

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

JSON:

{
    "patterns":[
        {"id_pattern":"1234","name":"ЗаголовокШаблона","pattern":"ТекстШаблона"},
        {"id_pattern":"1235","name":"ЗаголовокШаблона","pattern":"ТекстШаблона"}
    ]
}

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

Array ( 
    [patterns] => Array (
        [0] => Array ( [id_pattern] => 1234 [name] => ЗаголовокШаблона [pattern] => ТекстШаблона )
        [1] => Array ( [id_pattern] => 1235 [name] => ЗаголовокШаблона [pattern] => ТекстШаблона )
    )
)

Где:

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

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

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

JSON-документ:

{
    "security":{
        "login":"логин",
        "password":"пароль"
    },
    "type":"patterns",
    "patterns":[
        {"id_pattern":"1234","name":"ЗаголовокШаблона1","pattern":"ТекстШаблона1"},
        {"number_pattern":"1","name":"ЗаголовокШаблона2","pattern":"ТекстШаблона2"}
    ],
    "delete_patterns":[
        {"id_pattern":"1235"}
    ]
}

PHP-данные:

$param = array(
    'security' => array('login' => 'логин', 'password' => 'пароль'),
    'type' => 'patterns',
    patterns' => array(
        array('id_pattern' => '1234', 'name' => 'ЗаголовокШаблона1', 'pattern' => 'ТекстШаблона1'),
        array('number_pattern' => '1', 'name' => 'ЗаголовокШаблона2', 'pattern' => 'ТекстШаблона2')
    ),
    'delete_patterns' => array(
        array('id_pattern' => '1235'),
    )
);

Где:

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

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

JSON:

{
    "error":"текст ошибки"
}

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

array ('error' => 'текст ошибки')

error

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

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

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

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

JSON:

{
    "patterns":[
        {"id_pattern":"1234","action":"edit"},
        {"id_pattern":"1237","action":"insert","number_pattern":"1"},
        {"id_pattern":"1236","action":"delete"}
    ]
}

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

Array (
    [patterns] => Array (
        [0] => Array ( [id_pattern] => 1234 [action] => edit ),
        [1] => Array ( [id_pattern] => 1236 [action] => insert [number_pattern] => 1 ),
        [2] => Array ( [id_pattern] => 1235 [action] => delete )
    )
)

Где: