AISARAISAR
REST API

Рассылки

Массовые рассылки сообщений сегменту контактов по одному или нескольким каналам. Рассылка может быть черновиком (`is_draft: true`), запускаться немедленно, по расписанию или по recurring-правилу. Жизненный цикл: draft → publish → run(s); прогресс каждого запуска (run) отслеживается отдельно (sent/delivered/read/failed).

Эндпоинты

МетодПуть
GET/v1/broadcasts/meta

Метаданные конструктора рассылки (сегменты, переменные, шаблоны)

GET/v1/broadcasts

Список рассылок (пагинация, фильтр по статусу)

GET/v1/broadcasts/{broadcast}

Получение рассылки

POST/v1/broadcasts

Создание рассылки (поддерживает is_draft)

PATCH/v1/broadcasts/{broadcast}

Обновление рассылки

DELETE/v1/broadcasts/{broadcast}

Удаление рассылки

POST/v1/broadcasts/estimate

Оценка размера аудитории рассылки

POST/v1/broadcasts/{broadcast}/duplicate

Дублирование рассылки

POST/v1/broadcasts/{broadcast}/publish

Публикация черновика (запуск/постановка на расписание)

POST/v1/broadcasts/{broadcast}/cancel

Отмена разовой рассылки

POST/v1/broadcasts/{broadcast}/run

Ручной запуск рассылки

GET/v1/broadcasts/{broadcast}/messages

Получатели запуска (пагинация, фильтр по статусу)

GET/v1/broadcasts/{broadcast}/runs

Список запусков рассылки

GET/v1/broadcasts/{broadcast}/runs/{run}

Получение конкретного запуска

POST/v1/broadcasts/{broadcast}/pause-recurring

Пауза recurring-расписания

POST/v1/broadcasts/{broadcast}/resume-recurring

Возобновление recurring-расписания

Примеры

Создание и немедленный запуск рассылки

Запрос

bash
curl -X POST https://api.aisar.app/v1/broadcasts \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "February promo",
    "is_draft": false,
    "audience": { "segmentId": "12" },
    "channels": { "mode": "specific", "channelIds": [7] },
    "content": {
      "channels": [
        { "type": "text", "channelId": 7, "accountType": "whatsapp", "text": "Hi {{first_name}}, 20% off this week!" }
      ]
    },
    "schedule": { "mode": "now" }
  }'

Ответ

json
{
  "data": {
    "id": 88,
    "company_id": 1,
    "name": "February promo",
    "status": "active",
    "audience": {
      "conditions": [],
      "group_logic": "and"
    },
    "channels": [{ "id": 7, "mode": "specific" }],
    "content": [],
    "schedule": { "mode": "now", "scheduledAt": null },
    "recurring_schedule": null,
    "runs": [
      { "id": 201, "broadcast_id": 88, "status": "processing", "total": 340, "sent": 0, "failed": 0, "delivered": 0, "read": 0, "started_at": "2026-03-15T10:00:00.000000Z", "completed_at": null }
    ],
    "created_at": "2026-03-15T10:00:00.000000Z",
    "updated_at": "2026-03-15T10:00:00.000000Z"
  }
}

Оценка аудитории рассылки

Запрос

bash
curl -X POST https://api.aisar.app/v1/broadcasts/estimate \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "segment_id": 12,
    "channel_ids": [7]
  }'

Ответ

json
{
  "data": {
    "total_contacts": 340,
    "reachable_contacts": 312,
    "excluded_contacts": 28,
    "estimated_duration_seconds": 312,
    "estimated_completion": "2026-03-15T10:05:12.000Z"
  }
}