menu

ePochta SMS API (v. 3.0)

Базовые положения


Для активации смс шлюза необходимо в панели управления сервисом ePochta SMS в «Настройках» (https://myatompark.com/members/sms/profile.php) активировать использование апи 3.0. Для этого в закладке «ePochta SMS», в пункте «Активировать API 3.0» установите «Да».


Внимание! В отличии от XML интерфейса, в версии апи 3.0 тестовый режим включается передачей параметра test=1. Примите во внимание, что данный параметр, если он присутствует, также используется в формировании контрольной суммы.


Принцип работы с API


Методы API вызываются посредством запроса к URL:
https://api.atompark.com/sms/3.0/METHOD


Параметры можно передавать методами GET, POST.


Пример GET-запроса:


https://api.atompark.com/sms/3.0/METHOD?key=public_key&sum=CONTROL_SUM&arg1=ARG_1&argN=ARG_N


где:


METHOD * название методам
KEY * публичный ключ доступа к API
SUM* контрольная сумма GET-запроса
ARG_1 … ARG_N индивидуальные аргументы метода

*Далее все обязательные параметры обозначаются с помощью *


Все параметры должны иметь кодировку UTF-8. Рекомендуется передавать все параметры методом POST, чтобы он не сохранялся в логах прокси-серверов.


Для подсчета контрольной суммы необходимо:


  1. отсортировать все входящие ключи

  2. сделать конкатенация значений по этим ключам

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

  4. взять MD5 от полученного результата


Полученный от сервера ответ передается в формате JSON.


Задать публичный и приватный ключи можно на странице настроек сервиса.


Пример подсчета суммы для метода addAddressbook на языке PHP.

$params ['version'] ="3.0";
$params ['action'] = "addAddressbook";
$params [‘key’] = $openKey; //you open key
$params [‘name’] = “Test addressbook”;
$params [‘description] = “Test description”;
ksort ($params);
$sum='';
foreach ($params as $k=>$v) 
$sum.=$v;
$sum .= $privateKey; //your private key
$control_sum =  md5($sum);

Пример ответа при успешном вызове метода


Если вызов метода выполнен успешно, то в ответе сервера будет присутствовать поле «result», включающее аргументы, характерные этому методу. Поля «error» в таком ответе не будет. Допускается наличие поля «warnings», содержимое которого состоит из массива объектов-предупреждений, указанных в одной строке поля «warning».


Пример результата успешного выполнения метода:

{
   "result":{
      "id":18628,
      "name":"TEST NAME ADRESSBOOK",
      "phones":0,
      "exceptions":0,
      "creationdate":"2012-04-01 18:44:36",
   }
}
  

Пример ответа с ошибкой


Если в ответе сервера присутствует только поле «error», в котором указан числовой код ошибки – это является показателем неуспешного вызова метода. При этом в объекте ответа полностью отсутствует поле «result».

{
   "error":"Wrong public key.",
   "code":"-1",
   "result":"false"
}

Методы

Операции с адресной книгой.


Адресная книга представляет собой объект состоящий из:


[id] — Идетификатор


[name] => Имя


[phones] => Количество телефонов


[exceptions] => Количество телефонов в исключении


[creationdate] => Дата создания


[description] => Описание



Создать адресную книгу


Используется метод addAddressbook().


Аргументы:


name* Имя адресной книги
description Примечание для адресной книги

Пример запроса:


URL: https://api.atompark.com/sms/3.0/addAddressbook?key=public_key&sum=control_sum&name=BOOK_NAME&description=BOOK_DESCRIPTION


Ответ:

{
   "result":{
      "addressbook_id":21620
   }
}
  

В ответе будет возвращен addressbook_id — уникальный идентификатор новой адресной книги.



Удалить адресную книгу


Используется метод delAddressbook().


idAddressBook* Идентификатор удаляемой адресной книги

Пример запроса:


URL: https://api.atompark.com/sms/3.0/delAddressbook?key=public_key&sum=control_sum&idAddressBook=21619


Ответ:


В случае удачного выполнения объект result будет содержать «successful»:true.

{
   "result":{
      "successful":true
   }
}
  

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


При удалении книги которая не существует сервер вернёт

{
   "error":"No addressbook",
   "code":"202",
   "result":"false"
}
  

Редактировать адресную книгу


Используется метод editAddressbook().


Аргументы:


idAddressBook* Идентификатор редактирование адресной книги
newName* Имя книги
newDescr* Описание книги

Пример запроса:


URL: https://api.atompark.com/sms/3.0/editAddressbook?key=public_key&sum=control_sum&idAddressBook=21619&newName=name&newDescr=descr


Ответ:

  {
   "result":{
      "successful":true
   }
}
  

Получить адресную книгу


Используется метод getAddressbook().


Аргументы:


idAddressBook Идентификатор редактирование адресной книги
from Вернуть объекты, начиная с позиции from
offset Сколько вернуть объектов

Возврат адресной книги возможен:


  • с указанием идентификатора

Примеры запроса:


URL: https://api.atompark.com/sms/3.0/getAddressbook?key=public_key&sum=control_sum&idAddressBook=2161


Ответ:

{
   "result":{
      "id":2161,
      "name":"super book",
      "phones":25,
      "exceptions":0,
      "creationdate":"2012-04-01 18:44:36",
      "description":null
   }
}
  • без указания идентификатора, в этом случае будут возвращены все книги

Примеры запроса:

URL: https://api.atompark.com/sms/3.0/getAddressbook?key=public_key&sum=control_sum


  • без указания идентификатора, но с указанием смещений, с такими параметрами будут возвращены книги в соответствии заданного смещения.

Примеры запроса:


URL: https://api.atompark.com/sms/3.0/getAddressbook?key=public_key&sum=control_sum&from=3&offset=3


Ответ:

{
   "result":{
      "count":55,
      "fields":[
         "id",
         "name",
         "phone",
         "date",
         "description"
      ],
      "data":[
         [
            "21597",
            "new book",
            "250",
            "2012-01-17 14:57:37",
            ""
         ],
         [
            "18684",
            "testNAME",
            "0",
            "2012-02-06 15:08:16",
            ""
         ],
         [
            "18661",
            "testNAME2",
            "4",
            "2012-03-27 22:45:47",
            ""
         ]
      ]
   }
}
  

Поиск адресной книги


Используется метод searchAddressBook().


Аргументы:


searchFields Объект в формате json для поиска. Поиск возможен по следующим полям:name,phones,date. В поиске можно использовать операции: like,=,>,>=,<,<=.
from Вернуть объекты, начиная с позиции from
offset Сколько вернуть объектов

{
       "name":{
        "operation":"like",
        "value":"test%"
       }
    }
  

Пример запроса:


URL: https://api.atompark.com/api/sms/3.0/searchAddressBook? key=public_key&sum=control_sum&from=10&offset=3&searchFields={«name»:{«operation»:«like»,«value»:«test%»} }


Ответ:

{
   "result":{
      "count":50,
      "fields":[
         "id",
         "name",
         "phone",
         "date",
         "description"
      ],
      "data":[
         [
            "18629",
            "test2",
            "0",
            "2012-01-05 16:34:15",
            "tstdescr"
         ],
         [
            "18684",
            "testNAME",
            "0",
            "2012-02-06 15:08:16",
            ""
         ],
         [
            "18661",
            "testNAME",
            "4",
            "2012-01-27 10:45:47",
            ""
         ]
      ]
   }
}

Клонирование адресной книги


Используется метод cloneaddressbook().


Метод используется для создания копии адресной книги с новым идентификатором


Аргументы:


idAddressBook* Идентификаторы адресной книги, копию которой надо создать.

Пример запроса:


URL: https://api.atompark.com/sms/3.0/cloneaddressbook?key=public_key&sum=control_sum&idAddressBook=147


Ответ:

{
   "result":{
      "successful":true,
    "idAddressBook":36107
   }
}
  

Операции с телефонами


Телефон представляет собой объект состоящий из:


[id]=> Идентификатор телефона


[addressbook]=>Идентификатор адресной книги


[phone]=>Телефон


[normalphone]=>Телефон приведенный к международному стандарту *


[variables]=> Переменные для персонализации, разделенные «;» **


[status]=>Статус телефонного номера


* международный стандарт


** например: Test1;Test2;Test3



Добавить телефон в адресную книгу


Используется метод addPhoneToAddressBook().


Аргументы:


idAddressBook Идентификатор адресной книги
phone* Телефон
variables Переменная для персонализации

Пример запроса:


URL: https://api.atompark.com/sms/3.0/addPhoneToAddressBook?key=public_key&sum=control_sum&idAddressBook=2432&phone=380638962555&variables=test


Ответ:

{
   "result":{
      "phone_id":24552302
   }
}

В ответе будет возвращен phone_id — уникальный идентификатор телефонного номера.



Добавить телефоны в адресную книгу


Используется метод addPhoneToAddressBook().


Аргументы:


idAddressBook* Идентификатор адресной книги
data* Список телефонов с персонализацией в JSON формате. Структура:[[«phone1″,»variables1″],[«phone2″],[«phone3″,»variables3″]].

Пример запроса:


URL: https://api.atompark.com/sms/3.0/addPhoneToAddressBook?key=public_key&sum=control_sum&idAddressBook=2432&data=[[«38063169xxx1″,»test1″],[«38063169xxx2″,»test2″],[«38063169xxx3″,»test3″],[«38063169xxx3″,»test4″],[«38063169xxx4″],[«38063169xxx5″,»test5″]]


Ответ:

{
   "result":{
      "successful":true
   }
}

Получить адресную книгу


Используется метод getPhoneFromAddressBook().


Аргументы:


idAddressBook Идентификатор адресной книги
idPhone Идентификатор телефона
phone Телефон
from Вернуть объекты от from
offset Сколько вернуть объектов

Все аргументы: являются необязательными.


Пример запроса:


URL: https://api.atompark.com/sms/3.0/getAddressbook?key=public_key&sum=control_sum&idAddressBook=2161


Ответ:

{
   "result":{
      "count":2,
      "fields":[
         "id",
         "phone",
         "normalPhone",
         "variables",
         "status",
         "code"
      ],
      "data":[
         [
            "24552301",
            "380632587852",
            "380632587852",
            "test variables",
            "0",
            ""
         ],
         [
            "24552302",
            "380632587853",
            "380632587853",
            "test variables",
            "0",
            ""
         ]
      ]
   }
}
  

Пример запроса:


URL: https://api.atompark.com/sms/3.0/getPhoneFromAddressBook?key=public_key&sum=control_sum&idPhone=24552301


Ответ:

{
   "result":{
      "id":24552301,
      "addressbook":18628,
      "phone":"380632587852",
      "normalphone":"380632587852",
      "variables":"test variables",
      "status":0
   }
}
  

Удаление телефона из адресной книги


Используется метод delPhoneFromAddressBook().


Аргументы:


idAddressBook* Идентификатор адресной книги
idPhone* Идентификатор телефона

Для удаления всех телефонов с адресной книги необходимо указать идентификатор адресной книги, а для удаления одного телефона необходимо указать идентификатор телефона.


Пример запроса:


URL: https://api.atompark.com/sms/3.0/delPhoneFromAddressBook?key=public_key&sum=control_sum&idPhone=24552301


Ответ:

  {
   "result":{
      "successful":true
   }
}
  

Удалить группу телефонов из адресной книги


Используется метод delphonefromaddressbookgroup().


Аргументы:


idPhones* Идентификаторы телефонных номеров, разделенные запятыми.Например: 456,523,985,412

Пример запроса:


URL: https://api.atompark.com/sms/3.0/delphonefromaddressbookgroup?key=public_key&sum=control_sum&idPhones=456,523,985,412


Ответ:

{
   "result":{
      "successful":true
   }
}

Редактирование телефонов в адресной книги


Используется метод editPhone().


Аргументы:


idPhones* Идентификатор телефона
phone* Номер телефона
variables* Переменная для персонализации

Необходимо указать новый телефон (в международном формате) и новую строку переменных.


Пример запроса:


URL: https://api.atompark.com/sms/3.0/editPhone?key=public_key&sum=control_sum&idPhone=24552301&phone=380657412569&variables=test


Ответ:

{
   "result":{
      "successful":true
   }
}
  

Поиск телефонов в адресной книге


Используется метод searchPhones().


Аргументы:


searchFields Объект в формате json для поиска. Поиск возможен по следующим полям:idAddressBook,phones,normalPhone, variables, status. В поиске можно использовать операции: like,=,>,>=,<,<=.
from Вернуть объекты от from
offset Сколько вернуть объектов

Пример запроса:


URL: https://api.atompark.com/sms/3.0/searchPhones?key=public_key&sum=control_sum&searchFields={ «variables» : { «operation» : «like» , «value» : «иван%» } }


Ответ:

{
   "result":{
      "count":1,
      "fields":[
         "id",
         "idAddressBook",
         "phone",
         "normalPhone",
         "variables",
         "status",
         "code",
         "maid"
      ],
      "data":[
         [
            "24552295",
            "21597",
            "9999999999",
            "9999999999",
            "Иван Васильевич",
            "0",
            "",
            "0"
         ]
      ]
   }
}
  

Операции с исключениями


Исключение представляет собой объект состоящий из:


[id] => Идентификатор


[phone] =>Телефон


[added] => Дата добавления


[comment] => Описание



Добавить телефон в исключения


Используется метод addPhoneToExceptions().


Аргументы:


idPhone Идентификатор телефона
phone Телефон
reason Причина добавления

При добавлении телефона в исключения обязательно необходимо передать идентификатор телефона или сам телефон.


Пример запроса:


URL: https://api.atompark.com/sms/3.0/addPhoneToExceptions?key=public_key&sum=control_sum&idPhone=24552291&reason=test_add


Ответ:

{
   "result":{
      "exseption_id":24552302
   }
}

В ответе будет возвращен exseption_id — уникальный идентификатор исключения.



Удалить телефон с исключений


Используется метод delPhoneFromExceptions().


Аргументы:


idPhone Идентификатор телефона
phone Телефон
idException Идентификатор исключения

Для удаления телефона с исключения необходимо передать один из выше перечисленных параметров.


Пример запроса:


URL: https://api.atompark.com/sms/3.0/delPhoneFromExceptions?key=public_key&sum=control_sum&idPhone=24552291


Ответ:

{
   "result":{
      "successful":true
   }
}
  

Редактировать телефон в исключениях


Используется метод editExceptions().


Аргументы:


idException* Идентификатор исключения
reason* Причина

Пример запроса:


URL:https://api.atompark.com/sms/3.0/delPhoneFromExceptions?key=public_key&sum=control_sum&idPhone=24552291


Ответ:

{
   "result":{
      "successful":true
   }
}

Получить объект исключения


Используется метод getException().


Аргументы:


idException Идентификатор исключения
phone Телефон
idAddresbook Идентификатор адресной книги
from Вернуть объекты от from
offset Сколько вернуть объектов

Пример запроса:


URL: https://api.atompark.com/sms/3.0/delPhoneFromExceptions?key=public_key&sum=control_sum&idPhone=24552291


Ответ:

{
   "result":{
      "id":181042,
      "phone":"380692587852",
      "added":"2012-04-04 10:55:08",
      "comment":"testREASON_PHONE"
   }
}
  

Пример запроса:


URL: https://api.atompark.com/sms/3.0/getException?key=public_key&sum=control_sum&from=1&offset=2


Ответ:

{
   "result":{
      "count":6,
      "fields":[
         "id",
         "phone",
         "added",
         "comment"
      ],
      "data":[
         [
            "181038",
            "99999999999",
            "2012-03-12 10:44:31",
            "testREAS!!!"
         ],
         [
            "181042",
            "88888888888",
            "2012-04-04 10:55:08",
            "testREASON_PHONE"
         ]
      ]
   }
}
  

Поиск исключения


Используется метод searchPhonesInExceptions().


Аргументы:


searchFields Объект в формате json для поиска. Поиск возможен по следующим полям: id, phone, date, descr. В поиске можно использовать операции: like,=,>,>=,<,<=.
from Вернуть объекты от from
offset Сколько вернуть объектов
{
   "descr":{
      "operation":"like",
      "value":"testR%"
   }
}
  

Пример запроса:

URL: https://api.atompark.com/sms/3.0/searchPhones?key=public_key&sum=control_sum&searchFields={ «variables» : { «operation» : «like» , «value» : «иван%» } }

Ответ:

{
   "result":{
      "count":6,
      "fields":[
         "id",
         "phone",
         "added",
         "comment"
      ],
      "data":[
         [
            "181041",
            "91234561",
            "2012-04-04 10:11:40",
            "testREASON_PHONE"
         ],
         [
            "181038",
            "74999404711",
            "2012-03-12 10:44:31",
            "testREASasdON!!!"
         ]
      ]
   }
}
  

Проверка баланса


Используется метод getUserBalance().


Аргументы:


currency Валюта. Доступные валюты: ‘USD’,’GBP’,’UAH’,’RUB’,’EUR’.

По умолчанию, баланс отображается в выбранной валюте в личном кабинете.


Баланс представляет собой объект:


«currency» -Валюта.


«balance_currency» — Баланс в выбранной валюте.


Пример запроса:


URL: https://api.atompark.com/sms/3.0/getUserBalance?key=public_key&sum=control_sum&currency=USD


Ответ:

{
   "result":{
      "currency":"USD",
      "balance_currency":2.5
   }
}
  

Регистрация имени отправителя


Используется метод registerSender().


Аргументы:


name Отправитель. Не более 14 цифр для цифрового, не более 11 символов для текстового.
country Страна, в которой необходимо зарегистрировать имя. Для регистрации доступны страны:MD,UA

Пример запроса:


URL: https://api.atompark.com/sms/3.0/registerSender?key=public_key&sum=control_sum&name=qwerty&country=UA


Ответ:

{
   "name_id":748,
   "status":0
}
  

В ответе будет возвращён статус в поле «status»:


0 – на модерации


1 — одобрено


2 — отклонено


Получить объект имени


Используется метод getSenderStatus().


Аргументы:


idName Идентификатор имени
name Имя
country Страна
from Вернуть объекты, начиная с позиции from
offset Сколько вернуть объектов

Для получения объекта необходимо передать идентификатор имени или передать имя и страну. Для получения всех объектов нужно указать только смещение.


Пример запроса:


URL: https://api.atompark.com/sms/3.0/getSenderStatus?key=public_key&sum=control_sum&idName=747


или


URL: https://api.atompark.com/sms/3.0/getSenderStatus?key=public_key&sum=control_sum&name=qwerty&country=ua


Ответ:

{
   "result":{
      "id":747,
      "name":"qwerty",
      "status":"0",
      "country":"UA"
   }
}
  

URL: https://api.atompark.com/sms/3.0/getSenderStatus?key=public_key&sum=control_sum&from=10&offset=2


Ответ:

{
   "result":{
      "count":661,
      "fields":[
         "id",
         "country",
         "name",
         "status",
         "description"
      ],
      "data":[
         [
            "11",
            "UA",
            "test",
            "1",
            ""
         ],
         [
            "12",
            "UA",
            "test1",
            "1",
            ""
         ]
      ]
   }
}
  

Операции с рассылками


Создать рассылку


Используется метод createCampaign()


Аргументы:


sender Идентификатор отправителя
text Текст сообщения
list_id Идентификатор адресной книги
datetime Для планировки рассылки на заданное время
batch Для рассылки по частям – количество смс в 1й отправке
batchinterval Для рассылки по частям – интервал между отправкам
sms_lifetime Время жизни смс (0 = максимум)
control_phone Контрольный номер телефона
userapp Идентификатор приложения
type Для России возможно задать тип рассылки параметром type.
asender альтернативный отправитель смс


Типы рассылок:


Тип Описание
2 отправка смс через прямые подключения к операторам (разрешены только альфа имена)
3 отправка смс через каналы сторонних операторов (не прямые каналы). В большинстве случаев, заданное альфа имя подменяется на заданный вами цифровой номер


Параметр datetime используется, если рассылку надо отправить не в текущее время, а запланировать. Для моментальной отправки необходимо передать пустой параметр. Пример формата даты при передаче параметра – 2012-05-01 00:20:00


Параметры batch и batchinterval используются, если необходимо рассылку разослать не за один раз, а частями. Если рассылку планируется разослать за одну итерацию, данные параметры следует передавать со значением 0.


Опциональный параметр control_phone задается в случае, если требуется контроль качества доставки на указанный номер телефона. Задается в международном виде.


Дополнительный параметр userapp можно использовать для указания источника рассылки. Если вы хотите знать, сколько сообщений было отправлено через ваше приложение/модуль/сервис — укажите его название в этом параметре, статистика будет доступна по запросу.


ВНИМАНИЕ! Этот параметр не участвует в формировании контрольной суммы. Параметр имеет смысл передавать для функций создания рассылки, т.е. для:


createcampaign


sendsms


sendsmsgroup


Пример запроса:


URL: https://api.atompark.com/sms/3.0/createCampaign?key=public_key&sum=control_sum&sender=Info&text=Testing%20SMS&list_id=1234&datetime=&batch=0&batchinterval=0&sms_lifetime=0&controlnumber=


Ответ:

{
"result":{
"id":1853173,
"price":403.44
}
}

Где id – это идентификатор созданной кампании, price – цена рассылки кампании в валюте, установленной в настройках пользователя.



Послать сообщение на произвольный телефон


Используется метод sendSMS()


Аргументы:


sender Идентификатор отправителя
text Текст сообщения
phone Номер получателя
datetime Для планировки рассылки на заданное время
sms_lifetime Время жизни смс (0 = максимум, 1, 6, 12, 24 часа)
type Для России возможно задать тип рассылки параметром type.
asender альтернативный отправитель смс


Типы рассылок:


Тип Описание
2 отправка смс через прямые подключения к операторам (разрешены только альфа имена)
3 отправка смс через каналы сторонних операторов (не прямые каналы). В большинстве случаев, заданное альфа имя подменяется на заданный вами цифровой номер

Параметр datetime используется, если рассылку надо отправить не в текущее время, а запланировать. Для моментальной отправки необходимо передать пустой параметр. Пример формата даты при передаче параметра – 2012-05-01 00:20:00


Пример запроса:


URL: https://api.atompark.com/sms/3.0/sendSMS?key=public_key&sum=control_sum&sender=Info&text=Testing%20SMS&phone=380972920383&datetime=&sms_lifetime=0


Ответ:

{
"result":{
"id":1853174,
"price":0.13
}
}
  

Где id – это идентификатор созданной кампании, price – цена рассылки кампании в валюте, установленной в настройках пользователя.



Отправка сообщений группе получателей


Используется метод sendsmsgroup().


Аргументы:


sender* Идентификатор отправителя
text* текст e-mail сообщения
phones* телефоны. Передаются в виде JSON строки в виде [«Номер телефона», «Переменная»].Структура: ‘[[«3806316923xx»,»Sergey»],[«3806316923xx»,»test»],[«3806785214xx»],[«3806785214xx»]]’.
datetime* Дата и время отправки.
sms_lifetime Время жизни смс сообщения
type Для России возможно задать тип рассылки параметром type.
asender альтернативный отправитель смс


Типы рассылок:


Тип Описание
2 отправка смс через прямые подключения к операторам (разрешены только альфа имена)
3 отправка смс через каналы сторонних операторов (не прямые каналы). В большинстве случаев, заданное альфа имя подменяется на заданный вами цифровой номер

Пример запроса:


URL: https://api.atompark.com/sms/3.0/sendsmsgroup?key=public_key&sum=control_sum&sender=senderid&text=text&datetime=2013-01-19 00:00:00&sms_lifetime=0&phones=[[«3806316923xx»,»Sergey»],[«3806316923xx»,»test»],[«3806785214xx»],[«3806785214xx»]]


Ответ:

{
   "result":{
      "id":9097982,
    "price":0.5592,
    "currency":"UAH"
   }
}
  

Получить информацию о рассылке


Используется метод getCampaignInfo()


Аргументы:


id* Идентификатор кампании, созданной при помощи sendSMS() или createCampaign ()

Пример запроса:


URL: https://api.atompark.com/sms/3.0/getCampaignInfo?key=public_key&sum=control_sum&id=128891


Ответ:

{
"result":{
"sent":1,
"delivered":1,
"not_delivered":0,
"price":0.13,
"status":3
}
}
  

Где:


sent – отправлено смс


delivered – доставлено смс


not_delivered – недоставлено смс


price – стоимость рассылки


status – состояние рассылки



Переменная status может принимать следующие значения:


0       В очереди отправки


1       Недостаточно денег для рассылки


2       В процессе рассылки


3       Отправлено


4       Нет правильных номеров получателей


5       Частично отправлено


6       Спам


7       Недействительное имя отправителя


8       Пауза


9       Запланирована


10      Ожидает модерации



Получить информацию о статусах смс рассылки


Используется метод getCampaignDeliveryStats()


Аргументы:


id* Идентификатор кампании, созданной при помощи sendSMS() или createCampaign ()
datefrom* Необязательный параметр, в случае его указания будут взяты статусы, которые были обновлены после datefrom

Пример запроса:


URL: https://api.atompark.com/sms/3.0/getCampaignDeliveryStats?key=public_key&sum=control_sum&id=128891


Ответ:

{
"result":{
"phone":[
"380972920383"
],
"sentdate":[
"0000-00-00 00:00:00"
],
"donedate":[
"0000-00-00 00:00:00"
],
"status":[
"0"
]
}
}
  

Где:


phone – массив телефонов


sentdate – массив времен отправки


donedate – массив времен установления финального статуса


status – массив состояния смс.



Переменные в status могут принимать следующие значения:


0 В очереди отправки
SENT Отправлено
DELIVERED Доставлено
NOT_DELIVERED Не доставлено
INVALID_PHONE_NUMBER Неверный номер
SPAM Спам

Если поле sentdate содержит значение «0000-00-00 00:00:00″, значит, смс еще в очереди отправки. Так же, если donedate содержит «0000-00-00 00:00:00″, значит, финальный статус еще не получен от оператора



Отменить рассылку


Используется метод cancelCampaign()


Аргументы:


id* Идентификатор кампании, созданной при помощи sendSMS() или createCampaign ()

Отменить рассылку можно в том случае, если еще не началась ее отправка.


Пример запроса:


URL: https://api.atompark.com/sms/3.0/cancelCampaign?key=public_key&sum=control_sum&id=128891


Ответ:

{
"result":{
"successful":1
}
}
  

Удалить рассылку


Используется метод deleteCampaign()


Аргументы:


id Идентификатор кампании, созданной при помощи sendSMS() или createCampaign ()

Пример запроса:


URL: https://api.atompark.com/sms/3.0/deleteCampaign?key=public_key&sum=control_sum&id=128891


Ответ:

{
"result":{
"successful":1
}
}
  

Если рассылка уже была удалена, данный запрос вернет ошибку. Удаляет рассылку вне зависимости от текущего статуса.



Проверить стоимость рассылки по заданному сообщению и списку


Используется метод checkCampaignPrice()


Аргументы:


sender Идентификатор отправителя
text Текст сообщения
list_id Идентификатор адресной книги
type Для России возможно задать тип рассылки параметром type.
asender альтернативный отправитель смс


Типы рассылок:


Тип Описание
2 отправка смс через прямые подключения к операторам (разрешены только альфа имена)
3 отправка смс через каналы сторонних операторов (не прямые каналы). В большинстве случаев, заданное альфа имя подменяется на заданный вами цифровой номер

Пример запроса:


URL: https://api.atompark.com/sms/3.0/checkCampaignPrice?key=public_key&sum=control_sum&sender=Info&text=Testing%20SMS&list_id=1234


Ответ:

{
"result":{
"price":1210.32
}
}
  

Получение стоимости отправки


Используется метод checkCampaignPriceGroup().


Аргументы:


sender* Идентификатор отправителя
text* Текст e-mail сообщения
phones* телефоны. Передаются в виде JSON строки в виде [«Номер телефона», «Переменная»].Структура: ‘[[«3806316923xx»,»Sergey»],[«3806316923xx»,»test»],[«3806785214xx»],[«3806785214xx»]]’.
type Для России возможно задать тип рассылки параметром type.
asender альтернативный отправитель смс


Типы рассылок:


Тип Описание
2 отправка смс через прямые подключения к операторам (разрешены только альфа имена)
3 отправка смс через каналы сторонних операторов (не прямые каналы). В большинстве случаев, заданное альфа имя подменяется на заданный вами цифровой номер

Пример запроса:


URL: https://api.atompark.com/sms/3.0/checkCampaignPriceGroup?key=public_key&sum=control_sum&sender=senderid&text=text&phones=[[«3806316923xx»,»Sergey»],[«3806316923xx»,»test»],[«3806785214xx»],[«3806785214xx»]]


Ответ:

{
   "result":{
      "price":0.5592,
    "currency":"UAH"
   }
}
  

Получить список кампаний


Используется метод getCampaignList()


Аргументы отсутствуют.


Пример запроса:


URL: https://api.atompark.com/sms/3.0/getCampaignList?key=public_key&sum=control_sum


Ответ:

{
"result":{
  "id": [
      "10012",
      "10013"
      ],
"from": [
"Sender1",
"Sender2"
],
 "body": [
"Text of SMS1",
"Text of SMS2"
],
 "status" : [
3,
3
]
}
}
  

Поле status имеет такое же значение, как и в таблице для функции getCampaignInfo()



Получение статусов состояния сообщений по кампаниям


Используется метод getcampaigndeliverystatsgroup().


Аргументы:


id* Идентификаторы кампаний, разделенные запятыми.

Пример запроса:


URL: https://api.atompark.com/sms/3.0/getcampaigndeliverystatsgroup?key=public_key&sum=control_sum&id=754,751


Ответ:

{
   "result":{
      "phone":["3806316923xx","3806316923xx"],
    "sentdate":["0000-00-00 00:00:00","0000-00-00 00:00:00"],
    "donedate":["0000-00-00 00:00:00","0000-00-00 00:00:00"],
    "status":["0","0"],"id":[97659179,97659180]
   }
}

Получение полных статусов по кампаниям


Используется метод gettaskinfo().


Аргументы:


taskIds* Идентификаторы кампаний, разделенные запятыми.

Пример запроса:


URL: https://api.atompark.com/sms/3.0/gettaskinfo?key=public_key&sum=control_sum&taskIds=97659003,97659005


Ответ:

{
   "result":[
   {
      "id":97659003,
    "phone":"79503702408",
    "country":0,
    "parts":"1",
    "sentdate":"2012-12-07 10:14:29"
    "donedate":"0000-00-00 00:00:00",
    "price":0.123,
    "status":"0",
    "variable":"",
    "currency":"UAH"
   }
   {
    "id":97659005,
      "phone":"79503703937"
    "country":0,
    "parts":"1"
    "sentdate":"2012-12-07 10:14:29"
    "donedate":"0000-00-00 00:00:00"
    "price":0.123,
    "status":"0",
    "variable":"",
    "currency":"UAH"
  }
  ]
}
  

Пример использования на РНР