API метод получения отчетов о доставке СМС
Описание
Получение одного из видов отчета:
- отчет по рассылкам (сводный)
- отчет по отложенным рассылкам
- отчет по сообщениям (детальный)
URL-дрес метода API
http://api.profisend.ru/delivery.report
HTTP-параметры
Имя параметра | Тип данных | Описание |
---|---|---|
pid | Integer | ID смс-сервиса (значение доступно в профиле). |
tids | String | Список ID-рассылок через запятую. Не обязательный параметр, если передан period. Применим только для отчета по рассылкам (сводный отчет, когда detail=0 или не указан). |
sids | String | Список ID-сообщений через запятую. Не обязательный параметр, если передан period. Применим только для отчета по смс (детальный отчет, для detail=1). |
detail | Integer | Указывает на тип отчета для выборки. Для отчета по смс (детальный отчет) нужно передать detail=1, для отчета по рассылкам (сводный отчет) - detail=0 или не передан. |
period | String | Период выборки отчета. Указывается в формате двух дата-время значений через точку с запятой (YYYY-MM-DD HH:mm:ss;YYYY-MM-DD HH:mm:ss). Например: 2013-01-01 00:00:00;2013-01-30 23:59:59 |
phone | String | Поиск сообщений в детальном отчете по номеру телефона абонента или списку номеров абонентов (через запятую). Применим только для отчета detail=1. Значение номера в международном формате без знака +. Не обязательный параметр. |
send_status | String | Выборка смс из детального отчета по статусу доставки. Применим только для отчета detail=1. Указывается код статуса. Допустимые значения: queued, wait, accepted, delivered, failed и not_delivered. Не обязательный параметр. |
delayed | Integer | Если передан параметр delayed=1, выбирается отчет по отложенным рассылкам (время старта который start_at >= начала дня текущей даты). Параметр delayed можно использовать только для сводного отчета (если detail=0 или не передан). Не обязательный параметр. |
limit | Integer | Число записей для получения в отчете. По умолчанию: 100 записей. Максимальное значение: 3000. |
offset | Integer | Смещение от начала отчета для постраничного получения данных отчета. Началом отчета считается offset=0. Параметр используется совместно с limit. Пример: для выгрузки отчета с 501 по 1000 записи, нужно передать offset=500 и limit=500. |
Формат ответных данных
В случае успеха API возвращает массив данных отчета.
Структура единицы данных отчета по рассылкам
Имя параметра | Тип данных | Описание |
---|---|---|
tid | Integer | ID-рассылки. |
uid | Integer | ID-клиента. |
pid | Integer | ID смс-сервиса. |
create_time | Datetime | Дата и время постановки рассылки в очередь. |
update_time | Datetime | Дата и время последнего обновления сведений по рассылке. |
type | Array | Способ постановки рассылки в очередь (web-интерфейс или http-api). |
start_at | Datetime | Дата и время планировки (отложенная рассылка). |
duration | Integer | Продолжительность рассылки в часах. При использовании функции распределения рассылки во времени. |
sender | String | Имя отправителя. |
current_progress | Integer | Обработанное число абонентских номеров. |
success_count | Integer | Число успешно обработанных абонентских номеров. |
count | Array | Массив данных с числом сообщений в рассылке сгруппированных по трем статусам: delivered, failed и not_delivered. |
gids | Array | Список ID-групп контактов участвующих в рассылке. |
to_count | Integer | Общее число абонентских номеров в операции. |
cost | Float | Стоимость рассылки на момент исполнения операции (за обработанное число success_count абонентов). |
status | Array | Статус выполнения операции. |
ip | String | IP-адрес создавщего операцию. |
Имя параметра | Тип данных | Описание |
---|---|---|
smsid | Integer | ID-сообщения. |
uid | Integer | ID-клиента. |
pid | Integer | ID смс-сервиса. |
tid | Integer | ID-рассылки. |
create_time | Datetime | Дата и время постановки рассылки в очередь. |
update_time | Datetime | Дата и время последнего обновления сведений по рассылке. |
close_time | Datetime | Дата и время завершения обработки сообщения (завершение процессинга сообщения). |
sender | String | Имя отправителя. |
phone | String | Номер телефона адресата. |
message | String | Текст сообщения. |
costs | Array |
Массив данных о информации по стоимости сообщения. В массиве представлены значения: amount - число частей (смс) на сообщении; price - цена сообщения в рублях; |
send_status | Array |
Массив с описанием статуса доставки сообщения. В массиве представлены значения: code - кодовое обозначение статуса. Возможные значения: queued, wait, accepted, delivered, failed и not_delivered. name - текст расшифровки статуса (отправлено, доставлено и т.п.). Значения могут быть изменены в будущем. |
processing_status | Integer |
Информация нахождении сообщения в обработке (процессинг). Возможные значения: 0 - Сообщения находится в процессинге; 1 - Работа по отправке сообщения завершена. |
Пример получения детального отчета (по сообщениям) за сегодня
<?php
/*
* В примере использован код php-класса SmsServiceApi.class.php для работы с API.
* Исходный код доступен на странице http://cabinet.profisend.ru/help/api/sample
*/
require_once 'SmsServiceApi.class.php';
// настройки API
define ('API_UID', 'ID-клиента');
define ('API_KEY', 'Ключ API');
define ('API_PID', 'ID смс-сервиса');
$Api = new SmsServiceApi(API_UID, API_KEY);
// параметры запроса
$api_params = array(
'pid' => API_PID,
'detail' => '1',
'period' => '2024-03-29 00:00:00;2024-03-29 23:59:59'
);
// получение данных
$result = $Api->send('delivery.report', $api_params);
// результат
print_r($result);
?>