Рассылки

Создать рассылку

Создаёт email-рассылку в статусе DRAFT. При создании все поля опциональны; обязательные (шаблон, отправитель, тема, хотя бы один список контактов) проверяются при запуске. Черновик не отправляется автоматически — запустите его операцией запуска рассылки. Передайте abTest, чтобы создать A/B (сплит) рассылку: 2-10 вариантов темы тестируются на доле контактов (abTest.percent), затем вариант-победитель отправляется остальным. Досыл и отправка частями в черновике не сохраняются — они настраиваются при запуске (см. операцию запуска).

post/v1/public/campaigns

Request

  • Base URL: https://api.rusender.ru/api
  • URL: https://api.rusender.ru/api/v1/public/campaigns
  • Auth: HTTP bearer

Headers

Idempotency-Keystring

Опциональный ключ идемпотентности. Если передан, повторные запросы с тем же ключом обрабатываются только один раз.

Request body

Example request

{
  "data": {
    "name": "March newsletter",
    "subject": "Our March update",
    "previewTitle": "Here is what we shipped this month",
    "templateId": 100,
    "senderId": 10,
    "senderName": "Example Team",
    "listIds": [
      1,
      2
    ],
    "segmentId": 3,
    "attachments": [
      42
    ],
    "utm": {
      "utm_source": "newsletter",
      "utm_medium": "email",
      "utm_campaign": "march_promo"
    },
    "abTest": {
      "type": "subject",
      "variants": [
        {
          "subject": "Our March update — special offer inside",
          "previewTitle": "Do not miss this month highlights"
        }
      ],
      "percent": 20
    }
  }
}

Response

Созданная рассылка.

okboolean required

Флаг успешного выполнения.

Example response

{
  "ok": true,
  "data": {
    "id": 1,
    "name": "March newsletter",
    "subject": "Our March update",
    "previewTitle": "Here is what we shipped this month",
    "type": "regular",
    "status": "completed",
    "statusModerate": "approved",
    "attachments": [
      {
        "id": 42,
        "fileName": "price-list.pdf",
        "size": 153204
      }
    ],
    "templateId": 100,
    "senderId": 10,
    "senderEmail": "noreply@example.com",
    "senderName": "Example Team",
    "lists": [
      {
        "id": 1,
        "name": "Newsletter subscribers"
      }
    ],
    "utm": {
      "utm_source": "newsletter",
      "utm_medium": "email",
      "utm_campaign": "march_promo"
    },
    "stats": {
      "total": 1000,
      "sending": {
        "count": 900,
        "rate": 90
      },
      "delivered": {
        "count": 900,
        "rate": 90
      },
      "open": {
        "count": 900,
        "rate": 90
      },
      "click": {
        "count": 900,
        "rate": 90
      },
      "error": {
        "count": 900,
        "rate": 90
      },
      "unsubscribe": {
        "count": 900,
        "rate": 90
      },
      "complaint": {
        "count": 900,
        "rate": 90
      }
    }
  },
  "meta": {
    "requestId": "550e8400-e29b-41d4-a716-446655440000",
    "timestamp": "2026-03-05T12:00:00.000Z",
    "pagination": {
      "page": 1,
      "limit": 20,
      "totalItems": 150,
      "totalPages": 8
    }
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.