DashaMail REST API v2: Отправить транзакционное письмо

Сценарий из mcp-everything. Актуально на 2026-10-24.

Письма по событию: заказ оплачен, восстановление пароля, счёт.

  1. Создай API-ключ в личном кабинете и передавай его в заголовке Authorization: Bearer <ключ>. Домен отправителя должен быть добавлен и подтверждён (DKIM, SPF), иначе письма не уйдут (код 34).
  2. Отправь письмо: POST /v2/transactional/messages с to, from_email, subject и message (HTML) или plain_text. message_id — твой ID письма, по нему удобно искать.
  3. Доставка асинхронная: ответ 201 с response.data.transaction_id.
  4. Проверь статус и историю событий письма: GET /v2/transactional/messages/{transaction_id} — данные хранятся 6 месяцев.
  5. Вложения передаются в attachments JSON-строкой с файлами в base64; файлы .php и .exe запрещены.
curl -X POST https://api.dashamail.com/v2/transactional/messages \
  -H "Authorization: Bearer $DASHAMAIL_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
        "to": "ivan@example.ru",
        "from_email": "noreply@example.ru",
        "from_name": "Магазин",
        "subject": "Заказ №1042 оплачен",
        "message": "<p>Спасибо! Мы начали собирать ваш заказ.</p>",
        "message_id": "order-1042-paid"
      }'

Базовые URL

Авторизация

Тип: Bearer-токен

API-ключ из личного кабинета передаётся в заголовке Authorization: Bearer <ключ> (схема ApiKey тоже принимается). Для совместимости ключ можно передать параметром api_key в строке запроса — менее безопасно; при заданном заголовке параметр игнорируется.

curl 'https://api.dashamail.com/v2/lists' \
  -H 'Authorization: Bearer YOUR_API_KEY'

Методы сценария

POST /v2/transactional/messages — Транзакционное письмо

Доставка асинхронная; ответ 201 с response.data.transaction_id.

Параметр Где Тип Обяз. Описание
to body string да Получатель; несколько — через запятую (каждому отдельное письмо)
from_email body string да Отправитель (можно заменить заголовком From в headers)
message body string нет HTML; нужен он или plain_text
plain_text body string нет Текстовая версия
from_name body string нет Имя отправителя
subject body string нет Тема
message_id body string нет Свой ID письма
cc body string нет Копия
bcc body string нет Скрытая копия
headers body string нет Заголовки (JSON-строка)
attachments body string нет Вложения в base64 (JSON-строка); .php, .exe запрещены
inline body string нет Встраиваемые изображения (JPEG, PNG, GIF), ссылка cid:
delivery_time body integer нет Отложенная отправка, timestamp

Пример запроса:

curl -X POST 'https://api.dashamail.com/v2/transactional/messages' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"to": "ivan@example.com", "from_email": "noreply@example.ru", "subject": "Заказ №1024 оплачен", "message": "<p>...</p>", "message_id": "order-1024-paid"}'

GET /v2/transactional/messages/{transaction_id} — Статус транзакционного письма

Статус и история событий доступны за последние 6 месяцев.

Параметр Где Тип Обяз. Описание
transaction_id path string да ID письма

Нюансы

Другие сценарии


Если этого недостаточно — официальная документация: https://dashamail.ru/api/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/dashamail.md