Appearance
Отправка каскадных рассылок
Каскадные рассылки позволяют отправлять сообщения в несколько каналов, начиная от самого дешевого, заканчивая самым дорогим. Например, вы можете выставить цепочку:
- Если есть
email, то отправить в него. - Иначе, если есть
telegram_id, то попробовать отправить в него. - Иначе, если есть
mobile push, то отправить в него. - Иначе отправить
SMS.
Порядок каналов для отправки вы выбираете сами в настройках каскадной рассылки в личном кабинете.
Создав каскадную рассылку, вы получаете ее уникальный код, который затем используете в запросе к API для отправки сообщения.
Принцип отправки каскада практически идентичен отправке обычной транзакционной рассылки. Отличия следующие:
- Нельзя (пока) отправлять файлы через каскадную рассылку.
- Есть флаг отправки сообщений сразу на все каналы, а последовательно.
shell
POST https://api.rees46.ru/transactПараметры
| Параметр | Обязателен? | Описание |
|---|---|---|
| shop_id | Да | API-ключ |
| shop_secret | Да | Секретный ключ API |
| code | Да | Уникальный код транзакционной рассылки |
| email* | Да | Email клиента |
| phone* | Да | Телефон клиента |
| external_id* | Да | Внешний ID клиента |
| loyalty_id* | Да | Идентификатор ПЛ клиента |
| telegram_id* | Да | Telegram ID клиента |
| variables | Нет | Объект с переменными, которые подставляются в текст сообщения. Рекомендуем использовать плоский объект без вложенных объектов |
| test | Нет | Флаг отправки тестового письма. Если указан в 1 или true, то письмо отправляется, но не получает уникальный код и для него не учитываются открытия, клики, баунсы и другие действия получателя |
| cc | Нет | Адреса электронной почты для получения копии письма в виде массива |
| bcc | Нет | Адреса электронной почты для получения скрытой копии письма в виде массива |
| send_everywhere | Нет | Флаг, что рассылку нужно отправить не на первый подходящий канал, а сразу на все каналы каскада. Значения: 1 или true |
Идентификаторы
Параметры, отмеченные [*] - обязателен хотя бы один из них. Даже если вы отправляете рассылку на email, вы можете передать phone, если уверены, что у клиента есть и email и phone (часто phone есть у 100% клиентов, а email не у всех).
Запрос
Пример запроса:
shell
curl --header "Content-Type: application/json" \
--request POST \
--data-binary "@payload.json" \
https://api.rees46.ru/transactshell
curl --location --request POST 'https://api.rees46.ru/transact' \
--form 'shop_id="SHOP_ID"' \
--form 'shop_secret="SHOP_SECRET"' \
--form 'code="TRANSACTIONAL_MESSAGE_CODE"' \
--form 'email="EMAIL"' \
--form 'variables[KEY]="VALUE"'
--form 'variables[KEY_2]="VALUE_2"'Пример JSON-тела:
json
{
"shop_id": "...",
"shop_secret": "...",
"phone": "7XXXXXXXXX",
"code": "password-restore",
"variables": {
"2fa_code": "...",
"first_name": "...",
"last_name": "..."
}
}Ответ
Пример ответа сервера:
json
{
"success": true,
"payload": {
"code": "..."
}
}Расшифровка ответа:
| Параметр | Описание |
|---|---|
| success | Запрос выполнен успешно или нет |
| payload | Тело ответа |
| payload.code | Уникальный код сообщения, по которому потом можно проверять статусы доставки и другие показатели |
В случае ошибки ответ будет в формате:
json
{
"success": false,
"payload": {
"message": "Shop not found"
}
}