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, чтобы он не сохранялся в логах прокси-серверов.
Для подсчета контрольной суммы необходимо:
- отсортировать все входящие ключи
- сделать конкатенация значений по этим ключам
- сделать конкатенацию полученного значения с приватным ключом
- взять 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 | Примечание для адресной книги |
Пример запроса:
Ответ:
{ "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* | Описание книги |
Пример запроса:
Ответ:
{ "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%" } }
Пример запроса:
Ответ:
{ "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 | Переменная для персонализации |
Пример запроса:
Ответ:
{ "result":{ "phone_id":24552302 } }
В ответе будет возвращен phone_id — уникальный идентификатор телефонного номера.
Добавить телефоны в адресную книгу
Используется метод addPhoneToAddressBook().
Аргументы:
idAddressBook* | Идентификатор адресной книги |
data* | Список телефонов с персонализацией в JSON формате. Структура:[[«phone1″,»variables1″],[«phone2″],[«phone3″,»variables3″]]. |
Пример запроса:
Ответ:
{ "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", "" ] ] } }
Пример запроса:
Ответ:
{ "result":{ "id":24552301, "addressbook":18628, "phone":"380632587852", "normalphone":"380632587852", "variables":"test variables", "status":0 } }
Удаление телефона из адресной книги
Используется метод delPhoneFromAddressBook().
Аргументы:
idAddressBook* | Идентификатор адресной книги |
idPhone* | Идентификатор телефона |
Для удаления всех телефонов с адресной книги необходимо указать идентификатор адресной книги, а для удаления одного телефона необходимо указать идентификатор телефона.
Пример запроса:
Ответ:
{ "result":{ "successful":true } }
Удалить группу телефонов из адресной книги
Используется метод delphonefromaddressbookgroup().
Аргументы:
idPhones* | Идентификаторы телефонных номеров, разделенные запятыми.Например: 456,523,985,412 |
Пример запроса:
Ответ:
{ "result":{ "successful":true } }
Редактирование телефонов в адресной книги
Используется метод editPhone().
Аргументы:
idPhones* | Идентификатор телефона |
phone* | Номер телефона |
variables* | Переменная для персонализации |
Необходимо указать новый телефон (в международном формате) и новую строку переменных.
Пример запроса:
Ответ:
{ "result":{ "successful":true } }
Поиск телефонов в адресной книге
Используется метод searchPhones().
Аргументы:
searchFields | Объект в формате json для поиска. Поиск возможен по следующим полям:idAddressBook,phones,normalPhone, variables, status. В поиске можно использовать операции: like,=,>,>=,<,<=. |
from | Вернуть объекты от from |
offset | Сколько вернуть объектов |
Пример запроса:
Ответ:
{ "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 | Причина добавления |
При добавлении телефона в исключения обязательно необходимо передать идентификатор телефона или сам телефон.
Пример запроса:
Ответ:
{ "result":{ "exseption_id":24552302 } }
В ответе будет возвращен exseption_id — уникальный идентификатор исключения.
Удалить телефон с исключений
Используется метод delPhoneFromExceptions().
Аргументы:
idPhone | Идентификатор телефона |
phone | Телефон |
idException | Идентификатор исключения |
Для удаления телефона с исключения необходимо передать один из выше перечисленных параметров.
Пример запроса:
Ответ:
{ "result":{ "successful":true } }
Редактировать телефон в исключениях
Используется метод editExceptions().
Аргументы:
idException* | Идентификатор исключения |
reason* | Причина |
Пример запроса:
Ответ:
{ "result":{ "successful":true } }
Получить объект исключения
Используется метод getException().
Аргументы:
idException | Идентификатор исключения |
phone | Телефон |
idAddresbook | Идентификатор адресной книги |
from | Вернуть объекты от from |
offset | Сколько вернуть объектов |
Пример запроса:
Ответ:
{ "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%" } }
Пример запроса:
Ответ:
{ "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¤cy=USD
Ответ:
{ "result":{ "currency":"USD", "balance_currency":2.5 } }
Регистрация имени отправителя
Используется метод registerSender().
Аргументы:
name | Отправитель. Не более 14 цифр для цифрового, не более 11 символов для текстового. |
country | Страна, в которой необходимо зарегистрировать имя. Для регистрации доступны страны:MD,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
или
Ответ:
{ "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
Пример запроса:
Ответ:
{ "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
Пример запроса:
Ответ:
{ "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 | отправка смс через каналы сторонних операторов (не прямые каналы). В большинстве случаев, заданное альфа имя подменяется на заданный вами цифровой номер |
Пример запроса:
Ответ:
{ "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 | отправка смс через каналы сторонних операторов (не прямые каналы). В большинстве случаев, заданное альфа имя подменяется на заданный вами цифровой номер |
Пример запроса:
Ответ:
{ "result":{ "price":1210.32 } }
Получение стоимости отправки
Используется метод checkCampaignPriceGroup().
Аргументы:
sender* | Идентификатор отправителя |
text* | Текст e-mail сообщения |
phones* | телефоны. Передаются в виде JSON строки в виде [«Номер телефона», «Переменная»].Структура: ‘[[«3806316923xx»,»Sergey»],[«3806316923xx»,»test»],[«3806785214xx»],[«3806785214xx»]]’. |
type | Для России возможно задать тип рассылки параметром type. |
asender | альтернативный отправитель смс |
Типы рассылок:
Тип | Описание |
2 | отправка смс через прямые подключения к операторам (разрешены только альфа имена) |
3 | отправка смс через каналы сторонних операторов (не прямые каналы). В большинстве случаев, заданное альфа имя подменяется на заданный вами цифровой номер |
Пример запроса:
Ответ:
{ "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* | Идентификаторы кампаний, разделенные запятыми. |
Пример запроса:
Ответ:
{ "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* | Идентификаторы кампаний, разделенные запятыми. |
Пример запроса:
Ответ:
{ "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" } ] }