Уникальное предложение!
Отправляйте смс через API по цене 30 копеек с первой смс

 

API версии 3.0 предназначен для интеграции опытными программистами. Если у вас возникают проблемы, рекомендуем использовать API версии 2.0, которое значительно проще в интеграции, но обладает меньшим функционалом.

Пример использования API на языке программирования PHP. Подробно

ePochta SMS API (v. 3.0)

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

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

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

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

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

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

Пример GET-запроса:
http://api.atompark.com/api/sms/3.0/METHOD?key=public_key∑=CONTROL_SUM&arg1;=ARG_1&argN;=ARG_N

где:

METHOD *

название метода

KEY *

публичный ключ доступа к API

SUM*

контрольная сумма запроса

ARG_1 ... ARG_N

индивидуальные аргументы метода

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


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

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

  1. отсортировать все входящие ключи, добавив к ним параметры version = 3.0, action = вызываемая функция (например, addAddressbook) и key = публичный ключ доступа к API
  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:http://api.atompark.com/api/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:http://api.atompark.com/api/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/api/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/api/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/api/sms/3.0/getAddressbook?key=public_key&sum=control_sum

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

Примеры запроса:
URL:http://api.atompark.com/api/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/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: http://api.atompark.com/api/sms/3.0/cloneaddressbook?key=public_key∑=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/api/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/api/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/api/sms/3.0/getAddressbook?key=public_key∑=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/api/sms/3.0/getPhoneFromAddressBook?key=public_key∑=control_sum&idPhone;=24552301

Ответ:

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

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

Используется метод delPhoneFromAddressBook().
Аргументы:

idAddressBook*

Идентификатор адресной книги

idPhone*

Идентификатор телефона

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

Пример запроса:
URL:http://api.atompark.com/api/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/api/sms/3.0/delphonefromaddressbookgroup?key=public_key∑=control_sum&idPhones;=456,523,985,412

Ответ:

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


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

Используется метод editPhone().
Аргументы:

idPhone*

Идентификатор телефона

phone*

Номер телефона

variables*

Переменная для персонализации

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

Пример запроса:
URL:http://api.atompark.com/api/sms/3.0/editPhone?key=public_key∑=control_sum&idPhone;=24552301☎=380657412569&variables;=test

Ответ:

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

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

Используется метод searchPhones().
Аргументы:

searchFields

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

{
   "phone":{
      "operation":"like",
      "value":"38063%"
   }
}	  

from

Вернуть объекты от from

offset

Сколько вернуть объектов

Пример запроса:
URL:{ "variables" : { "operation" : "like" , "value" : "иван%" } }">http://api.atompark.com/api/sms/3.0/searchPhones?key=public_key∑=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/api/sms/3.0/addPhoneToExceptions?key=public_key∑=control_sum&idPhone;=24552291&reason;=test_add

Ответ:

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

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

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

Используется метод delPhoneFromExceptions().
Аргументы:

idPhone

Идентификатор телефона

phone

Телефон

idException

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

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

Пример запроса:
URL:http://api.atompark.com/api/sms/3.0/delPhoneFromExceptions?key=public_key∑=control_sum&idPhone;=24552291

Ответ:

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

 

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

Используется метод editExceptions().
Аргументы:

idException*

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

reason*

Причина

Пример запроса:
URL: http://api.atompark.com/api/sms/3.0/delPhoneFromExceptions?key=public_key∑=control_sum&idPhone;=24552291

Ответ:

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

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

Используется метод getException().
Аргументы:

idException

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

phone

Телефон

idAddresbook

Идентификатор адресной книги

from

Вернуть объекты от from

offset

Сколько вернуть объектов

Пример запроса:
URL: http://api.atompark.com/api/sms/3.0/delPhoneFromExceptions?key=public_key∑=control_sum&idPhone;=24552291

Ответ:

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

Пример запроса:
URL:http://api.atompark.com/api/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:{ "variables" : { "operation" : "like" , "value" : "иван%" } }"> http://api.atompark.com/api/sms/3.0/searchPhones?key=public_key∑=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/api/sms/3.0/getUserBalance?key=public_key∑=control_sum¤cy;=USD

Ответ:

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

  

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

Используется метод registerSender().
Аргументы:

name

Отправитель. Не более 14 цифр для цифрового, не более 11 символов для текстового.

country

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

Пример запроса:
URL: http://api.atompark.com/api/sms/3.0/registerSender?key=public_key∑=control_sum&name;=qwerty&country;=UA

Ответ:

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

В ответе будет возвращён статус в поле «status»:
0 – на модерации
1 — одобрено
2 — отклонено

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

Используется метод getSenderStatus().
Аргументы:

idName

Идентификатор имени

name

Имя

country

Страна

from

Вернуть объекты, начиная с позиции from

offset

Сколько вернуть объектов

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

Пример запроса:
URL:http://api.atompark.com/api/sms/3.0/getSenderStatus?key=public_key&sum=control_sum&idName=747

или

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

Ответ:

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

URL: http://api.atompark.com/api/sms/3.0/getSenderStatus?key=public_key∑=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.
Типы рассылок:

Тип

Описание

2

отправка смс через прямые подклюения к операторам (разрешены только альфа имена)

3

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

4

отправка смс через прямой канал с фиксированно-буквенным именем отправителя

asender

альтернативный отправитель смс

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

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

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

Дополнительный параметр userapp можно использовать для указания источника рассылки. Если вы хотите знать, сколько сообщений было отправлено через ваше приложение/модуль/сервис - укажите его название в этом параметре, статистика будет доступна по запросу. ВНИМАНИЕ! Этот параметр не участвует в формировании контрольной суммы. Параметр имеет смысл передавать для функций создания рассылки, т.е. для:

createcampaign
sendsms
sendsmsgroup

 

Пример запроса:
URL: http://api.atompark.com/api/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.
Типы рассылок:

Тип

Описание

2

отправка смс через прямые подключения к операторам (разрешены только альфа имена)

3

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

4

отправка смс через прямой канал с фиксированно-буквенным именем отправителя

asender

альтернативный отправитель смс

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

Пример запроса:
URL: http://api.atompark.com/api/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.
Типы рассылок:

Тип

Описание

2

отправка смс через прямые подключения к операторам (разрешены только альфа имена)

3

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

4

отправка смс через прямой канал с фиксированно-буквенным именем отправителя

asender

альтернативный отправитель смс

Пример запроса:
URL: http://api.atompark.com/api/sms/3.0/sendsmsgroup?key=public_key∑=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"
   }
} 
 



Выбор маршрута отправки

Используется универсальный параметр sendOption, с помощь которого вы можете задать маршрут для рассылки для каждой страны.
Параметры передаются в виде JSON строки.

Для Украины параметры передаются в виде:

    {
        "sendTypeCountry" : {
            "211" : "national_ua"
        }
    }
    

Возможны варианты отправки:

national_ua

маршрут с регистрацией имени отправителя (требуется обязательная предварительная регистрация имени у операторов, подходит только для национальных смс)

international_ua

маршрут без регистрации имени отправителя (сохраняется указанное имя отправителя, используется для международного трафика смс в Украину и для национальных имен, не одобренных операторов)

sim_ua

отправка от случайного номера (заданное вами имя отправителя подменяется на случайный местный цифровой номер, подходит как для национального, так и для международного трафика)

Внимание! Для России параметры передаются в виде

    {
        "rule" : "route",
        "type" : "direct"
    }
    
, параметр "rule" - дополнительный параметр, который используется только для России и всегда равен "route", параметр "type" служит для выбора маршрута.

Возможны варианты отправки:

direct

маршрут, подключенный напрямую к операторам России (требуется обязательная предварительная регистрация имени у операторов, разрешены только буквенные имена)

direct_fix

маршрут, подключенный напрямую к операторам России (заданное имя отправителя подменяется на фиксированное буквенное имя)

not_direct

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

Пример задания типа рассылки для России и Украины при отправке на несколько номеров на языке PHP.

        // Выбор маршрута для России (старый формат передачи маршрута)
        $route ['rule'] = 'route'; 
        $route ['type'] = 'direct'; 
        // Выбор маршрута для Украины
        $route ['sendTypeCountry']['211'] = "international_ua"; 

        // Выбор маршрута для России (новый формат)
        $route ['sendTypeCountry']['172'] = "direct";
        // Выбор маршрута для Украины
        $route ['sendTypeCountry']['211'] = "international_ua";

        // Преобразовываем параметры для России и Украины в формат json
        $params ['sendOption'] = json_encode($route);
    


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

Используется метод getCampaignInfo()
Аргументы:

id

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

Пример запроса:
URL: http://api.atompark.com/api/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/api/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/api/sms/3.0/cancelCampaign?key=public_key&sum=control_sum&id=128891

Ответ:


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

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

Используется метод deleteCampaign()
Аргументы:

id

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

Пример запроса:
URL: http://api.atompark.com/api/sms/3.0/deleteCampaign?key=public_key&sum=control_sum&id=128891

Ответ:

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

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

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

Используется метод checkCampaignPrice()
Аргументы:

sender

Идентификатор отправителя

text

Текст сообщения

list_id

Идентификатор адресной книги

type

Для России возможно задать тип рассылки параметром type.
Типы рассылок:

Тип

Описание

2

отправка смс через прямые подключения к операторам (разрешены только альфа имена)

3

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

4

отправка смс через прямой канал с фиксированно-буквенным именем отправителя

asender

альтернативный отправитель смс

Пример запроса:
URL: http://api.atompark.com/api/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.
Типы рассылок:

Тип

Описание

2

отправка смс через прямые подключения к операторам (разрешены только альфа имена)

3

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

4

отправка смс через прямой канал с фиксированно-буквенным именем отправителя

asender

альтернативный отправитель смс

Пример запроса:
URL: http://api.atompark.com/api/sms/3.0/checkCampaignPriceGroup?key=public_key∑=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/api/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/api/sms/3.0/getcampaigndeliverystatsgroup?key=public_key∑=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/api/sms/3.0/gettaskinfo?key=public_key∑=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"
	}
	]
} 
 

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


По запросу предоставляется необходимое количество дополнительных смс для тестирования сервиса массовых смс-уведомлений ePochta SMS.

Есть вопрос?

  • 8 (800) 555-09-63
  • Бесплатно по России

Александр



skype: alexandr.romanow26
[email protected]

Людмила



skype: liudmilaatompark
[email protected]