Всё, что вы можете делать в Zinn® Campaigns на панели управления, также можно делать через API, а большую часть — с помощью ИИ-ассистента, подключённого к вашей учётной записи через MCP. В этом руководстве рассматриваются вход в систему, разрешения, практический пример для обоих способов, ограничения, ошибки и каждая из 89 операций Campaigns. Приведённый ниже список операций сформирован на основе нашей спецификации API, поэтому он всегда соответствует возможностям API. Каждое поле каждой операции описано в справочнике по API по адресу zinndigital.com/developers/api/zinn-campaigns.
Вход в систему
- Ключи API. Создайте ключ на панели управления в разделе Настройки → Ключи API и отправляйте его в виде
Authorization: Bearer zdk_live_… (ключ zdk_test_… работает в режиме песочницы). Предоставьте ключу только необходимые разрешения для Campaigns и ничего лишнего.
- ИИ-ассистенты (MCP). Подключите Claude, ChatGPT, Cursor или любой MCP-клиент к
https://api.zinndigital.com/v1/mcp, выполнив вход из приложения или с помощью токена подключения (zmcp_live_…). См. Подключение Claude, Cursor или ChatGPT к вашей учетной записи. На экране согласия отметьте разрешения для Zinn® Campaigns.
- Разрешения.
email_marketing.view считывает кампании, списки, контакты, формы, отправителей, настройки SMS и отчеты; email_marketing.manage создает и изменяет их. Кампании, которые вы отправляете через собственную службу электронной почты, используют campaigns.view и campaigns.manage.
- Реселлеры. Передайте
org_id, чтобы выполнять действия от имени одной из ваших клиентских организаций. Опустите его, если ваш ключ или подключение относится только к одной организации.
Пример: создание черновика кампании с помощью API
curl -X POST https://api.zinndigital.com/v1/email-marketing/campaigns \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{
"name": "Spring sale",
"subject": "Our spring sale starts today",
"list_id": "<list id>",
"sender_id": "<sender id>",
"template": "basic"
}'
Ответ — 201 с черновиком. Протестируйте его с помощью POST /v1/email-marketing/campaigns/{campaign_id}/test, проверьте с помощью GET /v1/email-marketing/campaigns/{campaign_id}/lint и отправьте с помощью POST /v1/email-marketing/campaigns/{campaign_id}/send.
Пример: тот же черновик от ИИ-ассистента
Попросите своего ассистента простыми словами, например: «создай черновик письма Zinn® Campaigns под названием Spring sale с темой «Наша весенняя распродажа начинается сегодня»». За кулисами он находит операцию с помощью api_operations_search, считывает ее параметры с помощью api_operation_get и запускает ее с помощью api_operation_call:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "api_operation_call",
"arguments": {
"operation_id": "createEmailMarketingCampaign",
"confirm": true,
"body": {
"name": "Spring sale",
"subject": "Our spring sale starts today"
}
}
}
}
Чего ассистент делать не будет. Всё, что отправляет сообщения вашим получателям либо расходует деньги или лимиты — отправка кампании, отправка SMS или сообщений WhatsApp, написание текстов с использованием кредитов ИИ, регистрация для отправки текстовых сообщений в US, — для ассистента заблокировано, поэтому ошибочно понятая инструкция никогда не дойдет до ваших клиентов. Ассистент готовит черновик; вы нажимаете Отправить на панели управления или вызываете API самостоятельно. Конфиденциальные данные, такие как пароль SMTP, также никогда не передаются через ассистента: вводите их на панели управления.
Ограничения
- 1 200 запросов в минуту для каждого пользователя или ключа API и 6 000 запросов в минуту для каждой организации. Применяется более строгое из двух ограничений.
- 600 запросов в минуту для каждого подключения MCP.
- При превышении лимита возвращается ответ
429 с заголовком Retry-After: подождите указанное количество секунд.
- Добавление участников списка поддерживает не более 1 000 адресов за один запрос; лимиты контактов и электронных писем вашего тарифного плана распространяются на всё, что вы делаете через API.
Ошибки
Каждая ошибка имеет одинаковую структуру:
{"error": {"code": "UNPROCESSABLE_ENTITY", "message": "…", "details": [{"field": "subject", "code": "REQUIRED", "message": "…"}], "request_id": "…"}}
code никогда не меняется для одной и той же проблемы, поэтому проверяйте его, а не message. Указывайте request_id при обращении в службу поддержки. Ответы, с которыми вы встретитесь: 401 UNAUTHORIZED, 403 FORBIDDEN, 404 NOT_FOUND, 409 CONFLICT, 422 UNPROCESSABLE_ENTITY, 429 TOO_MANY_REQUESTS. Код 403 означает, что у ключа или подключения отсутствует разрешение, указанное в списке ниже; 404 также охватывает объекты в организации, которые вы не видите; 422 перечисляет каждое неверное поле в details; после 429 подождите количество секунд, указанное в заголовке Retry-After.
Вебхуки
Результаты доставки поступают в Zinn® Campaigns от провайдера, отправляющего ваши электронные письма:
- При использовании собственного провайдера (например, Resend) сохраните его секрет подписи вебхука в подключении для отправки на панели управления (Кампании → Отправка). Вы получите
webhook_url; направьте на него события доставки, возврата (bounced) и жалоб провайдера. Возврат или жалоба на спам немедленно удаляют адрес из будущих отправок.
- При отправке через Zinn® ничего настраивать не требуется.
Читайте результаты с помощью операций отчетов (getEmailMarketingCampaignReport, getSmsMarketingCampaignReport).
Все операции Campaigns
Обзор
GET /v1/email-marketing — обзор Zinn® Campaigns для одной организации. Операция getEmailMarketingOverview. Проверяемые разрешения: email_marketing.view. Из ИИ-ассистента: да, через MCP.
Электронные кампании
GET /v1/email-marketing/campaigns — Email-кампании, сначала новые, одна страница по ключу (keyset). Операция listEmailMarketingCampaigns. Проверяемые разрешения: email_marketing.view. Из ИИ-ассистента: да, через MCP.
POST /v1/email-marketing/campaigns — Создать черновик email-кампании. Операция createEmailMarketingCampaign. Проверяемые разрешения: email_marketing.manage, email_marketing.view. Из ИИ-ассистента: да, через MCP.
GET /v1/email-marketing/campaigns/{campaign_id} — Одна email-кампания. Операция getEmailMarketingCampaign. Проверяемые разрешения: email_marketing.view. Из ИИ-ассистента: да, через MCP.
PATCH /v1/email-marketing/campaigns/{campaign_id} — Редактировать черновик (или отклоненную кампанию, которая возвращается в статус черновика). Операция updateEmailMarketingCampaign. Проверяемые разрешения: email_marketing.manage, email_marketing.view. Из ИИ-ассистента: да, через MCP.
GET /v1/email-marketing/campaigns/{campaign_id}/lint — Проверить текст кампании на проблемы с доставляемостью перед ее отправкой. Операция lintEmailMarketingCampaign. Проверяемые разрешения: email_marketing.view. Из ИИ-ассистента: да, через MCP.
GET /v1/email-marketing/campaigns/{campaign_id}/report — Показатели кампании. Операция getEmailMarketingCampaignReport. Проверяемые разрешения: email_marketing.view. Из ИИ-ассистента: да, через MCP.
POST /v1/email-marketing/campaigns/{campaign_id}/send — Запустить отправку кампании ее списку получателей. Операция sendEmailMarketingCampaign. Проверяемые разрешения: email_marketing.manage, email_marketing.view. От ИИ-ассистента: только через API и панель управления: это расходует средства или лимит, поэтому действие выполняет человек (отправляет реальным получателям и расходует лимит).
POST /v1/email-marketing/campaigns/{campaign_id}/test — Отправить одну тестовую копию прямо сейчас участнику организации. Операция testEmailMarketingCampaign. Проверяемые разрешения: email_marketing.manage, email_marketing.view. От ИИ-ассистента: да, через MCP.
POST /v1/email-marketing/campaigns/{campaign_id}/translate — Перевести кампанию на каждый язык контактов, для которого перевод отсутствует или устарел. Операция translateEmailMarketingCampaign. Проверяемые разрешения: email_marketing.manage, email_marketing.view. От ИИ-ассистента: да, через MCP.
GET /v1/email-marketing/campaigns/{campaign_id}/translations — Каждый язык контактов списка кампании и статус актуальности его перевода. Операция listEmailMarketingCampaignTranslations. Проверяемые разрешения: email_marketing.view. От ИИ-ассистента: да, через MCP.
Написание текстов с помощью ИИ
POST /v1/email-marketing/ai/write — составьте черновик письма рассылки на основе краткого описания с помощью Zinn® AI. Операция writeEmailMarketingCampaignWithAi. Проверяемые разрешения: email_marketing.manage, email_marketing.view. Из ИИ-ассистента: только API и панель управления: это расходует средства или лимит, поэтому действие выполняет человек (написание текстов с помощью ИИ расходует кредиты ИИ).
Фирменный стиль
GET /v1/email-marketing/brand-kit — фирменный стиль организации (название, логотип, цвета, шрифт, тональность). Операция getEmailMarketingBrandKit. Проверяемые разрешения: email_marketing.view. Из ИИ-ассистента: да, через MCP.
PUT /v1/email-marketing/brand-kit — изменить фирменный стиль. Операция updateEmailMarketingBrandKit. Проверяемые разрешения: email_marketing.manage, email_marketing.view. Из ИИ-ассистента: да, через MCP.
POST /v1/email-marketing/brand-kit/read — прочитать фирменный стиль с веб-сайта организации. Операция readEmailMarketingBrandKit. Проверяемые разрешения: email_marketing.manage, email_marketing.view. Из ИИ-ассистента: да, через MCP.
Контакты и разовые сообщения
GET /v1/email-marketing/contacts — Контакты организации, по одной странице keyset за раз. Операция listEmailMarketingContacts. Проверяемые разрешения: email_marketing.view. Из ИИ-ассистента: да, через MCP.
POST /v1/email-marketing/contacts/{contact_id}/messages — Отправка одного SMS одному контакту с оплатой из баланса кредитов Zinn®. Операция sendEmailMarketingMessage. Проверяемые разрешения: email_marketing.manage, email_marketing.view. Из ИИ-ассистента: только API и панель управления: это расходует средства или лимит, поэтому действие выполняет человек (разовое сообщение контакту расходует лимит).
GET /v1/email-marketing/messages — Сообщения SMS и WhatsApp, отправленные организацией, сначала новые, одна страница keyset. Операция listEmailMarketingMessages. Проверяемые разрешения: email_marketing.view. Из ИИ-ассистента: да, через MCP.
Списки
GET /v1/email-marketing/lists — Списки рассылки организации с количеством подписанных / отписанных. Операция listEmailMarketingLists. Проверяемые разрешения: email_marketing.view. Из ИИ-ассистента: да, через MCP.
POST /v1/email-marketing/lists — Создать список рассылки (или вернуть список с таким именем). Операция createEmailMarketingList. Проверяемые разрешения: email_marketing.manage, email_marketing.view. Из ИИ-ассистента: да, через MCP.
POST /v1/email-marketing/lists/{list_id}/members — Добавить контакты в список по адресу электронной почты (не более 1 000 за запрос). Операция addEmailMarketingListMembers. Проверяемые разрешения: email_marketing.manage, email_marketing.view. Из ИИ-ассистента: да, через MCP.
Imports
GET /v1/email-marketing/imports — Прошлые операции импорта контактов, начиная с самых новых, по одной странице keyset за раз. Операция listEmailMarketingImports. Проверяемые разрешения: email_marketing.view. Из ИИ-ассистента: да, через MCP.
POST /v1/email-marketing/imports — Импортировать одну часть контактов с подтверждением согласия. Операция createEmailMarketingImport. Проверяемые разрешения: email_marketing.manage, email_marketing.view. Из ИИ-ассистента: да, через MCP.
Sign-up forms
GET /v1/email-marketing/forms — Формы подписки (двойное подтверждение), сначала новые, одна страница набора ключей. Операция listEmailMarketingForms. Проверяемые разрешения: email_marketing.view. Из ИИ-ассистента: да, через MCP.
POST /v1/email-marketing/forms — Создать форму подписки, которая добавляет подтвержденных пользователей в один список. Операция createEmailMarketingForm. Проверяемые разрешения: email_marketing.manage, email_marketing.view. Из ИИ-ассистента: да, через MCP.
DELETE /v1/email-marketing/forms/{form_id} — Удалить форму подписки (уже подтвержденные пользователи остаются в списке). Операция deleteEmailMarketingForm. Проверяемые разрешения: email_marketing.manage, email_marketing.view. Из ИИ-ассистента: да, через MCP.
PATCH /v1/email-marketing/forms/{form_id} — Изменить форму подписки (формулировки, список, перенаправление, включение или выключение). Операция updateEmailMarketingForm. Проверяемые разрешения: email_marketing.manage, email_marketing.view. Из ИИ-ассистента: да, через MCP.
Подключения для отправки
GET /v1/email-marketing/senders — Подключения организации для отправки. Операция listEmailMarketingSenders. Проверяемые разрешения: email_marketing.view. Из ИИ-ассистента: да, через MCP.
POST /v1/email-marketing/senders — Подключить отправителя рассылок (отправка Zinn® или собственный SMTP-сервер клиента). Операция createEmailMarketingSender. Проверяемые разрешения: email_marketing.manage, email_marketing.view. Из ИИ-ассистента: только через API и панель управления: содержит секрет, который ни в коем случае не должен попасть в модель ИИ (тело запроса является паролем SMTP).
DELETE /v1/email-marketing/senders/{sender_id} — Удалить подключение для отправки и его сохраненный пароль. Операция deleteEmailMarketingSender. Проверяемые разрешения: email_marketing.manage, email_marketing.view. Из ИИ-ассистента: да, через MCP.
POST /v1/email-marketing/senders/{sender_id}/verify — Проверить работоспособность подключения для отправки, ничего не отправляя. Операция verifyEmailMarketingSender. Проверяемые разрешения: email_marketing.manage, email_marketing.view. Из ИИ-ассистента: да, через MCP.
PUT /v1/email-marketing/senders/{sender_id}/webhook — Сохранить секретный ключ подписи вебхука вашего поставщика услуг электронной почты для этого подключения. Операция setEmailMarketingSenderWebhook. Проверяемые разрешения: email_marketing.manage, email_marketing.view. Из ИИ-ассистента: вызывается другой системой (поставщиком или посетителем), а не вами (сохраняет секретный ключ вебхука поставщика).
SMS и WhatsApp
GET /v1/email-marketing/sms — Данные для экрана SMS — открыто?, приостановлено?, баланс кредитов и цены. Операция getEmailMarketingSms. Проверяемые разрешения: email_marketing.view. Из ИИ-ассистента: да, через MCP.
GET /v1/email-marketing/sms/campaigns — Массовые SMS-кампании, сначала новые, одна страница по ключу. Операция listSmsMarketingCampaigns. Проверяемые разрешения: email_marketing.view. Из ИИ-ассистента: да, через MCP.
POST /v1/email-marketing/sms/campaigns — Создать черновик SMS для списка. Операция createSmsMarketingCampaign. Проверяемые разрешения: email_marketing.manage, email_marketing.view. Из ИИ-ассистента: да, через MCP.
GET /v1/email-marketing/sms/campaigns/{campaign_id} — Одна массовая SMS-кампания. Операция getSmsMarketingCampaign. Проверяемые разрешения: email_marketing.view. Из ИИ-ассистента: да, через MCP.
PATCH /v1/email-marketing/sms/campaigns/{campaign_id} — Изменить черновик (или отклоненную кампанию, которая возвращается в статус черновика). Операция updateSmsMarketingCampaign. Проверяемые разрешения: email_marketing.manage, email_marketing.view. Из ИИ-ассистента: да, через MCP.
GET /v1/email-marketing/sms/campaigns/{campaign_id}/report — Статистика массовой SMS-кампании. Операция getSmsMarketingCampaignReport. Проверяемые разрешения: email_marketing.view. Из ИИ-ассистента: да, через MCP.
POST /v1/email-marketing/sms/campaigns/{campaign_id}/send — Запуск отправки SMS всем участникам списка, давшим согласие на получение SMS, либо возобновление кампании, приостановленной из-за баланса. Операция sendSmsMarketingCampaign. Проверяемые разрешения: email_marketing.manage, email_marketing.view. От ИИ-ассистента: только API и панель управления: расходуются средства или квота, поэтому действие выполняется человеком (отправка платных сообщений SMS/WhatsApp).
GET /v1/email-marketing/sms/registrations/us — Регистрация данной организации в US 10DLC и ее стоимость. Операция getEmailMarketingUsRegistration. Проверяемые разрешения: email_marketing.view. От ИИ-ассистента: да, через MCP.
POST /v1/email-marketing/sms/registrations/us — Отправка бренда и кампании данной организации на регистрацию в US 10DLC (оплата взимается при отправке). Операция submitEmailMarketingUsRegistration. Проверяемые разрешения: email_marketing.manage, email_marketing.view. От ИИ-ассистента: только API и панель управления: расходуются средства или квота, поэтому действие выполняется человеком (регистрация в US 10DLC облагается сборами операторов).
Кампании через ваш собственный почтовый сервис (шаблоны, сегменты, списки исключений)
GET /v1/campaigns — Кампании организации. Операция listCampaigns. От ИИ-ассистента: да, через MCP.
POST /v1/campaigns — Создание кампании на основе шаблона и аудитории. Операция createCampaign. От ИИ-ассистента: да, через MCP.
DELETE /v1/campaigns/esp — Отключить учетную запись провайдера и удалить сохраненный ключ. Операция disconnectEsp. Из ИИ-ассистента: только через API и панель управления: содержит секрет, который ни в коем случае не должен попасть в модель ИИ (удаляет сохраненный ключ ESP).
GET /v1/campaigns/esp — Собственная учетная запись провайдера электронной почты организации. Операция getEspConnection. Из ИИ-ассистента: да, через MCP.
POST /v1/campaigns/esp — Подключить учетную запись провайдера электронной почты. Операция connectEsp. Из ИИ-ассистента: только через API и панель управления: содержит секрет, который ни в коем случае не должен попасть в модель ИИ (тело запроса является ключом API ESP).
POST /v1/campaigns/esp/verify — Проверить работоспособность учетной записи провайдера и получить ее подтвержденные домены. Операция verifyEspConnection. Из ИИ-ассистента: только через API и панель управления: содержит секрет, который ни в коем случае не должен попасть в модель ИИ (повторно проверяет сохраненный ключ ESP).
POST /v1/campaigns/preview — Render шаблона с примерами значений. Операция previewCampaignTemplate. Из ИИ-ассистента: да, через MCP.
GET /v1/campaigns/segments — ваши сохраненные сегменты аудитории. Операция listCampaignSegments. Проверяемые разрешения: campaigns.view. Из ИИ-ассистента: да, через MCP.
POST /v1/campaigns/segments — Сохранить новый сегмент аудитории. Операция createCampaignSegment. Проверяемые разрешения: campaigns.manage. Из ИИ-ассистента: да, через MCP.
GET /v1/campaigns/segments/fields — Словарь фильтров, списки его значений и магические теги. Операция getCampaignSegmentFields. Проверяемые разрешения: campaigns.view. Из ИИ-ассистента: да, через MCP.
POST /v1/campaigns/segments/preview — Сколько людей это охватывает, кто они и кого это исключает. Операция previewCampaignSegment. Проверяемые разрешения: campaigns.view. Из ИИ-ассистента: да, через MCP.
DELETE /v1/campaigns/segments/{segmentId} — Архивировать сегмент. Операция archiveCampaignSegment. Проверяемые разрешения: campaigns.manage. Из ИИ-ассистента: да, через MCP.
GET /v1/campaigns/segments/{segmentId} — Один сохраненный сегмент. Операция getCampaignSegment. Проверяемые разрешения: campaigns.view. Из ИИ-ассистента: да, через MCP.
PATCH /v1/campaigns/segments/{segmentId} — Переименовать сегмент или изменить его фильтры. Операция updateCampaignSegment. Проверяемые разрешения: campaigns.manage. Из ИИ-ассистента: да, через MCP.
GET /v1/campaigns/suppressions — Адреса, которые не должны получать маркетинговые рассылки. Операция listCampaignSuppressions. Проверяемые разрешения: campaigns.view. Из ИИ-ассистента: да, через MCP.
POST /v1/campaigns/suppressions — Добавить адрес в список подавления. Операция createCampaignSuppression. Проверяемые разрешения: campaigns.manage. Из ИИ-ассистента: да, через MCP.
GET /v1/campaigns/tags — Палитра волшебных тегов, предлагаемая редактором кампаний. Операция listCampaignTags. Из ИИ-ассистента: да, через MCP.
GET /v1/campaigns/templates — Шаблоны кампаний организации. Операция listCampaignTemplates. Из ИИ-ассистента: да, через MCP.
POST /v1/campaigns/templates — Создать шаблон кампании. Операция createCampaignTemplate. Из ИИ-ассистента: да, через MCP.
DELETE /v1/campaigns/templates/{templateId} — Архивировать шаблон и списать его источники перевода. Операция archiveCampaignTemplate. Из ИИ-ассистента: да, через MCP.
GET /v1/campaigns/templates/{templateId} — Один шаблон кампании. Операция getCampaignTemplate. Из ИИ-ассистента: да, через MCP.
PUT /v1/campaigns/templates/{templateId} — Редактировать шаблон кампании. Операция updateCampaignTemplate. Из ИИ-ассистента: да, через MCP.
POST /v1/campaigns/unsubscribe — Покинуть маркетинговый список. Учетная запись не требуется. Операция unsubscribeFromCampaigns. Из ИИ-ассистента: только API и панель управления: содержит секрет, который ни в коем случае не должен попасть в модель ИИ (принимает подписанный токен отписки получателя).
DELETE /v1/campaigns/{campaignId} — Удалить кампанию и списать строки ее доставки. Операция deleteCampaign. Из ИИ-ассистента: только API и панель управления: требуется разрешение, которое не предоставляется ИИ-подключениям (для удаления ESP-кампании необходимо разрешение campaigns.send).
GET /v1/campaigns/{campaignId} — Одна кампания и отчет о ее доставке. Операция getCampaign. Из ИИ-ассистента: да, через MCP.
POST /v1/campaigns/{campaignId}/control — Приостановить, возобновить или отменить выполняющуюся отправку. Операция controlCampaign. Из ИИ-ассистента: только API и панель управления: это расходует средства или лимит, поэтому действие выполняет человек (приостанавливает/возобновляет активную отправку).
POST /v1/campaigns/{campaignId}/send — Запустить надежную отправку. Операция sendCampaign. Из ИИ-ассистента: только API и панель управления: это расходует средства или лимит, поэтому действие выполняет человек (отправляет кампанию ESP реальным получателям).
POST /v1/campaigns/{campaignId}/test — Отправить одно реальное сообщение по каналу, который фактически будет использовать кампания. Операция testSendCampaign. Из ИИ-ассистента: только API и панель управления: требуется разрешение, которое не предоставляется ИИ-подключениям (для тестовой отправки ESP требуется campaigns.send).
Общедоступные страницы и входящие вебхуки
GET /v1/public/email-marketing/c/{token} — Счетчик кликов. Фиксирует один клик на получателя и перенаправляет на исходную ссылку. Операция emailMarketingClick. Из ИИ-ассистента: страница, которую ваши получатели открывают из электронного письма (перенаправление для отслеживания кликов).
GET /v1/public/email-marketing/f/{public_id} — Размещенная страница формы регистрации (без входа). Операция emailMarketingFormPage. Из ИИ-ассистента: страница, которую ваши получатели открывают из электронного письма (общедоступная страница формы регистрации).
POST /v1/public/email-marketing/f/{public_id} — Отправка формы регистрации (размещенная страница, встраивание или JSON). Операция emailMarketingFormSubmit. От ИИ-ассистента: вызывается другой системой (провайдером или посетителем), а не вами (посетитель отправляет форму регистрации).
GET /v1/public/email-marketing/fc — Страница подтверждения двойного согласия (без входа в систему). Операция emailMarketingFormConfirmPage. От ИИ-ассистента: страница, которую ваши получатели открывают из электронного письма (страница подтверждения двойного согласия).
POST /v1/public/email-marketing/fc — Подтверждение регистрации (добавляет пользователя в список с записью о согласии). Операция emailMarketingFormConfirm. От ИИ-ассистента: вызывается другой системой (провайдером или посетителем), а не вами (посетитель подтверждает двойное согласие).
GET /v1/public/email-marketing/o/{token} — Изображение для отслеживания открытий (GIF 1x1). Считает одно открытие на получателя. Операция emailMarketingOpenPixel. От ИИ-ассистента: страница, которую ваши получатели открывают из электронного письма (пиксель отслеживания открытий).
GET /v1/public/email-marketing/u/{token} — Ссылка для отписки в нижнем колонтитуле (без входа в систему). Операция emailMarketingUnsubscribePage. От ИИ-ассистента: страница, которую ваши получатели открывают из электронного письма (страница отписки).
POST /v1/public/email-marketing/u/{token} — отписка в один клик по стандарту RFC 8058 (и кнопка «остановить всё» на странице). Операция emailMarketingUnsubscribeOneClick. От ИИ-ассистента: вызывается другой системой (провайдером или посетителем), а не вами (отписка в один клик RFC 8058).
GET /v1/public/email-marketing/warmup-u/{token} — ссылка для отписки из письма прогрева маркетингового пула (без входа в систему). Операция emailMarketingWarmupUnsubscribePage. От ИИ-ассистента: страница, которую ваши получатели открывают из электронного письма (страница отписки от прогрева).
POST /v1/public/email-marketing/warmup-u/{token} — отписка в один клик по стандарту RFC 8058 от писем прогрева. Операция emailMarketingWarmupUnsubscribeOneClick. От ИИ-ассистента: вызывается другой системой (провайдером или посетителем), а не вами (отписка от прогрева в один клик).
POST /v1/webhooks/campaign-events — прием подписанного события доставки от поставщика услуг электронной почты. Операция receiveCampaignDeliveryWebhook. От ИИ-ассистента: вызывается другой системой (провайдером или посетителем), а не вами (подписанный вебхук доставки ESP).
POST /v1/webhooks/campaigns/telnyx — входящие SMS-ответы (STOP / START) от нашего поставщика SMS. Операция receiveCampaignsTelnyxInbound. От ИИ-ассистента: вызывается другой системой (провайдером или посетителем), а не вами (подписанный вебхук входящих сообщений Telnyx).
POST /v1/webhooks/email-marketing/{connection_id} — События доставки стороннего почтового провайдера клиента для одного подключения отправки. Операция receiveEmailMarketingProviderWebhook. Из ИИ-ассистента: вызывается другой системой (провайдером или посетителем), а не вами (подписанный вебхук провайдера-отправителя).
Потоки
GET /v1/email-marketing/flows — Потоки писем (приветственные, капельные, привязанные к ежегодным датам), одна страница keyset-пагинации. Операция listEmailMarketingFlows. Проверяемые права: email_marketing.view. Из ИИ-ассистента: да, через MCP.
POST /v1/email-marketing/flows — Создать поток (создается как черновик). Операция createEmailMarketingFlow. Проверяемые права: email_marketing.manage, email_marketing.view. Из ИИ-ассистента: да, через MCP.
DELETE /v1/email-marketing/flows/{flow_id} — Удалить поток и его регистрации (отправленные запуски сохраняются как кампании). Операция deleteEmailMarketingFlow. Проверяемые права: email_marketing.manage, email_marketing.view. Из ИИ-ассистента: да, через MCP.
GET /v1/email-marketing/flows/{flow_id} — Один поток с его шагами и отчетом (зарегистрированные, в процессе, запуски и получатели на каждом шаге). Операция getEmailMarketingFlow. Проверяемые права: email_marketing.view. Из ИИ-ассистента: да, через MCP.
PATCH /v1/email-marketing/flows/{flow_id} — изменение процесса; параметр steps, если он указан, заменяет всю последовательность целиком. Операция updateEmailMarketingFlow. Проверяемые права доступа: email_marketing.manage, email_marketing.view. Из ИИ-ассистента: да, через MCP.
POST /v1/email-marketing/flows/{flow_id}/activate — включение процесса; регистрируются только те пользователи, которые подписываются на список с этого момента. Операция activateEmailMarketingFlow. Проверяемые права доступа: email_marketing.manage, email_marketing.view. Из ИИ-ассистента: да, через MCP.
POST /v1/email-marketing/flows/{flow_id}/pause — приостановка процесса; запланированные шаги ожидают, и новые письма никому не отправляются, пока процесс не будет снова включен. Операция pauseEmailMarketingFlow. Проверяемые права доступа: email_marketing.manage, email_marketing.view. Из ИИ-ассистента: да, через MCP.