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

Чтобы получить информацию по авторассылке, отправляется GET запрос по ссылке:

https://api.sendpulse.com/a360/autoresponders/{ID}

Параметры запроса в URL:

ID идентификатор созданной авторассылки (можно взять из URL просмотра авторассылки)

Пример ответа:

{
    "autoresponder": {
        "id": 127781, // идентификатор авторассылки
        "name": "09.12 массивы линк",
        "status": 1,
        "created": "2019-12-09 15:22:59", // время создания авторассылки
        "changed": "2019-12-09 15:22:59" // время последних изменений в авторассылке
    },
    "flows": [
        {
            "id": 232627, // идентификатор блока, используется для методов получения статистики
            "main_id": 127781, // идентификатор авторассылки, к которой принадлежит блок (совпадает с значением из  URL в личном кабинете при просмотре)
            "af_type": "maintrigger", // тип блока, описание смотри ниже
            "created": "2019-12-09 18:22:59", // время создания блока
            "last_send": "2020-02-12 16:45:36" // время последнего действия блока
        },
        {
            "id": 232628,
            "main_id": 127781,
            "af_type": "email",
            "created": "2019-12-09 18:22:59",
            "last_send": "2020-02-07 13:59:32"
        }
    ],
    "starts": 40, // количество стартов авторассылки
    "in_queue": 1, // количество подписчиков в очереди по настроенным блокам
    "end_count": 39, // количество подписчиков завершивших цепочку
    "send_messages": 26, // количество отправленных сообщений со всей цепочки
    "conversions": 0 // количество выполненных конверсий
}

Возможные статусы авторассылки:

Код Описание
0 новая
1 активная
3 пауза

Возможные типы блоков в авторассылке:

Тип блока Описание
maintrigger стартовый блок
trigger блок "условие"
sms блок "смс"
push блок "push"
email блок "email"
action блок "действие"
filter блок "фильтр"
goal блок "цель"

Обратите внимание, что все даты, которые получаете в ответе по API отдаются по настроенному часовому поясу в аккаунте.

 

Получить статистику стартового блока 

Чтобы получить общую статистику по стартовому блоку в цепочке, отправляется GET запрос по ссылке:

https://api.sendpulse.com/a360/stats/main-trigger/{ID}/group-stat

Параметры запроса в URL:

ID идентификатор блока в авторассылке, можно получить в первом методе

Пример ответа:

{
   "data":{
      "flow_id": {ID},// идентификатор блока
      "executed":1,  // сколько раз он запускался
      "deleted":0 // сколько подписчиков удалено из цепочки
   }
}

Чтобы получить список адресов попавших на старт цепочки, отправляется GET запрос по ссылке:

https://api.sendpulse.com/a360/stats/main-trigger/{ID}/addresses?limit=10&offset=0&sortDirection=desc&sortField=id

Параметры запроса в URL:

ID идентификатор блока в авторассылке
limit количество записей, максимум 100
offset смещение выдачи (начиная с какой записи показывать), минимум 0
sortDirection параметр сортировки, asc - от большего к меньшему, desc - от меньшего к большему
sortField параметр сортировки по полю id

Пример ответа:

{
  "data": [
    {
      "flow_id": {ID},// идентификатор блока
      "email": "email подписчика",
      "phone": "телефон подписчика",
      "event_id": "{EVENT_ID}", // уникальный идентификатор подписчика в цепочке
      "email_b64": "EMAIL IN BASE64 ENCODE",
      "execution_date": "Время попадания подписчика в цепочку"
    }
  ],
  "total": 1 // сколько всего раз запускалась цепочка
}
 

Получить статистику Email блока

Чтобы получить групированную статистику по блоку "Email" в цепочке, отправляется GET запрос по ссылке:

https://api.sendpulse.com/a360/stats/email/{ID}/group-stat

Параметры запроса в URL:

ID идентификатор блока в авторассылке, можно получить в первом методе

Пример ответа:

{
  "data": {
    "flow_id": {ID}, // идентификатор блока
    "sent": 9, // сколько было отправлено писем
    "delivered": 9, // сколько было доставлено писем
    "opened": 8, // сколько открыто писем
    "clicked": 0, // сколько было переходов
    "errors": 0, // сколько было ошибок
    "unsubscribed": 0, // сколько было отписок
    "marked_as_spam": 0, // сколько подписчиков пожаловались на спам
    "last_send": "2020-03-12 16:59:27"  // время последней отправки
  }
}

Чтобы получить список адресов кому отправились письма, отправляется GET запрос по ссылке:

https://api.sendpulse.com/a360/stats/email/{ID}/addresses?&limit=10&offset=0&sortDirection=desc&sortField=id

Параметры запроса в URL:

ID идентификатор блока в авторассылке
limit количество записей, максимум 100
offset смещение выдачи (начиная с какой записи показывать), минимум 0
sortDirection параметр сортировки, asc - от большего к меньшему, desc - от меньшего к большему
sortField параметр сортировки по полю id

Пример ответа:

{
  "data": [
    {
      "id": 151880841, // идентификатор отправки
      "email": "EMAIL", // email
      "email_b64": "BASE64 EMAIL", // email in base64_encode
      "event_id": "dcf8e501483f4582fdb76a1831a74477", // уникальный идентификатор запуска подписчика
      "delivered_status": 1, // статус доставки, будет ниже
      "delivered_status_description": "sent" // описание статуса доставки
      "is_spam": 0, // была ли жалоба на спам, если 0 - не было, если 1 - была
      "is_unsubscribe": 0, // была ли отписка, если 0 - не было, если 1 - была
      "phone": PHONE, // телефон подписчика, если его не было то будет null
      "sent_date": "2020-04-09 11:17:43", //  дата отправки
      "delivered_date": "2020-04-09 11:17:47", // дата получения статуса о доставке( если даже адрес не существует то эта дата выставляется)
      "open_date": null, // дата открытия, если не открыто то null, если открыто то покажет дату
      "redirect_date": null,  // дата перехода, если не было перехода то null, если был то покажет дату
      "updated": "2020-04-09 11:17:47" // дата последнего обновления 
    }
  ],
  "total": 1 //
}

Описание статусов:

Код Статус Описание
0 no_status отправлено
1 delivered доставлено
2 deliveryfailed доставка не удалась по иным причинам
3 unsubscribe отписался от рассылки
4 rejectedyus отключено сервисом
5 brokenemail неправильный адрес
6 tmpanavailable временно недоступный
7 emailnotexist адрес не существует
8 serverspam сервел отклонил письмо как спам
9 userspam пользователь пожаловался на спам
10 mboxfull ящик переполнен
11 domainnotexist домен не существует
12 no_status отправлено
13 no_status отправлено
14 badrecipient плохой получатель, попытки отправки не было
 
 

Получить статистику Push блока 

Чтобы получить групповую статистику по блоку "Push", отправляется GET запрос по ссылке:

https://api.sendpulse.com/a360/stats/push/{ID}/group-stat

Параметры запроса в URL:

ID идентификатор блока в авторассылке, можно получить в первом методе

Пример ответа:

{
  "data": {
    "flow_id": {ID}, // идентификатор блока
    "sent": 9, // сколько было отправлено
    "delivered": 3, // сколько доставлено
    "clicked": 6, // сколько переходов
    "errors": 0, // сколько ошибок
    "last_send": "2020-02-28 12:18:23" // дата последней отправки
  }
}

Чтобы получить список подписчиков, кому отправились пуши, отправляется GET запрос по ссылке:

https://api.sendpulse.com/a360/stats/push/{ID}/addresses?limit=10&offset=0&sortDirection=desc&sortField=id

Параметры запроса в URL:

ID идентификатор блока в авторассылке
limit количество записей, максимум 100
offset смещение выдачи (начиная с какой записи показывать), минимум 0
sortDirection параметр сортировки, asc - от большего к меньшему, desc - от меньшего к большему
sortField параметр сортировки по полю id

Пример ответа:

{
  "data": [
    {
      "id": 424633, // идентификатор отправки
      "email": "EMAIL", // email подписчика
      "email_b64": "BASE64 EMAIL", // email закодированный в base64
      "event_id": "3cc000ab9cff4d41f9fc8d025be2b766", // уникальный идентификатор запуска цепочки
      "phone": null, // телефон подписчика
      "status": 0, // статус будет ниже
      "is_sent": 1, // 1 - отправлено, 0 - не отправлено
      "is_delivered": 0, // 1 - доставлено, 0 - не доставлено
      "is_redirected": 0, // 1 - был переход, 0 - не было перехода
      "sent_date": "2020-02-28 12:18:23" // дата отправки
    }
  ],
  "total": 1 // сколько всего записей в этом блоке
}

Описание статусов:

Код Описание
0 Отправлено
1 Подписчик отписался
 

Получить статистику SMS блока 

Чтобы получить групповую статистику по блоку "SMS", отправляется GET запрос по ссылке:

https://api.sendpulse.com/a360/stats/sms/{ID}/group-stat

Параметры запроса в URL:

ID идентификатор блока в авторассылке, можно получить в первом методе

Пример ответа:

{
  "data": {
    "flow_id": {ID}, // идентификатор блока
    "executed": 2, // сколько всего выполнений блока
    "sent": 2, // сколько всего отправлено
    "delivered": 2, // сколько доставлнео
    "opened": null, // сколько открыто
    "clicked": null, // сколько переходов
    "errors": 0, // сколько ошибок
    "last_send": "2020-04-09 11:17:44" // дата последний отправки
  }
}

Чтобы получить список подписчиков, кому отправились смс сообщения, отправляется GET запрос по ссылке:

https://api.sendpulse.com/a360/stats/sms/{ID}/addresses?limit=10&offset=0&sortDirection=desc&sortField=id

Параметры запроса в URL:

ID идентификатор блока в авторассылке
limit количество записей, максимум 100
offset смещение выдачи (начиная с какой записи показывать), минимум 0
sortDirection параметр сортировки, asc - от большего к меньшему, desc - от меньшего к большему
sortField параметр сортировки по полю id

Пример ответа:

{
  "data": [
    {
      "id": 2214741, // уникальный идентификатор отправки
      "phone": PHONE, //номер телефона, присутствует всегда, приведенный в международный формат
      "status": 2, // статус отправки, будет ниже
      "event_id": "dcf8e501483f4582fdb76a1831a74477", // уникальный идентификатор запуска цепочки
      "sender": "sendpulse", // имя отправителя
      "body": "BODY", // текст отправки с подставленными переменными
      "price": { // цены за смс сообщение в разных валютах
        "USD": "0.07900",
        "RUR": "4.50000",
        "UAH": "1.93000",
        "EUR": "0.06400",
        "GBP": "0.05600",
        "BRL": "0.26000",
        "BYN": "0.16000",
        "KZT": "22.50000",
        "MXN": "1.49000",
        "CLP": "60.44000",
        "NGN": "30.35000"
      },
      "cur": "USD", // текущая валюта пользователя. День списываются в валюте на момент отправки
      "email": "EMAIL", // email присутствует не всегда
      "sent_date": "2020-04-09 11:17:44" // время отправки
    }
  ],
  "total": 1 // сколько всего отправок было
}

Описание статусов:

Код Описание
0 отправлено
1 не доставлено
3 доставлено
4 неправильный номер телефона
5 провайдер отметил как спам
6 дубликат смс
7 идет обновление статистики
 

Получить статистику блока "Фильтр" 

Чтобы получить групповую статистику по блоку "Фильтр" переменных, отправляется GET запрос по ссылке:

https://api.sendpulse.com/a360/stats/filter/{ID}/group-stat

Параметры запроса в URL:

ID идентификатор блока в авторассылке, можно получить в первом методе

Пример ответа:

{
  "data": {
    "flow_id": {ID}, // идентификатор блока
    "executed": 2, // количество выполнений блока
    "last_send": "2020-04-09 11:17:44" // время последнего выполнения
  }
}

Чтобы получить список подписчиков, для кого выполнялся фильтр, отправляется GET запрос по ссылке:

https://api.sendpulse.com/a360/stats/flow-operator/{ID}/addresses?limit=10&offset=0&sortDirection=desc&sortField=execution_date

Параметры запроса в URL:

ID идентификатор блока в авторассылке
limit количество записей, максимум 100
offset смещение выдачи (начиная с какой записи показывать), минимум 0
sortDirection параметр сортировки, asc - от большего к меньшему, desc - от меньшего к большему
sortField параметр сортировки по полю дата выполнения

Пример ответа:

{
  "data": [
    {
      "email": "EMAIL", // email подписчика
      "email_b64": "BASE64 EMAIL", // email закодированный в base64
      "phone": PHONE, // номер телефона подписчика
      "event_id": "dcf8e501483f4582fdb76a1831a74477", // уникальный индентификатор запуска цепочки.
      "execution_date": "2020-04-09 11:17:44" // время выполнения
    }
  ],
  "total": 1 // сколько всего выполнений
}
 

Получить статистику блока "Условие" 

Чтобы получить групповую статистику по блоку "Условие", отправляется GET запрос по ссылке:

https://api.sendpulse.com/a360/stats/trigger/{ID}/group-stat

Параметры запроса в URL:

ID идентификатор блока в авторассылке, можно получить в первом методе

Пример ответа:

{
  "data": {
    "flow_id": {ID}, // ид блока
    "executed": 2, // к-во выполнений блока
    "last_send": "2020-04-09 11:17:44" // время последнего выполнения
  }
}

Чтобы получить список адресов, для кого выполнялось условие, отправляется GET запрос по ссылке:

https://api.sendpulse.com/a360/stats/flow-operator/{ID}/addresses?limit=10&offset=0&sortDirection=desc&sortField=execution_date

Параметры запроса в URL:

ID идентификатор блока в авторассылке
limit количество записей, максимум 100
offset смещение выдачи (начиная с какой записи показывать), минимум 0
sortDirection параметр сортировки, asc - от большего к меньшему, desc - от меньшего к большему
sortField параметр сортировки по полю дата выполнения

Пример ответа:

{
  "data": [
    {
      "email": "EMAIL", // email подписчика
      "email_b64": "BASE64 EMAIL", // email закодированный в base64
      "phone": PHONE, // номер телефона подписчика
      "event_id": "dcf8e501483f4582fdb76a1831a74477", // уникальный индентификатор запуска цепочки.
      "execution_date": "2020-04-09 11:17:44" // время выполнения
    }
  ],
  "total": 1 // сколько всего выполнений
}
 

Получить статистику блока "Цель"

Чтобы получить групповую статистику по блоку "Цель", отправляется GET запрос по ссылке:

https://api.sendpulse.com/a360/goal/sms/{ID}/group-stat

Параметры запроса в URL:

ID идентификатор блока в авторассылке, можно получить в первом методе

Пример ответа:

{
  "data": {
    "flow_id": {ID}, // идентификатор блока
    "executed": 2, // сколько всего выполнений блока
    "sent": 2, // сколько всего отправлено
    "delivered": 2, // сколько доставлнео
    "opened": null, // сколько открыто
    "clicked": null, // сколько переходов
    "errors": 0, // сколько ошибок
    "last_send": "2020-04-09 11:17:44" // дата последний отправки
  }
}

Чтобы получить список подписчиков, кому отправились смс сообщения, отправляется GET запрос по ссылке:

https://api.sendpulse.com/a360/stats/flow-operator/{ID}/addresses?limit=10&offset=0&sortDirection=desc&sortField=execution_date

Параметры запроса в URL:

ID идентификатор блока в авторассылке
limit количество записей, максимум 100
offset смещение выдачи (начиная с какой записи показывать), минимум 0
sortDirection параметр сортировки, asc - от большего к меньшему, desc - от меньшего к большему
sortField параметр сортировки по полю дата выполнения блока

Пример ответа:

{
  "data": [
    {
      "email": "EMAIL", // email подписчика
      "email_b64": "BASE64 EMAIL", // email закодированный в base64
      "phone": PHONE, // номер телефона подписчика
      "event_id": "dcf8e501483f4582fdb76a1831a74477", // уникальный индентификатор запуска цепочки.
      "execution_date": "2020-04-09 11:17:44" // время выполнения
    }
  ],
  "total": 1 // сколько всего выполнений
}
 

Получить статистику блока "Действие"

Чтобы получить групповую статистику по блоку "Действие", отправляется GET запрос по ссылке:

https://api.sendpulse.com/a360/stats/action/{ID}/group-stat

Параметры запроса в URL:

ID идентификатор блока в авторассылке, можно получить в первом методе

Пример ответа:

{
  "data": {
    "flow_id": {ID}, // идентификатор блока
    "executed": 2, // к-во выполнений блока
    "last_send": "2020-04-09 11:17:44" // время последнего выполнения
  }
}

Чтобы получить список подписчиков, для кого выполнилось действие, отправляется GET запрос по ссылке:

https://api.sendpulse.com/a360/stats/flow-operator/{ID}/addresses?limit=10&offset=0&sortDirection=desc&sortField=execution_date

Параметры запроса в URL:

ID идентификатор блока в авторассылке
limit количество записей, максимум 100
offset смещение выдачи (начиная с какой записи показывать), минимум 0
sortDirection параметр сортировки, asc - от большего к меньшему, desc - от меньшего к большему
sortField параметр сортировки по полю дата выполнения блока

Пример ответа:

{
  "data": [
    {
      "email": "EMAIL", // email подписчика
      "email_b64": "BASE64 EMAIL", // email закодированный в base64
      "phone": PHONE, // номер телефона подписчика
      "event_id": "dcf8e501483f4582fdb76a1831a74477", // уникальный индентификатор запуска цепочки.
      "execution_date": "2020-04-09 11:17:44" // время выполнения
    }
  ],
  "total": 1 // сколько всего выполнений
}
 

Получить список конверсий авторассылки

Конверсии бывают двух типов:

  • остановка серии по событию и включение опции засчитать в конверсию в стартовом блоке цепочки - maintrigger
  • попадание блока в цель - goal

Чтобы получить информацию о количестве выполненных конверсий, а также количеству конверсий по каждому типу в цепочке, отправляется GET запрос по ссылке:

https://api.sendpulse.com/a360/autoresponders/{id}/conversions

Параметры запроса в URL:

ID идентификатор авторассылки

Пример ответа:

{
    "data": {
        "total_conversions": 5, // количество всего конверсий в авторассылке
        "maintrigger_conversions": 1, // количество конверсий в стартовом блоке
        "goal_conversions": 4, // количество конверсий в блоках "цель"
        "maintrigger": { // информация про стартовый блок
            "id": 233500,
            "main_id": 127820,
            "af_type": "maintrigger",
            "created": "2020-04-28 18:00:09",
            "last_send": "2020-04-28 18:13:44",
            "conversions": 1
        },
        "goals": [  // информация про каждый блок "цель"
            {
                "id": 233502,
                "name": "left",
                "main_id": 127820,
                "af_type": "goal",
                "created": "2020-04-28 18:00:09",
                "conversions": 3
            },
            {
                "id": 233503,
                "name": "right",
                "main_id": 127820,
                "af_type": "goal",
                "created": "2020-04-28 18:00:09",
                "conversions": 1
            }
        ]
    }
}

Примечание: значение параметра total_conversions должно равнятся суме по параметрам maintrigger_conversions и goal_conversions; а также суме по параметрам maintrigger_conversions и goals.

 

Получить список контактов попавших в конверсию

Чтобы получить список всех подписчиков попавших под любые из конверсий, отправляется GET запрос по ссылке:

https://api.sendpulse.com/a360/autoresponders/{ID}/conversions/list/all

Чтобы получить список конверсий, которые создались через остановить серию по событию в стартовом блоке, отправляется GET запрос по ссылке:

https://api.sendpulse.com/a360/autoresponders/{ID}/conversions/list/maintrigger

Чтобы получить список конверсий, которые создались через попадание подписчика в блоке цель, отправляется GET запрос по ссылке:

https://api.sendpulse.com/a360/autoresponders/{ID}/conversions/list/goal

Чтобы получить список конверсий, которые создались через попадание в конкретный блок цель, отправляется GET запрос по ссылке:

https://api.sendpulse.com/a360/autoresponders/{ID}/conversions/list/goal{{goalID}}

Параметры запроса в URL:

ID идентификатор авторассылки
goalID идентификатор блока цели, можно узнать в методе выше

Пример ответа:

{
    "total": 5,
    "items": [
        {
            "id": 40941,
            "conversion_type": "maintrigger",
            "flow_id": 233500,
            "email": "m.jim@sendpulse.com",
            "phone": null,
            "conversion_date": "2020-04-28 18:13:53",
            "start_date": "2020-04-28 18:13:44"
        },
        {
            "id": 40940,
            "conversion_type": "goal",
            "flow_id": 233502,
            "email": "m.jim@sendpulse.com",
            "phone": null,
            "conversion_date": "2020-04-28 18:03:44",
            "start_date": "2020-04-28 18:03:42"
        },
        {
            "id": 40939,
            "conversion_type": "goal",
            "flow_id": 233502,
            "email": "m.jim@sendpulse.com",
            "phone": null,
            "conversion_date": "2020-04-28 18:02:52",
            "start_date": "2020-04-28 18:02:50"
        },
        {
            "id": 40938,
            "conversion_type": "goal",
            "flow_id": 233503,
            "email": "m.jim@sendpulse.com",
            "phone": null,
            "conversion_date": "2020-04-28 18:02:43",
            "start_date": "2020-04-28 18:02:40"
        },
        {
            "id": 40937,
            "conversion_type": "goal",
            "flow_id": 233502,
            "email": "m.jim@sendpulse.com",
            "phone": null,
            "conversion_date": "2020-04-28 18:01:59",
            "start_date": "2020-04-28 18:01:56"
        }
    ]
}
 

Ошибки запроса

В случае ошибок валидации, неправильно составленного запроса к API возвращается 400 код ответа HTTP с информацией об ошибке.

Пример структуры ошибок:

{
    "type": "validation_error",
    "messages": {
        "limit": [
            "The limit field is required."
        ],
        "offset": [
            "The offset field is required."
        ]
    }
}

Если данных по какому-то методу не найдено - вы получите 404 код ответа.