Sendsay API: Запустить массовую рассылку

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

Рассылка по списку получателей — из готового черновика или с текстом в запросе.

  1. Вызови action = issue.send с group = masssending и sendwhen = now.
  2. В letter передай draft.id существующего черновика — или тему, отправителя и HTML прямо в запросе.
  3. Получателей задай в users.list. Переменные в тексте вида [% anketa.personal.product %] должны совпадать с ключами данных, которые ты передаёшь.
  4. Ход выполнения задания виден в журнале заданий: https://app.sendsay.ru/queue.
curl -L -X POST "https://api.sendsay.ru/general/api/v100/json/<аккаунт>" \
  -H 'Content-Type: application/json' \
  -d '{
        "action": "issue.send",
        "apikey": "<API-ключ>",
        "sendwhen": "now",
        "group": "masssending",
        "letter": {"draft.id": 125},
        "users.list": [
          {"member": {"email": "ivan@example.ru"}, "personal": {"product": "кружка"}},
          {"member": {"email": "anna@example.ru"}, "personal": {"product": "чайник"}}
        ]
      }'

Базовые URL

Авторизация

Тип: API-ключ

Рекомендуемый способ — API-ключ (создаётся вызовом sys.user.apikey.create, лучше на отдельный саблогин с минимальными правами). Ключ передаётся полем apikey в теле JSON или заголовком Authorization: sendsay apikey=... (ключ URL-кодируется). Аутентификация действует на один вызов, выход не нужен. Также поддерживаются логин с паролем (сессия), JWT, двухфакторная аутентификация и OpenID.

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

POST /general/api/v100/json/{account} — issue.send: транзакционное письмо

В ответе — letter, по нему письмо отслеживается в статистике.

Параметр Где Тип Обяз. Описание
account path string да Код аккаунта
action body string да issue.send
sendwhen body string да now — отправить сразу
group body string да personal
email body string да Получатель
letter.subject body string да Тема
letter.from.name body string нет Имя отправителя
letter.from.email body string да Адрес отправителя
letter.message.html body string да HTML-текст
extra body object нет Значения для подстановки в шаблон
relink body integer нет Перелинковка ссылок

POST /general/api/v100/json/{account} — issue.send: массовая рассылка

Переменные в тексте вида [% anketa.personal.product %] должны совпадать с ключами в запросе.

Параметр Где Тип Обяз. Описание
account path string да Код аккаунта
action body string да issue.send
name body string нет Название черновика
sendwhen body string да now
group body string да masssending
letter body object да draft.id существующего черновика либо тема, отправитель и HTML
users.list body object нет Получатели: массив с блоками member и personal или объект caption + rows

Нюансы

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


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