Рассылки по аудитории: описание API & Webhooks
Работа с API
OAuth-авторизация
Для работы с Fasttrack API вам понадобится уникальный access_token, которым необходимо передавать в заголовке для каждого запроса. Следуйте инструкции ниже, чтобы получить ключ доступа для вашего проекта:
Шаг 1: Подготовить redirect_uri
redirect_uri — это URL, на который сервер перенаправит вас после успешной авторизации, передавая временный код (code). Этот код затем используется приложением для обмена на ключ доступа (access_token).
Шаг 2: Зарегистрировать приложение
Сообщите менеджеру о том, что планируете использовать Fasttrack API и предоставьте redirect_uri для регистрации вашего приложения.
Данные о приложении, которые вы получите:
client_id
Идентификатор вашего приложения.
client_secret
Защищённый ключ вашего приложения
Внимание! Параметр client_secret используется для идентификации и подтверждения подлинности вашего приложения в процессе OAuth-авторизации. Этот параметр является конфиденциальным и должен защищаться так же строго, как и пароли.
Шаг 3: Получить временый код авторизации
Сформируйте URL следующего вида:
После знака ? в URL укажите следующие параметры:
client_id* – Идентификатор вашего приложения;redirect_uri* – URL для получения временного кода авторизацииstate– Произвольная строка, которая будет передана вместе с кодом.
Пример URL:
Перейдите по ссылке. Вы попадете на страницу со списком доступных проеков (их может быть несколько). Выберите проект для которого планируете получить access_token.
Браузер переадресует вас обратно на URL, указанный в параметре redirect_uri с добавлением параметров state и временного кода авторизации (code).
Шаг 5: Получить access_token
POST /oauth/
Метод для получения access_token в рамках OAuth-авторизации.
Пример запроса:
При успешном выполнении запроса API возвращает код ответа 200 и JSON-объект с параметром access_token.
Формат запросов
API работает по протоколу HTTP(S) и поддерживает методы REST (Representational State Transfer), такие как GET, POST, PUT, PATCH и DELETE. Каждый запрос имеет стандартный формат и требует обязательного использования корректных заголовков и параметров.
Базовый URL
Заголовки
Каждый запрос к API Fasttrack требует заголовок Authorization для подтверждения прав доступа. Без этого заголовка сервер не обработает запрос и вернет ошибку.
Для корректной работы с API Fasttrack запросы, которые передают данные, должны содержать заголовок Content-Type. Он указывает, что данные в запросе отправляются в формате JSON.
Также рекомендуется указывать заголовок Accept, чтобы явно запросить от сервера ответы в формате JSON. Это обеспечивает корректное восприятие данных на стороне клиента.
Методы API
Список методов:
GET/mailings/– список рассылокPOST/mailings/– создание рассылкиGET/mailings/{ uuid }/– информация о рассылкеPOST/mailings/{ uuid }/calculate/– подсчет статистикиPOST/mailings/{ uuid }/stop/– остановка рассылки
Протестировать API можно через Swagger по ссылке: https://dashboard.fstrk.io/api/partners/docs/
Для тестирования, необходимо авторизоваться в Fasttrack.
Создание рассылки
Универсальный метод для создания новой рассылки.
Заголовки
Content-Type
application/json
Authorization
Bearer { access_token }
Тело запроса application/json
name (string) * – название рассылки.
Пример: "Моя первая рассылка"
filter_chats (object) – фильтр пользователей. Укажите условия и критерии, которым должны соответствовать пользователи, чтобы получить рассылку.
content_type (string) – тип контента.
Значения: "NODE" "TEXT"
Заметка: используйте значение
NODEдля запуска сценария, настроенного на платформе Fasttrack иTEXTдля отправки обычного текстового сообщения.
text (string) – содержание текстового сообщения.
node_name (string) – название сценария на платформе Fasttrack.
Заметка: можно использовать параметр
node, если нужно указать ID сценария, а не его название. Название может измениться, а идентификатор постоянный.
node (integer) – ID сценария на платформе Fasttrack.
Заполняется для рассылок с типом контента NODE.
Заметка: если передать в запросе одновременно параметры
nodeиnode_name, то приоритет будет у параметраnode.
node_get_params (array) – список параметров для сценария.
Каждый объект в массиве содержит следующие поля:
name(string): название параметраvalue(string): значение параметра
Указанные параметры и их значения будут доступны и могут быть обработаны в контексте выбранного сценария.
customer_filter_field (string) – идентификатор профиля для рассылок по готовому списку клиентов.
Значения:
"UUID""EXTERNAL_ID""PHONE_NUMBER"
Список идентификаторов может быть передан через файл (см. customer_filter_file) или сразу в теле запроса (см. customer_filter_array)
customer_filter_file (string) – ссылка на файл со списком идентификаторов для рассылок по готовому списку клиентов.
Расширение файла
.CSVФайл должен быть загружен на
S3Название колонки соответствует значению
customer_filter_field(в нижнем регистре)
customer_filter_array (array) – список идентификаторов для рассылок по готовому списку клиентов.
planned_at (string) – дата и время запуска для отложенных рассылок.
Формат:
ISO 8601Пример:
"2024-09-16T19:41:02.768Z"
regular_cron (string) – расписание для регулярных рассылок.
Формат:
CRONПример:
"00 12 * * *"(рассылка в 12:00 каждый день).
origin (string) – признак источника рассылки.
Значения:
"chat_center""system"По умолчанию:
"system"
Если указать chat_center, то рассылка будет отправлена всем пользователям, в том числе тем, у кого в момент рассылки открыта сессия с оператором.
Примеры запросов
Ниже приведены примеры запросов, оформленные в формате cURL. Они демонстрируют различные сценарии использования и настройки параметров для создания рассылок.
Результат запроса
При успешном выполнении запроса API возвращает код ответа 201 и JSON-объект с информацией о рассылке, включая полный набор параметров.
Пример ответа:
Список рассылок
Метод для получения списка всех созданных рассылок.
Заголовки
Authorization
Bearer { access_token }
Query-параметры
limit
Кол-во записей, которое вернется в результате запроса. Максимум 100.
offset
Смещение от начала выборки.
Параметры limit и offset позволяют контролировать объем возвращаемых данных и навигацию по страницам при выполнении запросов к API.
Пример запроса
Результат запроса
При успешном выполнении запроса API возвращает код ответа 200 и JSON-объект с информацией о рассылке, включая полный набор параметров.
Информация о рассылке
Метод для получения информации о рассылке по ее идентификатору (UUID).
Заголовки
Authorization
Bearer { access_token }
Path-параметры
uuid *
Идентификатор рассылки
Пример запроса
Результат запроса
При успешном выполнении запроса API возвращает код ответа 200 и JSON-объект с информацией о рассылке, включая полный набор параметров.
Подсчет статистики
Метод для подсчета статистики для рассылки по ее идентификатору (UUID).
Устаревший метод. Статистика в рассылках по аудиториии проекта обновляется автоматически, поэтому данный метод на сегодняшний день не актуален.
Заголовки
Authorization
Bearer { access_token }
Path-параметры
uuid *
Идентификатор рассылки
Пример запроса
Результат запроса
При успешном выполнении запроса API возвращает код ответа 200 и JSON-объект с информацией о рассылке, включая полный набор параметров.
Остановка рассылки
Метод, который используется, чтобы остановить рассылку, которая уже началась.
Заголовки
Authorization
Bearer { access_token }
Path-параметры
uuid *
Идентификатор рассылки
Пример запроса
Результат запроса
При успешном выполнении запроса API возвращает код ответа 200 и JSON-объект с информацией о рассылке, включая полный набор параметров.
Вебхуки
API Fasttrack предоставляет возможность подписаться на уведомления о событиях, которые связаны с отправленными рассылками по аудитории проекта.
Типы событий, связанных с рассылками по аудитории:
MAILING_STATE
Статусы сообщений в рассылке
MAILING_REACTION
Реакции на сообщения в рассылке
Настройка уведомлений
Откройте настройки проекта → Раздел "Вебхуки"
Заполните поле [ Endpoint URL ]
Активируйте события
MAILING_REACTIONиMAILING_STATE
MAILING_STATE
MAILING_STATECмена статуса отправленного сообщения в рассылке.
event_type
Тип события
payload
Информация о событии
> payload.profile
Информация о клиенте
>> payload.profile.uuid
Уникальный идентификатор профиля
> payload.chat
Информация о пользователе
>> payload.chat.uuid
Уникальный идентификатор чата
> payload.mailing
Информация о рассылке
>> payload.mailing.uuid
Уникальный идентификатор рассылки
> payload.message
Информация о сообщении
>> payload.message.state
Текущее состояние сообщения
timestamp
Временная метка
Статусы сообщений
sent
Сообщение отправлено
undelivered
Сообщение не доставлено
delivered
Сообщени доставлено
read
Сообщение прочитано
MAILING_REACTION
MAILING_REACTIONРеакция на отправленной сообщение в рассылке.
event_type
Тип события
payload
Информация о событии
> payload.uuid
Уникальный идентификатор события
> payload.chat
Информация о пользователе
>> payload.chat.uuid
Уникальный идентификатор чата
>> payload.chat.platform
Название канала
> payload.type
Тип реакции
timestamp
Временная метка
Список реакций
URL
Переход по ссылке
CLICK
Нажатие на кнопку
REPLY
Ответное сообщение
READ
Сообщение прочитано
Last updated