/uk/sms-rozsilka-servis/api/



 

Унікальна пропозиція!
Відправляйте смс через API за ціною 0,18 грн. з першої смс

 

API версія 3.0 призначена для інтеграції досвідченими програмістами. Якщо у вас виникають труднощі, рекомендуємо використовувати API версії 2.0, що значно простіший в інтеграції, але має менший функціонал.

Приклад використання API мовою програмування PHP. Детально

ePochta SMS API (v. 3.0)

Базові положення

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

Увага! На відміну від XML інтерфейсу, у версії API 3.0 тестовий режим вмикається за допомогою передачі параметру test=1. Варто пам’ятати, що даний параметр, якщо він наявний, також приймає участь у формуванні контрольної суми.

Принцип роботи з API

Методи API викликаються шляхом запиту до URL:
http://api.atompark.com/sms/3.0/METHOD

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

Приклад GET-запиту:

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

де:

METHOD *назва методу
KEY *публічний ключ доступу до API
SUM*контрольна сума запиту
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; //ваш публічний ключ
$params [‘name’] = “Test addressbook”;
$params [‘description] = “Test description”;
ksort ($params);
$sum='';
foreach ($params as $k=>$v) 
$sum.=$v;
$sum .= $privateKey; //ваш приватний ключ
$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:http://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:ttp://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: http://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: http://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: http://api.atompark.com/sms/3.0/getAddressbook?key=public_key&sum=control_sum

  • без вказівки ідентифікатора, але із зазначенням зміщень, книги з такими параметрами будуть повернуті відповідно до заданого зміщення.

Приклад запиту:

URL: http://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,=,>,>=,<,<=.Приклад:

		{
		   "name":{
			  "operation":"like",
			  "value":"test%"
		   }
		}
fromПовернути об’єкти, починаючи з позиції from
offsetСкільки повернути об’єктів

Приклад запиту:

URL: http://api.atompark.com/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: http://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: http://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: http://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: http://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: http://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: ttp://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: http://api.atompark.com/sms/3.0/delphonefromaddressbookgroup?key=public_key&sum=control_sum&idPhones=456,523,985,412

Відповідь:

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

 

Редагування телефонів адресної книги.

Використовується метод editPhone().

Аргументи:

idPhone*Ідентифікатор телефону
phone*Номер телефону
variables*Змінна для персоналізації

Необхідно вказати новий телефон (у міжнародному форматі) і новий рядок змінних.

Приклад запиту:

URL: http://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, =,>,> =, <, <=. Приклад:

{
   "phone":{
      "operation":"like",
      "value":"38063%"
   }
}
fromПовернути об’єкти від from
offsetСкільки повернути об’єктів

Приклад запиту:

URL: http://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:http://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Телефон
idExceptioІдентифікатор винятку

Для видалення телефону з виключення необхідно передати один з вище перерахованих параметрів.

Приклад запиту:

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

Відповідь:

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

 

Редагувати телефон у винятках

Використовується метод editExceptions().

Аргументи:

idException*Ідентифікатор винятку
reason*Причина

Приклад запиту:

URL: http://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: http://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: http://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, =,>,> =, <, <=. Приклад:

{
   "descr":{
      "operation":"like",
      "value":"testR%"
   }
}
fromПовернути об’єкти від from
offsetСкільки повернути об’єктів

Приклад запиту:

URL: http://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: http://api.atompark.com/sms/3.0/getUserBalance?key=public_key&sum=control_sum¤cy=USD

Відповідь:

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

 

Реєстрація імені відправника

Використовується метод registerSender().

Аргументи:

nameВідправник. Не більше 14 цифр для цифрового, не більше 11 символів для текстового.
countryКраїна, в якій необхідно зареєструвати ім’я. Для реєстрації доступні країни: MD, UA.

Приклад запиту:

URL: http://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: ttp://api.atompark.com/sms/3.0/getSenderStatus?key=public_key&sum=control_sum&idName=747

або

URL: http://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:
http://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Ідентифікатор додатку

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

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

Факультативний параметр control_phone вказується тоді, коли потрібен контроль якості доставки на вказаний номер телефону. Вказується за міжнародним стандартом.

Додатковий параметр userapp можна використовувати для вказівки джерела розсилки. Якщо ви хочете знати, скільки повідомлень було відправлено через вашу програму/модуль/сервіс – вкажіть його назву у цьому параметрі, статистика можна буде переглянути за запитом.
УВАГА! Цей параметр не бере участі у формуванні контрольної суми.
Параметр має сенс передавати для функцій створення розсилки, тобто для :

createcampaign

sendsms

sendsmsgroup

Приклад запиту:

URL: http://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 години)

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

Приклад запиту:

URL: http://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 *Час життя смс повідомлення

Приклад запиту:

URL: http://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: http://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: http://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: http://api.atompark.com/sms/3.0/cancelCampaign?key=public_key&sum=control_sum&id=128891

Відповідь:

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

 

Видалити розсилку

Використовується метод deleteCampaign()

Аргументи:

idІдентифікатор кампанії, створеної за допомогою sendSMS () або createCampaign ()

Приклад запиту:

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

Відповідь:

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

Якщо розсилка вже була видалена, даний запит поверне помилку. Метод видаляє розсилку незалежно від поточного статусу.

 

Перевірити вартість розсилки за вказаним повідомленням та списком

Використовується метод checkCampaignPrice()

Аргументи:

senderІдентифікатор відправника
textТекст повідомлення
list_idІдентифікатор адресної книги

Приклад запиту:

URL: http://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*Текст email повідомлення
phones*Телефони. Передаються у вигляді JSON рядка у форматі [“Номер телефону”, “Змінна”]. Структура: ‘[[“3806316923xx”, “Sergey”], [“3806316923xx”, “test”], [“3806785214xx”], [“3806785214xx “]] ‘.

Приклад запиту:

URL: http://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: http://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: http://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: http://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"
	}
	]
}

Приклад використання мовою РНР

 

Про існування цієї програми для розсилки СМС ми дізналися у вересні 2011 року. Тоді ж оплатили вартість програми і почали працювати. Жодного разу не пошкодували! Більш ніж за два роки інтенсивного використання не було жодного збою - навпаки, з'явилася нова версія програми, яка була нам надана безкоштовно. Читати далі »
Харит Антон
З'явилася необхідність розіслати одне SMS повідомлення 2000 людей. В інтернеті покопався, сервісів подібних дуже багато. Тому що вибрати не знав. Хотілося по-дешевше, і щоб повідомлення до всіх доходили. Зупинив свій вибір на ePochta. Дуже раджу. Повідомлення доходять моментально. Є можливість перегляду звітів. Все чітко і швидко. Читати далі »
Костянтин
Спробуйте ePochta SMS безкоштовно вже сьогодні!

 

Активуйте свій аккаунт і отримайте 10 безкоштовних СМС.