← На главную

API и операционная документация

POST /api/v1/transactional/send.php

Постановка транзакционного письма в очередь.

{
  "project_id": 1,
  "from": {"email": "noreply@example.com", "name": "My App"},
  "to": [{"email": "user@example.com", "name": "Иван"}],
  "subject": "Подтверждение входа",
  "html": "<p>Здравствуйте, {{name}}. Ваш код: <b>{{code}}</b></p>",
  "text": "Здравствуйте, {{name}}. Ваш код: {{code}}",
  "variables": {"name": "Иван", "code": "482913"},
  "metadata": {"type": "otp"},
  "idempotency_key": "otp-15-482913"
}
curl -X POST "https://mail.example.com/api/v1/transactional/send.php" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: tm_live_xxxxx" \
  -d @payload.json

POST /api/v1/campaigns/create.php

Создание маркетинговой кампании. Scheduler разложит письма по очереди на основе warmup и rate limits.

{
  "project_id": 1,
  "name": "April newsletter",
  "template_code": "newsletter_main",
  "list_code": "main_newsletter",
  "from": {"email": "news@example.com", "name": "Example"},
  "scheduled_at": "2026-03-28 09:00:00",
  "variables": {"month": "Апрель"},
  "metadata": {"utm_campaign": "april-news"}
}

POST /api/v1/events/ingest.php

Ингест событий доставок, bounce, complaint, open, click, unsubscribe.

{
  "events": [
    {
      "event_id": "evt_123",
      "event_type": "complaint",
      "recipient_public_id": "rcpt_abc123",
      "reason": "Mailbox provider feedback loop"
    }
  ]
}
curl -X POST "https://mail.example.com/api/v1/events/ingest.php" \
  -H "Content-Type: application/json" \
  -H "X-Event-Secret: YOUR_EVENT_INGEST_SECRET" \
  -d @events.json

POST /api/v1/contacts/upsert.php

Апсерт контактов и подписка в список.

{
  "project_id": 1,
  "list_code": "main_newsletter",
  "contacts": [
    {"email": "user@example.com", "name": "Иван", "attributes": {"city": "Riga"}}
  ]
}

GET /api/v1/messages/status.php?id=msg_xxx

Возвращает статус сообщения и статусы получателей.

One-click unsubscribe

Для marketing stream автоматически добавляются List-Unsubscribe и List-Unsubscribe-Post. Endpoint поддерживает GET и POST.

Воркеры

php bin/worker.php transactional
php bin/worker.php marketing
php bin/webhook_worker.php
php bin/campaign_scheduler.php
php bin/reputation_rollup.php
php bin/domain_warmup.php