No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README.md

README.md

Содержание

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

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

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

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://имя_хоста/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://имя_хоста/sendsmsjson.php

JSON-документ:

{
	"security":{
		"login":"логин",
		"password":"пароль"
	},
	"type":"sms",
	"message":[
		{
			"type":"sms",
			"sender":"Отправитель 1",
			"text":"Текст сообщения 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",
			"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',
            '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',
            'abonent' => array(
                array('phone' => '79033256699', 'number_sms' => '1', 'client_id_sms' => '111'),
                array('phone' => '79033256699', 'number_sms' => '2', 'client_id_sms' => '112')
            )
        )
    )
);

Где:

  • security - данные для авторизации:
    • login - ваш логин в системе;
    • password - ваш пароль в системе;
  • type - тип запроса (sms - отправка SMS);
  • message - данные отправляемых SMS:
    • type - тип отправляемого SMS сообщения (sms - обычная SMS);
    • sender – отправитель SMS. Именно это значение будет выводиться на телефоне абонента в поле от кого SMS;
    • text – текст SMS;
    • translite - транслитерация текста SMS с кириллицы на латиницу (не обязательный параметр). Для транслитерации данный параметр должен быть равен 1;
    • abonent - получатели SMS;
      • phone – номер абонента, которому адресована SMS. В международном формате, например, 79000000001 (Для России), 380442589632 (Для Украины) и т.д.;
      • number_sms - номер сообщения в пределах отправляемого JSON документа;
      • 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 имеет максимальный срок жизни.

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

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

JSON:

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

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

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

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

  1. Неправильный формат JSON документа;
  2. Неправильный логин или пароль;
  3. POST данные отсутствуют;

В случае получения правильного 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] => Статус/сообщение об ошибке )
	)
)

Где:

  • number_sms - номер сообщения указанный при отправке JSON документа;
  • id_sms - номер SMS сообщения. Используется для проверки статуса SMS. Если в процессе отправки SMS произошла ошибка, то id_sms не передается;
  • parts - количество частей SMS;
  • action - статус сообщения («send»), если SMS была отправлена. Или сообщение об ошибке, если в процессе отправки SMS произошла ошибка:
    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://имя_хоста/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 в системе для проверки статуса')
);

Где:

  • security - данные для авторизации:
    • login - ваш логин в системе;
    • password - ваш пароль в системе;
  • type - тип запроса (state - статусы SMS сообщений);
  • get_state - номера SMS сообщений, полученные в ответном JSON-документе в процессе отправки 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 - номер SMS сообщения, полученный в ответном JSON-документа в процессе отправки SMS сообщения.
  • time - время изменения статуса.
  • state - статус сообщения:
    1. «send» - статус сообщения не получен. В этом случае передается пустой time (time="");
    2. «not_deliver» - сообщение не было доставлено. Конечный статус (не меняется со временем);
    3. «expired» - абонент находился не в сети в те моменты, когда делалась попытка доставки. Конечный Статус (не меняется со временем;
    4. «deliver» - сообщение доставлено. Конечный статус (не меняется со временем);
    5. «partly_deliver» - сообщение было отправлено, но статус так и не был получен. Конечный статус (не меняется со временем). В этом случае для разъяснения причин отсутствия статуса необходимо связаться со службой тех. поддержки;
  • num_parts - Количество частей в СМС.
  • price - Цена за одну часть СМС.

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

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

https://имя_хоста/sendsmsjson.php

JSON-документ:

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

PHP-данные:

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

Где:

  • security - данные для авторизации:
    • login - ваш логин в системе;
    • password - ваш пароль в системе;
  • type - тип запроса (balance - баланс и количество доступных SMS по операторам).

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

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

JSON:

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

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

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

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

  1. Неправильный формат JSON документа;
  2. Неправильный логин или пароль;
  3. POST данные отсутствуют;

В случае получения правильного 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 )
	)
)

Где:

  • money - баланс пользователя:
    • currency - валюта баланса;
    • value - сумма средств;
  • sms - количество доступных SMS сообщений по направлениям:
    • area - направление в котором может быть отправлено SMS;
    • number - количество доступных SMS сообщений для данного направления.

При этом количество 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://имя_хоста/sendsmsjson.php

JSON-документ:

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

PHP-данные:

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

Где:

  • security - данные для авторизации:
    • 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 )
	)
)

Где:

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

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

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

https://имя_хоста/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' => )
);

Где:

  • security - данные для авторизации:
    • login - ваш логин в системе;
    • password - ваш пароль в системе;
  • type - тип запроса (incoming - cписок входящих SMS);
  • time - время входящие SMS:
    • start - время (не включительно), с которого запрашиваются входящие SMS;
    • end - время (не включительно), по которое запрашиваются входящие SMS. Не обязательный параметр. Если не задан, то будут возвращены все смс.

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

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

JSON:

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

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

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

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

  1. Неправильный формат JSON документа;
  2. Неправильный логин или пароль;
  3. POST данные отсутствуют;

В случае получения правильного 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] => ТекстСМС. )
	)
)

Где:

  • id_sms - уникальный номер, состоящий только из цифр;
  • date_receive - дата и время получения SMS;
  • originator - номер телефона абонента, отправившего SMS;
  • prefix - префикс. Начальная часть текста SMS, по которой было определено, что эта SMS принадлежит именно этому клиенту. (Используется если один и тот же номер используется разными клиентами.);
  • phone - номер телефона, на который бала отправлена SMS;
  • text_sms - текст смс.

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

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

https://имя_хоста/sendsmsjson.php

JSON-документ:

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

PHP-данные:

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

Где:

  • security - данные для авторизации:
    • login - ваш логин в системе;
    • password - ваш пароль в системе;
  • type - тип запроса (def - информация по номерам указанных телефонов);
  • phones - Номера телефонов.

В ответ может быть выдан один из следующих 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 )
	)
)

Где:

  • phone - номер телефона;
  • operator - Оператор;
  • region - Регион;
  • time_zone - Смещение времени в часах относительно времени в Москве.

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

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

https://имя_хоста/sendsmsjson.php

JSON-документ:

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

PHP-данные:

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

Где:

  • security - данные для авторизации:
    • login - ваш логин в системе;
    • password - ваш пароль в системе;
  • type - тип запроса (list_bases - список баз).

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

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

JSON:

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

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

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

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

  1. Неправильный формат JSON документа;
  2. Неправильный логин или пароль;
  3. POST данные отсутствуют;

В случае получения правильного 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] => Поздравляем! )
	)
)

Где:

  • id_base - уникальный номер базы в системе;
  • name_base - название базы;
  • time_birth - время поздравления;
  • local_time_birth - ччитать время поздравления относительно местного времени абонента(yes) или относительно времени системы (no);
  • day_before - за сколько дней до дня рождения поздравлять;
  • originator_birth - отправитель поздравления;
  • on_birth - включены ли поздравления yes – включены, no - выключены;
  • base - текст поздравления.

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

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

https://имя_хоста/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')
    )
);

Где:

  • security - данные для авторизации:
    • login - ваш логин в системе;
    • password - ваш пароль в системе;
  • type - тип запроса (bases - работа с базами);
  • bases - Добавление либо изменение параметров баз:
    • id_base - уникальный номер базы в системе. Если не указан произойдет добавление базы. При этом нужно указать параметр number_base;
    • number_base - номер базы в JSON запросе. Используется для сопоставления ID добавленных баз (если их было не сколько в запросе);
    • name_base - название базы;
    • time_birth - время поздравления;
    • local_time_birth - считать время поздравления относительно местного времени абонента (yes) или относительно времени системы (no);
    • originator_birth - отправитель поздравления;
    • on_birth - включены ли поздравления yes – включены, no - выключены;
    • text_birth - текст поздравления;
  • delete_bases - удаление указанных баз:
    • id_base - уникальный номер базы в системе.

В ответ может быть выдан один из следующих 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 )
	)
)

Где:

  • id_base - уникальный номер базы в системе;
  • action - действие, произведенное с базой:
    1. «edit» - изменение параметров базы;
    2. «insert» - добавление базы;
    3. «delete» - база удалена;
    4. «not_found» - база с указанным идентификатором не обнаружена;
  • number_base - номер базы в JSON запросе. Используется для сопоставления ID добавленных баз (если их было не сколько в запросе).

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

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

https://имя_хоста/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')
);

Где:

  • security - данные для авторизации:
    • login - ваш логин в системе;
    • password - ваш пароль в системе;
  • type - тип запроса (list_phones - список абонентов базы);
  • base - база:
    • id_base - уникальный номер базы в системе;
    • page - номер страницы. Весь список номеров базы делится на страницы. Запросить целиком базу нельзя. Можно лишь запросить отдельную страницу. Нумерация начинается с единички;
    • last_update - минимальная дата и время регистрации (или последнего изменения) данных абонента, которых Вам нужно запросить. Необязательный параметр.

В ответ может быть выдан один из следующих 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 )
	)
)

Где:

  • page - номер страницы;
  • num_pages - всего страниц;
  • phone - номер телефона абонента;
  • region - регион;
  • operator - оператор;
  • name - имя абонента;
  • surname - фамилия абонента;
  • patronymic - отчество абонента;
  • date_birth - дата рождения;
  • male - пол. «m» - мужской, «f»- женский;
  • addition_1 – первое дополнительное поле;
  • addition_2 – второе дополнительное поле;
  • addition_3 – третье дополнительное поле;
  • addition_4 – четвертое дополнительное поле;
  • addition_5 – пятое дополнительное поле;
  • last_update - дата и время регистрации (или последнего изменения) данных абонента.

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

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

https://имя_хоста/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')
    )
);

Где:

  • security - данные для авторизации:
    • login - ваш логин в системе;
    • password - ваш пароль в системе;
  • type - тип запроса (phones - работа с абонентами базы);
  • id_base - номер базы в системе;
  • phones - номера телефонов;
    • phone - номер телефона абонента. Если абонент с таким номером уже существует, то он будет отредактирован;
    • region - регион. Необязательное поле. Если не задано определяется автоматически;
    • operator - оператор. Необязательное поле. Если не задано определяется автоматически;
    • name - имя абонента. Необязательное поле;
    • surname - фамилия абонента. Необязательное поле;
    • patronymic - отчество абонента. Необязательное поле;
    • date_birth - дата рождения. Необязательное поле;
    • male - пол. «мужской» или «женский». Необязательное поле;
    • addition_1 - первое дополнительное поле. Необязательное поле;
    • addition_2 - второе дополнительное поле. Необязательное поле;
    • addition_3 – третье дополнительное поле. Необязательное поле;
    • addition_4 – четвертое дополнительное поле. Необязательное поле;
    • addition_5 – пятое дополнительное поле. Необязательное поле;
    • action - Действие производимое над телефоном (delete - удалить номер телефона из базы);
    • number_phone - номер телефона в JSON запросе. Используется для сопоставления ID работающих номеров.

В ответ может быть выдан один из следующих 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 )
	)
)

Где:

  • id_base - номер базы в системе;
  • phones - номера телефонов;
    • phone - номер телефона абонента;
    • action - произведенное действие с номером телефона:
      1. «edit» - изменение параметров телефона;
      2. «insert» - добавление телефона;
      3. «delete» - телефон удален;
      4. «not_found» - телефон с указанным номером не обнаружен;
    • number_phone - номер телефона в JSON запросе. Используется для сопоставления ID работающих номеров.

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

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

https://имя_хоста/sendsmsjson.php

JSON-документ:

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

PHP-данные:

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

Где:

  • security - данные для авторизации:
    • 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 )
)

Где:

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

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

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

https://имя_хоста/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'),
);

Где:

  • security - данные для авторизации:
    • login - ваш логин в системе;
    • password - ваш пароль в системе;
  • type - тип запроса (stop - работа с СТОП-листом);
  • add_stop - номера телефонов абонентов, котороые нужно добавить в СТОП-лист;
  • delete_stop - номера телефонов абонентов, котороые нужно удалить из СТОП-листа.

В ответ может быть выдан один из следующих 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 )
	)
)

Где:

  • phones - номера телефонов;
    • phone - номер телефона абонента;
    • action - произведенное действие с номером телефона:
      1. «add» - добавление номера телефона в СТОП-лист;
      2. «delete» - номер телефона удален из СТОП-листа;
      3. «not_found» - номер телефона для удаления не обнаружен в СТОП-листе.

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

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

https://имя_хоста/sendsmsjson.php

JSON-документ:

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

PHP-данные:

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

Где:

  • security - данные для авторизации:
    • login - ваш логин в системе;
    • password - ваш пароль в системе;
  • type - тип запроса (list_scheduled - список запланированных SMS).
  • page - номер страницы. Весь список запланированных SMS делится на страницы. Запросить список целиком нельзя. Можно лишь запросить отдельную страницу. Нумерация начинается с единички.

В ответ может быть выдан один из следующих 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 )
	)
)

Где:

  • page - номер страницы;
  • num_pages - всего страниц;
  • scheduled - список запланированных SMS;
    • id_sms - номерSMS. Используется для удаления запланированной SMS;
    • time_put_turn - время добавления в планировщик;
    • operator – отправитель SMS. Именно это значение будет выводиться на телефоне абонента в поле от кого SMS;
    • phone - номер абонента, которому адресована SMS;
    • type – тип отправляемого SMS сообщения:
      1. «sms» - обычная SMS;
      2. «flashsms» - flash SMS;
      3. «wappush» - WAP-Push;
      4. «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://имя_хоста/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')
    )
);

Где:

  • security - данные для авторизации:
    • login - ваш логин в системе;
    • password - ваш пароль в системе;
  • type - тип запроса (scheduled - удаление запланированных SMS);
  • delete_schedule - Список удаления запланированных SMS:
    • id_sms - номер запланированной SMS, которую нужно удалить. Можно получить при запросе списка запланированных SMS.

В ответ может быть выдан один из следующих 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 )
	)
)

Где:

  • phones - номера телефонов;
    • id_sms - номер запланированной SMS;
    • action - произведенное действие с запланированными SMS:
      1. delete - запланированная SMS удалена;
      2. «not_found» - запланированная SMS не обнаружена.

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

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

https://имя_хоста/sendsmsjson.php

JSON-документ:

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

PHP-данные:

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

Где:

  • security - данные для авторизации:
    • login - ваш логин в системе;
    • password - ваш пароль в системе;
  • type - тип запроса (time - проверка времени).

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

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

JSON:

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

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

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

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

  1. Неправильный формат JSON документа;
  2. Неправильный логин или пароль;
  3. POST данные отсутствуют;

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

JSON:

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

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

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

Где:

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

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

Пример

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

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

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

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

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

https://имя_хоста/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' => '')
);

Где:

  • security - данные для авторизации:
    • login - ваш логин в системе;
    • password - ваш пароль в системе;
  • type - тип запроса (list_stats - деиальная статистика);
  • stats - параметры выгрузки статистики:
    • date_start - дата отправки СМС, не ранее указанного периода времени (по умолчанию сегодняшняя дата);
    • date_stop – дата отправки СМС, не позднее указанного периода времени (по умолчанию сегодняшняя дата);
    • from_hour - час отправки СМС, не ранее указанного периода времени. Учитывается вместе с указанной датой (по умолчанию 00);
    • from_minute - минута отправки СМС, не ранее указанного периода времени. Учитывается вместе с указанной датой и часом (по умолчанию 00);
    • to_hour - час отправки СМС, не позднее указанного периода времени. Учитывается вместе с указанной датой (по умолчанию 59);
    • to_minute - минута отправки СМС, не позднее указанного периода времени. Учитывается вместе с указанной датой и часом (по умолчанию 59);
    • state - cтатус сообщения:
      1. not_deliver - сообщение не было доставлено. Конечный статус (не меняется со временем);
      2. expired - абонент находился не в сети в те моменты, когда делалась попытка доставки. Конечный Статус (не меняется со временем);
      3. deliver - сообщение доставлено. Конечный статус (не меняется со временем);
      4. partly_deliver - сообщение было отправлено, но статус так и не был получен. Конечный статус (не меняется со временем). В этом случае для разъяснения причин отсутствия статуса необходимо связаться со службой тех. поддержки;
    • originator - имя отправителя;
    • phone - номер телефона получателя СМС;
    • operator - мобильный оператор получателя СМС (Beeline, Мегафон, МТС).

В ответ может быть выдан один из следующих 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 )
	)
)

Где:

  • num_stats - всего СМС;
  • stats - список детальной статистики:
    • id_sms - номер SMS сообщения;
    • id_state - идентификатор части СМС;
    • operator - оператор;
    • phone - номер телефона получателя СМС;
    • originator - имя отправителя;
    • time_change_state - последнее время смены состояния СМС;
    • time - время отправки СМС;
    • status - cтатус сообщения:
      1. not_deliver - сообщение не было доставлено. Конечный статус (не меняется со временем);
      2. expired - абонент находился не в сети в те моменты, когда делалась попытка доставки. Конечный Статус (не меняется со временем);
      3. deliver - сообщение доставлено. Конечный статус (не меняется со временем);
      4. partly_deliver - сообщение было отправлено, но статус так и не был получен. Конечный статус (не меняется со временем). В этом случае для разъяснения причин отсутствия статуса необходимо связаться со службой тех. поддержки;
    • status_translate - статус сообщения, на русском языке;
    • price - цена за одну часть СМС;
    • num_parts - количество частей СМС;
    • part_no - порядковый номер части СМС.

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

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

https://имя_хоста/sendsmsjson.php

JSON-документ:

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

PHP-данные:

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

Где:

  • security - данные для авторизации:
    • login - ваш логин в системе;
    • password - ваш пароль в системе;
  • type - тип запроса (list_patterns - шаблоны sms).

В ответ может быть выдан один из следующих 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] => ТекстШаблона )
	)
)

Где:

  • patterns - шаблоны SMS:
    • id_pattern - идентификатор шаблона в системе;
    • name - заголовок шаблона;
    • pattern - шаблон;

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

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

https://имя_хоста/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'),
    )
);

Где:

  • security - данные для авторизации:
    • login - ваш логин в системе;
    • password - ваш пароль в системе;
  • type - тип запроса (patterns - работа с шаблонами SMS);
  • patterns - Добавление либо изменение шаблонов SMS:
    • id_pattern - уникальный номер шаблона в системе. Если не указан произойдет добавление базы. При этом нужно указать параметр number_pattern;
    • number_pattern - номер шаблона в JSON запросе. Используется для сопоставления ID добавленных шаблонов (если их было не сколько в запросе);
    • name - заголовок шаблона;
    • pattern - шаблон;
  • delete_patterns - удаление указанных баз:
    • id_pattern - уникальный номер шаблона в системе.

В ответ может быть выдан один из следующих 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 )
	)
)

Где:

  • id_pattern - уникальный номер шаблона sms в системе;
  • action - действие, произведенное с шаблоном:
    1. «edit» - изменение параметров шаблона;
    2. «insert» - добавление шаблона;
    3. not_edit - не удалось обновить шаблон. Возможно данные идентичны с обновляемым шаблоном;
    4. «delete» - шаблон удалена;
    5. «not_found» - шаблон с указанным идентификатором не обнаружен;
  • number_pattern - номер шаблона в JSON запросе. Используется для сопоставления ID добавленных шаблона(если их было не сколько в запросе).