MCP-сервер
ИИ-ассистенты — Claude, ChatGPT, Cursor и другие — подключаются к DashaMail по протоколу Model Context Protocol и работают с аккаунтом инструментами: «покажи базы», «собери отчёт по рассылке», «подготовь черновик письма». Каждый инструмент — это вызов REST API v2 от имени вашего аккаунта.
Адрес и что внутри #
https://mcp.dashamail.ru/
Транспорт — Streamable HTTP, версия протокола 2025-06-18. Сервер отдаёт 71 инструмент по всем разделам API: адресные базы и подписчики, рассылки и отчёты, шаблоны, автоматизации, транзакционные письма, вебхуки, обработка входящих. Полный перечень с аргументами — в справочнике ниже.
Сервер ничего не умеет сверх API: права ключа, лимиты запросов и журнал вызовов — те же, что у любой интеграции. Что доступно через API, то доступно и ассистенту, не больше.
Подключение #
Способов два — зависит от клиента.
Через OAuth: Claude.ai, Claude Desktop, ChatGPT
- В настройках клиента добавьте MCP-сервер (custom connector) с адресом
https://mcp.dashamail.ru/. - Клиент откроет вход в личный кабинет DashaMail — войдите, как обычно.
- На экране согласия видно, какое приложение и какие права запрашивает. Нажмите «Разрешить».
После этого в кабинете (Аккаунт → API-ключи) появится ключ с именем «MCP · <приложение>» и бейджем OAuth. Он живёт 30 дней, приложение продлевает его само. Отозвали ключ — приложение отключилось, продлить его оно не сможет.
По API-ключу: Claude Code, Cursor, Codex и другие
Клиенты, которые позволяют задать заголовок запроса, подключаются обычным API-ключом из кабинета — без OAuth:
Authorization: Bearer YOUR_API_KEY
Claude Code:
claude mcp add --transport http dashamail https://mcp.dashamail.ru/ \
--header "Authorization: Bearer YOUR_API_KEY"
Cursor и другие клиенты с настройкой в JSON:
{
"mcpServers": {
"dashamail": {
"url": "https://mcp.dashamail.ru/",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
Пошаговые инструкции с экранами для каждого клиента — Claude.ai, Claude Code, ChatGPT, Cursor, Codex, Yandex AI Studio, GigaChat — в базе знаний, раздел «MCP».
Права #
Ключ, выданный через OAuth, несёт список прав: приложение запрашивает
набор, пользователь на экране согласия оставляет из него столько, сколько
считает нужным. Обычный ключ из кабинета по умолчанию без ограничений;
права ему можно задать при выпуске или изменить позже кнопкой «Права»
в разделе API-ключей — это касается и ключей приложений. Права
иерархичны: send включает write,
write включает read. Список и что каждое право
открывает — в разделе
«Ключи с ограниченными правами».
Сервер показывает ассистенту только те инструменты, на которые у ключа
есть право, а API проверяет право ещё раз на каждом вызове: запрос вне
прав получает 403 с code: 62.
Настройка через адрес #
| Адрес | Что даёт |
|---|---|
https://mcp.dashamail.ru/ |
Все инструменты — по умолчанию для Claude, Cursor и других клиентов с большим контекстом. |
https://mcp.dashamail.ru/?toolset=core |
Короткий набор из 27 самых нужных инструментов — для клиентов, которые плохо переносят длинные списки (ChatGPT). |
https://mcp.dashamail.ru/?readonly=1 |
Только чтение: инструменты, которые что-то меняют или отправляют, не показываются и не вызываются. Для аналитических сценариев и осторожного знакомства. |
Флаги сочетаются: ?toolset=core&readonly=1.
Как сервер обращается с данными #
- Черновик — отдельно, отправка — отдельно.
campaigns_createвсегда создаёт черновик; письма уходят только черезcampaigns_scheduleилиcampaigns_send_now. Эти инструменты помечены как необратимые, и клиенты (Claude, Cursor) спрашивают подтверждение пользователя перед вызовом. - Каждый инструмент помечен — читает, меняет, отправляет
или удаляет (аннотации протокола
readOnlyHintиdestructiveHint). Ассистент видит это до вызова. - Необратимых удалений почти нет. Удалить можно только черновик рассылки; удаление баз, подписчиков и доменов через MCP недоступно — для этого есть кабинет и API.
- Аргументы вне схемы отклоняются. Нельзя, например,
подсунуть
status=MODERATINGв правку черновика и запустить рассылку в обход инструмента отправки. - Вёрстка писем в списках вырезана, чтобы не раздувать
контекст; за ней —
campaigns_getсwith_html. Ответ длиннее 200 КБ обрезается с подсказкой сузить запрос. - Пустой результат — не ошибка: приходит как
items: [].
Ошибки #
| Ситуация | Ответ | Что делать |
|---|---|---|
| Нет токена или он отозван | 401 |
Заголовок WWW-Authenticate указывает на метаданные для OAuth. Переподключите сервер в клиенте или проверьте ключ. |
| Инструмент вне прав ключа | 403, code: 62 |
Недостающее право — в details.required_scope. Переподключите приложение и разрешите его. |
| Слишком много запросов | 429, code: 58 |
Лимит запросов аккаунта в минуту. Не вызывайте инструменты параллельно. |
| Неизвестный инструмент или метод | JSON-RPC -32602 / -32601 |
Инструмента нет в наборе (проверьте toolset, readonly и права ключа) либо метод протокола не поддерживается. |
| Ошибка внутри инструмента | результат с isError |
Текст содержит код и сообщение API — те же, что в справочнике кодов. Ассистент прочтёт его и исправит аргументы. |
Справочник инструментов #
Имена — <раздел>_<действие>; клиент добавляет к ним
префикс сервера сам. Аргументы — те же параметры, что у соответствующих
методов REST API, только в удобном для ассистента виде: флаги — да/нет,
дополнительные поля подписчика — объектом merge, вложенные
структуры — объектами, а не JSON-строками.
- Аккаунт, отправители, домены 6
- Адресные базы и подписчики 22
- Рассылки 13
- Шаблоны 3
- Автоматизации 2
- Отчёты 9
- Транзакционные письма 4
- Вебхуки 6
- Обработка входящих 4
- Служебные 2
Аккаунт, отправители, домены #
account_get читает #
Баланс и лимиты аккаунта. Текущие лимиты аккаунта и число активных подписчиков. Самый дешёвый запрос — годится для проверки работоспособности ключа.
limit_members — максимум активных подписчиков по тарифу (0 — лимита нет: тариф поштучный, расход считается письмами), members — сколько их сейчас, limit_emails — остаток писем на поштучных тарифах, expiration_date — до какого числа оплачен месячный тариф.
Без аргументов.
senders_list читает #
Подтверждённые адреса отправителей. Список адресов, подтверждённых как обратные. Возвращается массивом строк, не более ста записей.
В from_email рассылки можно ставить только адрес из этого списка.
Без аргументов.
senders_add отправляет #
Добавить адрес отправителя. Отправляет на указанный адрес письмо со ссылкой подтверждения. Адрес станет доступен как обратный после того, как получатель перейдёт по ссылке.
На адрес уходит письмо со ссылкой; отправителем он станет только после перехода по ней.
Действие необратимо: уходят письма. Перед вызовом покажи пользователю параметры и дождись явного подтверждения.
| Аргумент | Тип | Описание |
|---|---|---|
email | строка, обязательный | Адрес, который нужно подтвердить. |
domains_list читает #
Домены отправки и их DNS-статус. Домены аккаунта и состояние их DNS-настроек. Значения берутся из последней проверки — чтобы обновить их, вызовите проверку DNS.
valid_spf и valid_dkim — прошла ли проверка DNS; double_spf — в зоне две SPF-записи, это ошибка.
| Аргумент | Тип | Описание |
|---|---|---|
domain | строка | Вернуть только этот домен отправки. |
stat_domain | строка | Вернуть только этот домен статистики. |
domains_add меняет #
Добавить домен отправки. Регистрирует домен в аккаунте и возвращает DNS-записи, которые нужно прописать у регистратора. До того как записи появятся в DNS и пройдут проверку, отправка с этого домена не заработает.
Примечание. Кроме домена отправки можно добавить домен статистики — тогда ссылки отслеживания в письмах будут вести на ваш поддомен, а не на домен DashaMail. Оба параметра можно передать в одном запросе.
Возвращает DNS-записи, которые нужно прописать в зоне домена. После этого вызови domains_check.
| Аргумент | Тип | Описание |
|---|---|---|
domain | строка, обязательный | Домен отправки. Национальные (кириллические) домены не поддерживаются. |
stat_domain | строка | Поддомен для ссылок статистики, например stat.example.ru. |
domains_check читает #
Перепроверить DNS доменов. Запрашивает DNS и обновляет состояние доменов. Вызывайте после того, как прописали записи у регистратора — распространение изменений обычно занимает от нескольких минут до нескольких часов.
| Аргумент | Тип | Описание |
|---|---|---|
domain | строка | Проверить только этот домен отправки. |
stat_domain | строка | Проверить только этот домен статистики. |
Адресные базы и подписчики #
lists_list читает #
Адресные базы. Возвращает все адресные базы аккаунта, от новых к старым, вместе со счётчиками подписчиков по состояниям.
Возвращает id, название, число подписчиков и описание дополнительных полей (merge_1 … merge_N) каждой базы.
| Аргумент | Тип | Описание |
|---|---|---|
state | строка | Вернуть только базы в указанном состоянии. Значения: active, archived, blocked. |
lists_get читает #
Одна адресная база. Возвращает одну базу — в том же формате, что и список, но массивом из одного элемента. Отсюда удобно получать состав дополнительных полей перед добавлением подписчиков.
| Аргумент | Тип | Описание |
|---|---|---|
list_id | число, обязательный | Идентификатор адресной базы. |
lists_create меняет #
Создать адресную базу. Создаёт новую адресную базу.
Контактные данные (company, address, city и другие) попадают в подвал писем — этого требуют антиспам-политики. Если их не передать, подставятся данные из профиля аккаунта.
| Аргумент | Тип | Описание |
|---|---|---|
name | строка, обязательный | Название базы. |
fields | объект или массив или строка | Состав дополнительных полей. Если не передан, поля копируются из базы по умолчанию, а при её отсутствии создаются «Имя» и «Фамилия». Каждый элемент — объект с ключами title, type, req, var. Для типа choice в title передаётся объект {"name": "…", "choices": […]}. Длина var — не больше 10 символов. Передавай объектом или массивом; готовая JSON-строка тоже принимается. |
company | строка | Название компании для подвала письма. |
abuse_name | строка | Контактное лицо. |
abuse_email | строка | Контактный email для жалоб. |
address | строка | Адрес. |
city | строка | Город. |
zip | строка | Почтовый индекс. |
country | строка | Страна. |
phone | строка | Телефон. |
url | строка | Сайт компании. |
lists_update меняет #
Изменить адресную базу. Меняет реквизиты базы. Передавайте только те поля, которые нужно изменить — остальные останутся прежними. Состав дополнительных полей здесь не меняется, для этого есть отдельные эндпоинты.
| Аргумент | Тип | Описание |
|---|---|---|
list_id | число, обязательный | Идентификатор базы. |
name | строка | Название базы. |
abuse_email | строка | Контактный email. Проверяется на корректность. |
abuse_name | строка | Контактное лицо. |
company | строка | Компания. |
address | строка | Адрес. |
city | строка | Город. |
zip | строка | Индекс. |
country | строка | Страна. |
url | строка | Сайт. |
phone | строка | Телефон. |
fields_add меняет #
Добавить дополнительное поле базы. Добавляет в базу новое дополнительное поле. Оно займёт первый свободный номер merge_N.
| Аргумент | Тип | Описание |
|---|---|---|
list_id | число, обязательный | Идентификатор базы. |
type | строка, обязательный | Тип поля. Значения: text, number, date, choice, tags. |
var | строка | Имя подстановки для писем — например ИМЯ подставляется как %ИМЯ%. Не длиннее 10 символов. |
title | строка | Отображаемое название поля. |
choices | объект или массив или строка | Массив вариантов. Обязателен для типа choice. Передавай объектом или массивом; готовая JSON-строка тоже принимается. |
req | строка | Со значением on поле становится обязательным при добавлении подписчиков. |
fields_update меняет #
Изменить дополнительное поле базы. Меняет параметры существующего поля. Незаданные параметры сохраняют прежние значения. Тип поля изменить нельзя.
| Аргумент | Тип | Описание |
|---|---|---|
list_id | число, обязательный | Идентификатор базы. |
merge_id | число, обязательный | Номер поля: 1 для merge_1 и так далее. |
title | строка | Новое название. |
var | строка | Новое имя подстановки. |
choices | объект или массив или строка | Новый список вариантов для поля типа choice. Передавай объектом или массивом; готовая JSON-строка тоже принимается. |
req | строка | Обязательность поля. |
default | строка | Значение по умолчанию. Неприменимо к полям типа tags. |
lists_unsubscribed читает #
Отписавшиеся подписчики. Подписчики, отписавшиеся от рассылок, с датой отписки. Полезно для синхронизации отписок с вашей CRM.
| Аргумент | Тип | Описание |
|---|---|---|
list_id | число, обязательный | Идентификатор базы. |
start | число | Смещение. |
limit | число | Размер страницы. |
order | строка | Сортировка в формате поле направление. |
date_start | строка | Отписавшиеся начиная с этого момента. Формат YYYY-MM-DD HH:MM:SS, московское время. |
date_end | строка | Отписавшиеся до этого момента. Формат YYYY-MM-DD HH:MM:SS, московское время. |
email | строка | Проверить конкретный адрес. |
lists_complaints читает #
Пожаловавшиеся на спам. Подписчики, нажавшие «Это спам» в своём почтовом клиенте. Такие адреса исключаются из рассылок навсегда.
| Аргумент | Тип | Описание |
|---|---|---|
list_id | число, обязательный | Идентификатор базы. |
start | число | Смещение. |
limit | число | Размер страницы. |
order | строка | Сортировка в формате поле направление. |
members_search читает #
Подписчики базы. Постранично возвращает подписчиков базы.
Примечание. Смещение задаётся параметром start, не offset. По умолчанию отдаётся 100 записей.
Постранично: start — смещение, limit — размер страницы. Точный поиск одного адреса — параметр email.
| Аргумент | Тип | Описание |
|---|---|---|
list_id | число, обязательный | Идентификатор базы. |
start | число | Смещение от начала выборки. |
limit | число | Сколько записей вернуть. |
order | строка | Сортировка в формате поле направление — например id desc. |
state | строка | Фильтр по состоянию подписчика. Значение spam — синоним complained. Значения: active, unsubscribed, bounced, complained, unconfirmed, inactive. |
email | строка | Вернуть конкретного подписчика по адресу. |
member_id | число | Вернуть конкретного подписчика по идентификатору. |
segment_id | число | Вернуть подписчиков сохранённого сегмента. Несовместим с email и member_id. |
members_get читает #
Один подписчик. Возвращает записи подписчика по адресу.
Примечание. Поиск идёт по всем базам аккаунта, а не только по указанной в пути. Если адрес есть в нескольких базах, вернутся все записи — различайте их по полю list_id.
Возвращает member_id — он нужен для members_move и members_copy.
| Аргумент | Тип | Описание |
|---|---|---|
list_id | число, обязательный | Идентификатор базы. На выборку не влияет. |
email | строка, обязательный | Адрес подписчика, закодированный для URL (@ → %40). |
members_add меняет #
Добавить подписчика. Добавляет один адрес в базу. Для загрузки нескольких адресов используйте пакетное добавление, для файлов — импорт.
Перед добавлением адрес проверяется по вашему списку отписок, по чёрному списку аккаунта и по глобальному списку возвратов.
Если адрес уже есть в базе, без update=true запрос вернёт ошибку; с update=true — обновит поля. Дополнительные поля — объектом merge: {"merge_1": "Иван"}.
| Аргумент | Тип | Описание |
|---|---|---|
list_id | число, обязательный | Идентификатор базы. |
email | строка, обязательный | Адрес подписчика. Домен ya.ru автоматически приводится к yandex.ru. |
merge | объект | Дополнительные поля подписчика объектом: ключ — merge_N (номер поля из lists_get), значение — что записать. Значения дополнительных полей. Нумерация соответствует полям базы. |
merge_0 | да/нет | Нумеровать переданные поля с нуля: merge_0 станет первым полем базы. Удобно, когда источник данных нумерует колонки с нуля. |
update | да/нет | Обновлять уже существующего подписчика вместо ошибки «адрес уже есть в базе». |
update_tags | строка | Со значением on метки в полях типа tags добавляются к существующим, а не заменяют их. |
send_confirm | да/нет | Отправить письмо подтверждения подписки (double opt-in). Подписчик создаётся в состоянии unconfirmed. |
no_check | да/нет | Не проверять адрес по глобальному списку возвратов. |
state | строка | Задать состояние подписчика явно. |
gender | строка | Пол подписчика. |
region | строка | Регион подписчика. |
members_add_batch меняет #
Добавить подписчиков пачкой. Загружает несколько подписчиков одним запросом. Каждый элемент batch — такой же объект, как тело добавления одного подписчика.
Примечание. С параметром background запрос сразу возвращает управление, а загрузка идёт в фоне — так стоит поступать с пакетами в тысячи адресов.
| Аргумент | Тип | Описание |
|---|---|---|
list_id | число, обязательный | Идентификатор базы. |
batch | объект или массив или строка, обязательный | Массив объектов подписчиков. Передавай объектом или массивом; готовая JSON-строка тоже принимается. |
update | да/нет | Обновлять существующих подписчиков. |
background | да/нет | Обработать пакет в фоне. |
no_check | да/нет | Не проверять адреса по глобальному списку возвратов. |
send_confirm | да/нет | Отправлять письма подтверждения подписки. |
members_update меняет #
Изменить подписчика. Обновляет дополнительные поля и состояние подписчика. Подписчик находится по паре «база + адрес» из пути, либо, если передан member_id — по нему.
| Аргумент | Тип | Описание |
|---|---|---|
list_id | число, обязательный | Идентификатор базы. |
email | строка, обязательный | Текущий адрес подписчика, закодированный для URL. |
member_id | число | Искать подписчика по идентификатору, а не по адресу. |
merge | объект | Дополнительные поля подписчика объектом: ключ — merge_N (номер поля из lists_get), значение — что записать. Новые значения дополнительных полей. Поля, помеченные обязательными, нельзя очищать. |
update_tags | строка | Со значением on метки добавляются к существующим. |
state | строка | Новое состояние подписчика. |
gender | строка | Пол. |
region | строка | Регион. |
source | строка | Источник подписки. |
members_unsubscribe меняет #
Отписать подписчика. Переводит подписчика в состояние unsubscribed и проставляет время отписки. Если адрес есть в нескольких базах, а list_id в пути указывает на конкретную — отписка затронет только её.
| Аргумент | Тип | Описание |
|---|---|---|
list_id | число, обязательный | Идентификатор базы. |
email | строка, обязательный | Адрес подписчика, закодированный для URL. |
member_id | число | Отписать по идентификатору вместо адреса. |
reason | строка | Причина отписки. Накапливается в статистике причин по базе. |
members_move меняет #
Перенести подписчика в другую базу. Переносит активного подписчика в другую базу. Запись меняет принадлежность, идентификатор сохраняется.
Перенос считается подпиской на целевую базу — привязанные к ней автоматизации с событием «добавление в базу» сработают.
| Аргумент | Тип | Описание |
|---|---|---|
list_id | число, обязательный | Идентификатор исходной базы. |
email | строка, обязательный | Адрес подписчика, закодированный для URL. |
to_list_id | число, обязательный | Идентификатор целевой базы. |
member_id | число, обязательный | Идентификатор переносимой записи из списка подписчиков. |
members_copy меняет #
Скопировать подписчика в другую базу. Создаёт копию записи подписчика в другой базе. Исходная запись остаётся на месте; значения дополнительных полей копируются.
| Аргумент | Тип | Описание |
|---|---|---|
list_id | число, обязательный | Идентификатор исходной базы. |
email | строка, обязательный | Адрес подписчика, закодированный для URL. |
to_list_id | число, обязательный | Идентификатор целевой базы. |
member_id | число, обязательный | Идентификатор копируемой записи из списка подписчиков. |
members_activity читает #
История событий подписчика. События подписчика: отправки, доставки, открытия, клики, возвраты, отписки — с привязкой к рассылкам.
| Аргумент | Тип | Описание |
|---|---|---|
list_id | число, обязательный | Идентификатор базы. |
email | строка, обязательный | Адрес подписчика, закодированный для URL. |
filter | строка | Тип событий для выборки. |
members_status читает #
Текущий статус адреса. Быстрая проверка: в каком состоянии находится конкретный адрес в базе. Дешевле, чем выгружать подписчика целиком.
| Аргумент | Тип | Описание |
|---|---|---|
list_id | число, обязательный | Идентификатор базы. |
email | строка, обязательный | Проверяемый адрес. |
members_check_email читает #
Проверить адрес перед подпиской. Отвечает на вопрос «можно ли добавить этот адрес в базу». Проверяет его по чёрному списку аккаунта, по отпискам в этой базе, по глобальному списку возвратов, а также формат адреса и принадлежность к одноразовым почтовым сервисам.
Полезно вызывать перед добавлением подписчика: так вы заранее отсеете адреса, на которых POST всё равно завершится ошибкой, и не потратите на них попытку.
Примечание. Успешный ответ возвращает адрес в поле valid уже нормализованным — регистр и типичные опечатки в домене исправляются. Добавляйте в базу именно это значение.
Отказы приходят со статусами 409 и 422, но различать причины надёжнее по полю code: статус лишь делит их на «адрес в чёрном списке» и «адрес непригоден».
| Аргумент | Тип | Описание |
|---|---|---|
list_id | число, обязательный | Идентификатор базы. Проверка отписок выполняется в пределах этой базы; чёрный список и список возвратов действуют на весь аккаунт. |
email | строка, обязательный | Проверяемый адрес. |
imports_start меняет #
Запустить импорт подписчиков из файла по URL. Ставит в очередь импорт из файла CSV, XLS, XLSX, TXT или ZIP. Файл либо скачивается по ссылке file, либо загружается как multipart-поле import-file.
Соответствие колонок файла и полей подписчика задаётся номерами колонок, начиная с нуля: email=0 означает, что адрес лежит в первой колонке, merge_1=2 — что первое дополнительное поле лежит в третьей.
Примечание. В одну базу можно поставить не больше пяти задач импорта одновременно. В режиме online импорт запрещён, если в аккаунте уже идёт другой импорт.
Импорт фоновый: результат смотри через imports_status.
| Аргумент | Тип | Описание |
|---|---|---|
list_id | число, обязательный | Идентификатор базы. |
email | число, обязательный | Номер колонки с адресом, считая с нуля. |
type | строка, обязательный | Расширение файла. Значения: csv, txt, xls, xlsx, zip. |
file | строка, обязательный | URL файла. Если не задан, файл ожидается в multipart-поле import-file. |
merge | объект | Дополнительные поля подписчика объектом: ключ — merge_N (номер поля из lists_get), значение — что записать. Номера колонок для дополнительных полей. Поля, помеченные в базе обязательными, должны быть сопоставлены. |
gender | число | Номер колонки с полом. |
region | число | Номер колонки с регионом. |
mode | строка | Со значением online импорт выполняется синхронно. По умолчанию — фоновая задача. |
update | да/нет | Обновлять существующих подписчиков. |
send_confirm | да/нет | Отправлять письма подтверждения подписки. |
sheet_index | число | Номер листа книги Excel. |
sheet_name | строка | Название листа книги Excel. |
imports_status читает #
Результат последнего импорта. Возвращает текстовый отчёт о последнем завершённом импорте в базу.
| Аргумент | Тип | Описание |
|---|---|---|
list_id | число, обязательный | Идентификатор базы. |
imports_history читает #
История импортов. Список задач импорта по базе с их состоянием и итогами.
| Аргумент | Тип | Описание |
|---|---|---|
list_id | число, обязательный | Идентификатор базы. |
import_id | число | Вернуть только одну задачу импорта. |
Рассылки #
campaigns_list читает #
Рассылки. Возвращает рассылки аккаунта. Удалённые не показываются, если явно не запрошен статус DELETED.
Примечание. Здесь смещение задаётся параметром offset (в отличие от подписчиков, где используется start). По умолчанию возвращается 100 рассылок.
Вёрстка писем в списке не возвращается — за ней campaigns_get с with_html. Статусы: DRAFT черновик, SCHEDULE запланирована, MODERATING на модерации, SENT отправлена.
| Аргумент | Тип | Описание |
|---|---|---|
limit | число | Сколько рассылок вернуть. |
offset | число | Смещение. Учитывается только вместе с limit. |
status | строка | Фильтр по статусу рассылки. |
list_id | число | Только рассылки по указанной адресной базе. |
start | строка | Рассылки не раньше этой даты. Для статуса SENT сравнивается время отправки, иначе — время последнего изменения. Формат YYYY-MM-DD. |
end | строка | Рассылки не позже этой даты. Формат YYYY-MM-DD. |
external_campaign_id | строка | Поиск по вашему внешнему идентификатору. |
workflow | число | Только письма указанной цепочки автоматизации. |
campaigns_get читает #
Одна рассылка. Возвращает рассылку целиком, включая HTML- и текстовую версии письма.
| Аргумент | Тип | Описание |
|---|---|---|
campaign_id | число, обязательный | Идентификатор рассылки. |
with_html | да/нет | Вернуть также поля html, plain_text, amp (по умолчанию они вырезаны, чтобы не раздувать ответ). |
campaigns_create меняет #
Создать черновик рассылки. Создаёт черновик рассылки. Отправка не начинается — для этого нужно перевести рассылку в статус запуска.
Содержимое письма можно передать сразу в html, а можно наполнить позже.
Создаёт только черновик — письма не уходят. Запуск отдельными инструментами campaigns_schedule и campaigns_send_now. from_email должен быть из senders_list. В html обязательна ссылка отписки вида <a id="unsub_link" href="%ОТПИСАТЬСЯ%">Отписаться</a>, в plain_text — метка %ОТПИСАТЬСЯ%; без них запуск будет отклонён.
| Аргумент | Тип | Описание |
|---|---|---|
list_id | число или массив, обязательный | Адресная база. Для рассылки по нескольким базам передайте JSON-массив идентификаторов: "[128341,128342]". Один id числом или массив id. |
subject | строка, обязательный | Тема письма. Поддерживает подстановки вида %ИМЯ%. |
from_email | строка, обязательный | Адрес отправителя. Домен должен быть подтверждён в аккаунте. |
from_name | строка, обязательный | Имя отправителя. |
name | строка | Внутреннее название рассылки, получателям не видно. |
html | строка | HTML-версия письма. Вместо вёрстки можно передать id сохранённого шаблона числом, либо tmpl<campaign_id>, чтобы взять вёрстку другой рассылки. |
plain_text | строка | Текстовая версия письма. |
amp | строка | AMP-версия письма. Требует включённой поддержки AMP на аккаунте. |
track_opens | строка | Отслеживать открытия. Значения: Y, N. |
track_clicks | строка | Отслеживать клики. Значения: Y, N. |
plain_clicks | строка | Отслеживать клики и в текстовой версии. Значения: Y, N. |
esegment | объект или массив или строка | Условия сегментации базы. Структура: {"match":"and","c":[{"field":"…","op":"…","value":"…"}]}. При рассылке по нескольким базам — объект, где ключ это list_id. Передавай объектом или массивом; готовая JSON-строка тоже принимается. |
external_campaign_id | строка | Ваш идентификатор рассылки для сопоставления с внешней системой. |
personalizeToEmail | строка | Подставлять имя получателя в поле «Кому». |
to_email | строка | Шаблон отображаемого имени получателя, например %ИМЯ%. |
analytics | строка | Добавлять UTM-метки к ссылкам. Значения: Y, N. |
analytics_tag | строка | Значение utm_campaign. |
analytics_source | строка | Значение utm_source. |
analytics_medium | строка | Значение utm_medium. |
analytics_content | строка | Значение utm_content. |
analytics_term | строка | Значение utm_term. |
allow_time_zone | да/нет | Отправлять с учётом часового пояса получателя. |
allow_best_time | да/нет | Отправлять в наиболее удачное для получателя время. |
limit | число | Ограничить скорость отправки — сколько писем за интервал wait_time. |
wait_time | число | Интервал ограничения скорости в минутах. |
no_images_add | да/нет | Не добавлять изображения автоматически. |
dialogs_enabled | да/нет | Включить приём ответов через Даша.Диалоги. Несовместимо с собственным Reply-To — при конфликте побеждают диалоги. |
stat_domain | строка | Домен для ссылок статистики. Должен быть подтверждён в аккаунте. |
campaigns_update меняет #
Изменить черновик рассылки. Меняет только переданные поля рассылки. Изменять можно рассылки в статусах DRAFT, SCHEDULE, TRIGGER и TEMPLATE; уже отправляющуюся изменить нельзя. Запуск отправки — отдельными инструментами campaigns_schedule и campaigns_send_now.
| Аргумент | Тип | Описание |
|---|---|---|
campaign_id | число, обязательный | Идентификатор рассылки. |
subject | строка | Тема письма. |
from_email | строка | Адрес отправителя. |
from_name | строка | Имя отправителя. |
name | строка | Внутреннее название. |
list_id | число или массив | Сменить адресную базу или набор баз. Один id числом или массив id. |
html | строка | HTML-версия письма. |
plain_text | строка | Текстовая версия письма. |
esegment | объект или массив или строка | Условия сегментации. Передавай объектом или массивом; готовая JSON-строка тоже принимается. |
track_opens | строка | Отслеживание открытий. Значения: Y, N. |
track_clicks | строка | Отслеживание кликов. Значения: Y, N. |
stat_domain | строка | Домен статистики. |
campaigns_schedule отправляет #
Запланировать отправку рассылки. Запускает черновик по расписанию: рассылка уйдёт всей аудитории базы (с учётом сегмента) в delivery_time по московскому времени. Перед запуском API проверяет тему, отправителя, текст письма и ссылку отписки.
Отменить через API нельзя — только в кабинете.
Действие необратимо: уходят письма. Перед вызовом покажи пользователю параметры и дождись явного подтверждения.
| Аргумент | Тип | Описание |
|---|---|---|
campaign_id | число, обязательный | Идентификатор рассылки. |
delivery_time | строка, обязательный | Время запланированной отправки. Обязателен при status=SCHEDULE. Формат YYYY-MM-DD HH:MM:SS, московское время. |
campaigns_send_now отправляет #
Отправить рассылку сейчас. Запускает черновик немедленно: рассылка уходит всей аудитории базы (с учётом сегмента) сразу после модерации. Перед запуском API проверяет тему, отправителя, текст письма и ссылку отписки.
Отменить через API нельзя — только в кабинете.
Действие необратимо: уходят письма. Перед вызовом покажи пользователю параметры и дождись явного подтверждения.
| Аргумент | Тип | Описание |
|---|---|---|
campaign_id | число, обязательный | Идентификатор рассылки. |
campaigns_pause меняет #
Приостановить отправку. Приостанавливает идущую рассылку. Уже отправленные письма не отзываются.
| Аргумент | Тип | Описание |
|---|---|---|
campaign_id | число, обязательный | Идентификатор рассылки. |
campaigns_resume меняет #
Возобновить отправку. Продолжает рассылку, поставленную на паузу, с того места, где она остановилась.
| Аргумент | Тип | Описание |
|---|---|---|
campaign_id | число, обязательный | Идентификатор рассылки. |
campaigns_resend_unopened отправляет #
Переотправить неоткрывшим. Создаёт новую рассылку по тем получателям исходной, кто её не открыл. Обычный приём — повторить письмо через несколько дней с другой темой.
Действие необратимо: уходят письма. Перед вызовом покажи пользователю параметры и дождись явного подтверждения.
| Аргумент | Тип | Описание |
|---|---|---|
campaign_id | число, обязательный | Идентификатор исходной рассылки. |
new_subject | строка | Тема повторного письма. По умолчанию берётся исходная. |
campaigns_copy меняет #
Скопировать рассылку. Создаёт копию рассылки вместе с вёрсткой. Копия отправленной или заблокированной рассылки всегда получает статус DRAFT.
Удобный способ сделать новую рассылку по образцу старой: копия создаётся черновиком.
| Аргумент | Тип | Описание |
|---|---|---|
campaign_id | число, обязательный | Идентификатор исходной рассылки. |
name | строка | Название копии. По умолчанию совпадает с исходным. |
folders_list читает #
Папки рассылок. Список папок, по которым разложены рассылки.
| Аргумент | Тип | Описание |
|---|---|---|
id | число | Вернуть одну папку. |
name | строка | Найти папку по точному названию. |
campaigns_move_to_folder меняет #
Переместить рассылку в папку. Перекладывает рассылку в указанную папку.
| Аргумент | Тип | Описание |
|---|---|---|
campaign_id | число, обязательный | Идентификатор рассылки. |
folder_id | число, обязательный | Идентификатор папки из списка папок. |
campaigns_delete удаляет #
Удалить черновик рассылки. Удаляет рассылку, только если она черновик или шаблон (статус DRAFT или TEMPLATE). Отправленные и запланированные рассылки не трогает. Действие необратимо. Перед вызовом получи явное подтверждение пользователя.
| Аргумент | Тип | Описание |
|---|---|---|
campaign_id | число, обязательный | Идентификатор рассылки. |
Шаблоны #
templates_list читает #
Сохранённые шаблоны аккаунта. Возвращает рассылки в статусе TEMPLATE — без вёрстки, только идентификатор, название и папку. Чтобы получить HTML, запросите рассылку через её эндпоинт.
| Аргумент | Тип | Описание |
|---|---|---|
id | число | Вернуть одну запись. |
name | строка | Найти по точному названию. |
templates_gallery читает #
Готовые шаблоны из галереи. Возвращает сохранённые HTML-шаблоны аккаунта вместе с вёрсткой, от новых к старым.
| Аргумент | Тип | Описание |
|---|---|---|
id | число | Вернуть один шаблон. |
name | строка | Найти шаблон по точному названию. |
templates_create меняет #
Сохранить HTML-шаблон. Сохраняет вёрстку как HTML-шаблон.
В template можно передать либо саму вёрстку, либо число — идентификатор рассылки, чью вёрстку нужно сохранить.
| Аргумент | Тип | Описание |
|---|---|---|
name | строка, обязательный | Название шаблона. |
template | строка, обязательный | HTML-вёрстка либо campaign_id числом. |
campaign_id | число | Рассылка-источник вёрстки. Указывается вместе с числовым template. |
Автоматизации #
automations_list читает #
Автоматизации. Возвращает автоматизации аккаунта вместе с настройками события и задержки.
| Аргумент | Тип | Описание |
|---|---|---|
id | число | Вернуть одну автоматизацию. |
automations_trigger отправляет #
Запустить автоматизацию для адреса. Отправляет письмо автоматизации конкретному подписчику, не дожидаясь события. Удобно для проверки вёрстки и для сценариев, где момент отправки решает ваша система.
Примечание. Предыдущая отправка этого письма тому же подписчику сбрасывается, поэтому повторный запуск сработает даже если письмо уже уходило.
Действие необратимо: уходят письма. Перед вызовом покажи пользователю параметры и дождись явного подтверждения.
| Аргумент | Тип | Описание |
|---|---|---|
campaign_id | число, обязательный | Идентификатор автоматизации. |
email | строка, обязательный | Адрес получателя. Подписчик должен существовать в аккаунте. |
member_id | число | Идентификатор подписчика вместо адреса. |
delay | число | Задержка в секундах. Без неё письмо уходит немедленно, с ней — планируется на указанное время. |
Отчёты #
reports_summary читает #
Сводка по рассылке или по аккаунту. Главные показатели рассылки одним объектом. Отсюда стоит начинать: остальные отчёты нужны, когда требуется детализация.
Примечание. Параметр fast отдаёт заранее посчитанные значения — это заметно быстрее, но несовместимо с фильтром по времени.
Без campaign_id (или с 0) — сводка по всему аккаунту за период time_start…time_end; detailed=1 разбивает её по рассылкам. Метрики: sent отправлено, unique_opened уникальные открытия, opened все открытия, unique_clicked уникальные клики, unsubscribed, complained, hard/soft — возвраты. OR = unique_opened / sent, CTR = unique_clicked / sent, CTOR = unique_clicked / unique_opened. За период sent не возвращается.
| Аргумент | Тип | Описание |
|---|---|---|
campaign_id | число | Идентификатор рассылки. |
fast | да/нет | Взять готовые агрегаты вместо пересчёта. Игнорируется, если задан период. |
time_start | строка | Начало периода. При заданном периоде поле sent из ответа исключается. Формат YYYY-MM-DD HH:MM:SS, московское время. |
time_end | строка | Конец периода. Формат YYYY-MM-DD HH:MM:SS, московское время. |
detailed | число | Со значением 1 сводка разбивается по рассылкам. |
reports_recipients читает #
Получатели по событию. Возвращает подписчиков, с которыми произошло указанное событие. Один и тот же формат для семи метрик: sent, delivered, opened, clicked, bounced, complained, unsubscribed.
metric: sent, delivered, opened, clicked, bounced, complained, unsubscribed. Постранично через start/limit.
| Аргумент | Тип | Описание |
|---|---|---|
campaign_id | число, обязательный | Идентификатор рассылки. |
metric | строка, обязательный | Событие. Значения: sent, delivered, opened, clicked, bounced, complained, unsubscribed. |
start | число | Смещение. |
limit | число | Размер страницы. |
order | строка | Сортировка, см. список полей. |
reports_events читает #
Лента событий рассылки. Все события рассылки в одном потоке, с фильтрами по времени, типу и подписчику. Подходит для синхронизации событий с вашей аналитикой.
Примечание. По умолчанию берутся события за сегодня. Чтобы получить события за другой период, задайте time_start и time_end явно.
| Аргумент | Тип | Описание |
|---|---|---|
campaign_id | число, обязательный | Идентификатор рассылки. |
time_start | строка | Начало периода. Формат YYYY-MM-DD HH:MM:SS, московское время. |
time_end | строка | Конец периода. Формат YYYY-MM-DD HH:MM:SS, московское время. |
event_type | строка | Оставить события одного типа. Значения: SENT, OPENED, CLICKED, PREVIEW, UNSUBSCRIBED, COMPLAINED, BOUNCED. |
email | строка | События одного подписчика. |
merge | объект или массив или строка | Дополнительные поля подписчика, которые нужно приложить к каждому событию — например ["merge_1","merge_2"]. Передавай объектом или массивом; готовая JSON-строка тоже принимается. |
start | число | Смещение. |
limit | число | Размер страницы. |
order | строка | Сортировка. |
reports_links читает #
Клики по ссылкам. Сколько раз кликнули по каждой ссылке письма, от популярных к редким.
| Аргумент | Тип | Описание |
|---|---|---|
campaign_id | число, обязательный | Идентификатор рассылки. |
reports_link_clickers читает #
Кто кликнул по ссылке. Подписчики, кликнувшие по указанной ссылке, со временем клика. Выборка ограничена последним годом.
| Аргумент | Тип | Описание |
|---|---|---|
campaign_id | число, обязательный | Идентификатор рассылки. |
url | строка, обязательный | Ссылка целиком, в точности как в отчёте по кликам. |
reports_bounces читает #
Возвраты по SMTP-кодам. Группировка возвратов по SMTP-кодам с расшифровкой. Помогает понять, дело в несуществующих адресах или в репутации отправителя.
| Аргумент | Тип | Описание |
|---|---|---|
campaign_id | число, обязательный | Идентификатор рассылки. |
reports_domains читает #
Статистика по почтовым доменам получателей. Доставляемость и вовлечённость в разрезе почтовых провайдеров. Проседание по одному домену обычно означает проблему с репутацией именно у него.
| Аргумент | Тип | Описание |
|---|---|---|
campaign_id | число, обязательный | Идентификатор рассылки. |
time_start | строка | Начало периода. Формат YYYY-MM-DD HH:MM:SS, московское время. |
time_end | строка | Конец периода. Формат YYYY-MM-DD HH:MM:SS, московское время. |
start | число | Смещение. |
limit | число | Размер страницы. |
order_field | строка | Поле сортировки. |
order_type | строка | Направление сортировки. Значения: asc, desc. |
reports_geo читает #
География открытий. Распределение событий по регионам. Ключ — код региона, значение — количество событий.
| Аргумент | Тип | Описание |
|---|---|---|
campaign_id | число, обязательный | Идентификатор рассылки. |
reports_clients читает #
Устройства, браузеры и почтовые клиенты. Чем получатели читают письмо: браузеры, десктопные клиенты, мобильные устройства. Полезно перед изменением вёрстки.
| Аргумент | Тип | Описание |
|---|---|---|
campaign_id | число, обязательный | Идентификатор рассылки. |
Транзакционные письма #
transactional_send отправляет #
Отправить транзакционное письмо. Ставит письмо в очередь отправки и сразу возвращает его идентификатор. Фактическая доставка происходит асинхронно — следите за ней через проверку статуса или webhooks.
Нужны как минимум три вещи: получатель, отправитель (from_email либо заголовок From внутри headers) и текст письма (message либо plain_text).
Примечание. В to можно перечислить несколько адресов через запятую. Тогда каждому уйдёт отдельное письмо, а в message_id можно передать столько же идентификаторов, тоже через запятую.
Одно письмо одному или нескольким адресам (to через запятую). Домен from_email должен быть подтверждён (domains_list). message_id — свой идентификатор для идемпотентности и последующего transactional_get.
Действие необратимо: уходят письма. Перед вызовом покажи пользователю параметры и дождись явного подтверждения.
| Аргумент | Тип | Описание |
|---|---|---|
to | строка, обязательный | Адрес получателя. Допустима форма Иван Петров <ivan@example.com>. Несколько адресов перечисляются через запятую. |
from_email | строка, обязательный | Адрес отправителя на подтверждённом домене. Можно не передавать, если заголовок From задан внутри headers. |
message | строка, обязательный | HTML-версия письма. Можно не передавать, если задан plain_text. |
from_name | строка | Имя отправителя. Без него в поле «От кого» подставится сам адрес. |
subject | строка | Тема письма. |
plain_text | строка | Текстовая версия письма. |
message_id | строка | Ваш идентификатор письма. Если не задан, генерируется автоматически и возвращается в ответе. |
cc | строка | Копия. Несколько адресов — через запятую. |
bcc | строка | Скрытая копия. |
headers | объект или массив или строка | Произвольные заголовки письма объектом — например {"Reply-To":"support@example.ru"}. Заданный здесь From заменяет from_email. Передавай объектом или массивом; готовая JSON-строка тоже принимается. |
attachments | объект или массив или строка | Массив вложений: [{"name":"чек.pdf","filebody":"<base64>"}]. Файлы .php и .exe запрещены, суммарный размер ограничен тарифом. Передавай объектом или массивом; готовая JSON-строка тоже принимается. |
inline | объект или массив или строка | Встроенные в вёрстку изображения: [{"cid":"logo","mime_type":"image/png","filename":"logo.png","body":"<base64>"}]. В HTML на них ссылаются как <img src="cid:logo">. Допустимы только image/jpeg, image/png, image/gif. Передавай объектом или массивом; готовая JSON-строка тоже принимается. |
delivery_time | число | Unix-время отложенной отправки. Без него письмо уходит немедленно. Unix-время. |
domain | строка | Домен отправки, если в аккаунте их несколько. |
stat_domain | строка | Домен для ссылок отслеживания. |
transactional_get читает #
Статус транзакционного письма. Возвращает текущий статус письма и historию его событий. Данные появляются через несколько секунд после отправки.
Примечание. Поиск по конкретному письму доступен за последние шесть месяцев. За более старыми данными обращайтесь к журналу.
Возвращает текущий статус и историю: 5 Sent, 3 Delivered, 7 Opened, 6 Clicked, 4 Bounced, 9 Complained, 8 Unsubscribed. Глубина — 6 месяцев.
| Аргумент | Тип | Описание |
|---|---|---|
transaction_id | строка, обязательный | Идентификатор письма из ответа на отправку. |
transactional_log читает #
Журнал транзакционных писем. События транзакционных писем аккаунта с фильтрами. Основной инструмент для разбора инцидентов: «почему клиент не получил письмо».
Ошибка с code 34 означает, что в аккаунте не настроен домен транзакционной отправки (domains_list) — журнала нет, это не сбой.
| Аргумент | Тип | Описание |
|---|---|---|
start | число | Смещение. |
limit | число | Размер страницы. |
sort | строка | Направление сортировки по времени события. Значения: ASC, DESC. |
message_id | строка | События одного письма. |
campaign_id | строка | События одной кампании. |
event_type | строка | Типы событий через запятую либо all. Значения: SENT, DELIVERED, OPENED, CLICKED, BOUNCED, COMPLAINED, UNSUBSCRIBED, all. |
emails | строка | Адреса получателей через запятую. |
from | строка | Начало периода. Формат YYYY-MM-DD HH:MM:SS, московское время. |
to | строка | Конец периода. Формат YYYY-MM-DD HH:MM:SS, московское время. |
url | строка | Фильтр по ссылке для событий клика. |
transactional_stats читает #
Статистика транзакционных писем по периодам. Агрегированные показатели транзакционных писем за период, разложенные по временным интервалам. Годится для построения графиков доставляемости.
Примечание. Ширина интервала подбирается по периоду автоматически: пять минут для 1h, час для 24h, сутки для 7d и 30d.
Ошибка с code 34 означает, что в аккаунте не настроен домен транзакционной отправки — статистики нет, это не сбой.
| Аргумент | Тип | Описание |
|---|---|---|
period | строка | Период отчёта. Значение custom включает start_date и finish_date. Значения: 1h, 24h, 7d, 30d, custom. |
start_date | строка | Начало периода при period=custom. Формат YYYY-MM-DD HH:MM:SS, московское время. |
finish_date | строка | Конец периода при period=custom. Формат YYYY-MM-DD HH:MM:SS, московское время. |
groupby | строка | Шаг группировки при period=custom. Значения: hour, day, week, month. |
campaign_id | строка | Только письма указанной кампании. |
domain | строка | Только письма с указанного домена отправки. |
start | число | Смещение. |
limit | число | Размер страницы. |
Вебхуки #
webhooks_list читает #
Вебхуки массовых рассылок. Текущие адреса, на которые уходят события массовых рассылок — объект вида «событие → URL».
| Аргумент | Тип | Описание |
|---|---|---|
event_name | строка | Вернуть настройку только одного события. Значения: open, click, hard, spam, unsub, subscribe, confirm. |
webhooks_set меняет #
Задать URL вебхука массовых рассылок. Задаёт адреса приёма событий. Ключ каждого параметра — имя события, значение — URL. Передавайте только те события, которые нужно изменить; пустая строка отключает событие.
Одно событие — один URL (https). Пустой url отключает событие. События: open, click, hard, spam, unsub, subscribe, confirm.
| Аргумент | Тип | Описание |
|---|---|---|
url | строка, обязательный | Служебный параметр запроса — продублируйте сюда любой из указанных выше адресов. |
event | строка, обязательный | Служебный параметр запроса — имя настраиваемого события. |
webhooks_delete удаляет #
Удалить вебхук массовых рассылок. Отключает приём событий указанного типа.
Внимание. Если event_name не распознан, удаляются настройки всех событий сразу. Проверяйте имя события перед вызовом.
Действие необратимо. Перед вызовом получи явное подтверждение пользователя.
| Аргумент | Тип | Описание |
|---|---|---|
event_name | строка, обязательный | Имя события. Значения: open, click, hard, spam, unsub, subscribe, confirm. |
webhooks_list_transactional читает #
Вебхуки транзакционных писем. Адреса приёма событий транзакционных писем. Набор событий отличается от массовых рассылок — здесь есть send, delivered и dropped.
| Аргумент | Тип | Описание |
|---|---|---|
event_name | строка | Вернуть настройку одного события. Значения: dropped, open, click, hard, spam, unsub, delivered, send. |
webhooks_set_transactional меняет #
Задать URL вебхука транзакционных писем. Задаёт адреса приёма событий транзакционных писем. Формат тот же, что и для массовых рассылок: ключ — имя события, значение — URL.
Одно событие — один URL (https). Пустой url отключает событие. События: send, delivered, dropped, open, click, hard, spam, unsub.
| Аргумент | Тип | Описание |
|---|---|---|
url | строка, обязательный | Служебный параметр запроса — продублируйте сюда любой из указанных выше адресов. |
event | строка, обязательный | Служебный параметр запроса — имя настраиваемого события. |
webhooks_delete_transactional удаляет #
Удалить вебхук транзакционных писем. Отключает приём событий указанного типа для транзакционных писем.
Внимание. Как и для массовых рассылок: нераспознанное имя события приводит к удалению настроек всех событий.
Действие необратимо. Перед вызовом получи явное подтверждение пользователя.
| Аргумент | Тип | Описание |
|---|---|---|
event_name | строка, обязательный | Имя события. Значения: dropped, open, click, hard, spam, unsub, delivered, send. |
Обработка входящих #
router_routes_list читает #
Маршруты входящей почты. Все маршруты аккаунта в порядке применения — по возрастанию priority.
Без аргументов.
router_messages_list читает #
Входящие письма Роутера. Письма, сохранённые действием store. Тело письма в список не входит — забирайте его поштучно.
| Аргумент | Тип | Описание |
|---|---|---|
route_id | число | Только письма указанного маршрута. |
recipient | строка | Фильтр по адресу получателя. |
since | строка | Письма, полученные не раньше. Формат YYYY-MM-DD HH:MM:SS, московское время. |
until | строка | Письма, полученные не позже. Формат YYYY-MM-DD HH:MM:SS, московское время. |
limit | число | Размер страницы. |
offset | число | Смещение. |
router_messages_get читает #
Одно входящее письмо Роутера. Возвращает разобранное письмо: заголовки, текстовую и HTML-версии, перечень вложений.
| Аргумент | Тип | Описание |
|---|---|---|
message_id | число, обязательный | Идентификатор письма. |
router_deliveries_list читает #
Доставки Роутера. Попытки доставки писем на ваши webhook-адреса и адреса пересылки. Первое место, куда стоит смотреть, если письма до вашей системы не доходят.
| Аргумент | Тип | Описание |
|---|---|---|
route_id | число | Только доставки указанного маршрута. |
status | строка | Фильтр по результату доставки. |
recipient | строка | Фильтр по адресу получателя исходного письма. |
since | строка | Не раньше указанного момента. Формат YYYY-MM-DD HH:MM:SS, московское время. |
until | строка | Не позже указанного момента. Формат YYYY-MM-DD HH:MM:SS, московское время. |
limit | число | Размер страницы. |
offset | число | Смещение. |
Служебные #
whoami читает #
Кто я. Аккаунт, от имени которого работает подключение: идентификаторы, логин, права токена, а при праве account.read — тариф и баланс; плюс активный набор инструментов и режим «только чтение». Вызывай первым, если не знаешь, с каким аккаунтом работаешь.
Без аргументов.
get_dashboard_link читает #
Ссылка на страницу кабинета. Ссылка на страницу личного кабинета DashaMail — когда пользователю удобнее доделать руками: отчёт по рассылке, подписчики базы, поля базы, API-ключи.
| Аргумент | Тип | Описание |
|---|---|---|
kind | строка, обязательный | Какая страница. Значения: campaigns, campaign_report, campaign_activity, lists, list_members, list_fields, api_keys. |
id | число | id рассылки или базы — для страниц, где он нужен. |