Перейти к содержимому
AISARAISAR
REST API

Автоматизации

Визуальные workflow-автоматизации: триггер (событие/канал/условия) запускает граф из узлов (nodes) и связей (edges) — отправка сообщений, смена стадии сделки, HTTP-вызовы, ветвления по условиям. Через этот API вы управляете автоматизациями и их метаданными, отдельным эндпоинтом сохраняете визуальный граф и читаете журнал запусков с пошаговой трассировкой.

Метаданные и граф

Метаданные автоматизации (name, status) обновляются через PATCH /automations/{id}, а сам граф — отдельным эндпоинтом PATCH /automations/{id}/builder. При сохранении графа через PATCH /automations/{id}/builder поле nodes обязательно (массив, минимум 1 элемент).

Запуски

Каждый запуск автоматизации логируется как run с пошаговой трассировкой.

Bootstrap для редактора

GET /automations/bootstrap отдаёт справочные данные для редактора (каталог действий, существующие автоматизации, версии, узлы, связи, триггеры и шаблоны).

Голосовые вложения

Для голосовых сообщений из action-ов whatsapp-send-message / telegram-send-message (при voice_mode=upload) аудио загружается заранее через POST /automations/media/voice — ответ этого эндпоинта, в отличие от остального API, приходит без обёртки data.

Эндпоинты

МетодПуть
GET/v1/automations/bootstrap

Bootstrap-данные для визуального редактора

GET/v1/automations

Список автоматизаций

GET/v1/automations/{automation}

Получение автоматизации

POST/v1/automations

Создание автоматизации

PATCH/v1/automations/{automation}

Обновление метаданных автоматизации

PATCH/v1/automations/{automation}/builder

Сохранение визуального графа (nodes, edges, triggers)

DELETE/v1/automations/{automation}

Удаление автоматизации

GET/v1/automations/{automation}/runs

Список запусков автоматизации

GET/v1/automations/{automation}/runs/{run}

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

POST/v1/automations/media/voice

Загрузка голосового вложения (voice_mode=upload) для action-ов отправки сообщений

Примеры

Создание автоматизации

Запрос

bash
curl -X POST https://api.aisar.app/v1/automations \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Welcome automation",
    "description": "Sends a greeting on the first inbound message",
    "status": "draft"
  }'

Ответ

json
{
  "data": {
    "id": "b4a8e0d2-7f2f-4fef-9d53-c525f31b1930",
    "companyId": "1",
    "name": "Welcome automation",
    "description": "Sends a greeting on the first inbound message",
    "status": "draft",
    "healthStatus": "ok",
    "activeVersionId": null,
    "latestVersionId": null,
    "templateId": null,
    "executionsCount": 0,
    "lastRunAt": null,
    "createdAt": "2026-03-15T10:00:00.000000Z",
    "updatedAt": "2026-03-15T10:00:00.000000Z",
    "createdBy": "5",
    "updatedBy": "5"
  }
}

Получение запуска автоматизации

Запрос

bash
curl https://api.aisar.app/v1/automations/b4a8e0d2-7f2f-4fef-9d53-c525f31b1930/runs/9001 \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Ответ

json
{
  "data": {
    "id": 9001,
    "automation_id": "b4a8e0d2-7f2f-4fef-9d53-c525f31b1930",
    "version_id": "v3",
    "status": "completed",
    "trigger_payload": { "event": "message.created", "channel_id": 7 },
    "started_at": "2026-03-15T10:00:00+00:00",
    "finished_at": "2026-03-15T10:00:02+00:00",
    "duration_ms": 1840,
    "pii_redacted": false,
    "total_cost_usd": 0.000412,
    "total_tokens": 210,
    "steps": []
  }
}

Bootstrap-каталог для визуального редактора

Запрос

bash
curl https://api.aisar.app/v1/automations/bootstrap \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Ответ

json
{
  "data": {
    "automations": [],
    "versions": [],
    "nodes": [],
    "edges": [],
    "triggers": [],
    "triggerConditions": [],
    "triggerChannelPivots": [],
    "configs": [],
    "runs": [],
    "runSteps": [],
    "templateCategories": [],
    "templates": [],
    "templateDefinitions": {},
    "actionGroups": [],
    "applicationSources": [],
    "actionLibraryGroups": []
  }
}

Сохранение визуального графа (nodes, edges, triggers)

Запрос

bash
curl -X PATCH https://api.aisar.app/v1/automations/b4a8e0d2-7f2f-4fef-9d53-c525f31b1930/builder \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "nodes": [
      { "id": "n1", "type": "trigger", "position": { "x": 0, "y": 0 }, "actionId": null, "data": {} },
      { "id": "n2", "type": "action", "position": { "x": 240, "y": 0 }, "actionId": "whatsapp-send-message", "data": {} }
    ],
    "edges": [
      { "id": "e1", "source": "n1", "target": "n2", "label": null, "sourceHandle": null, "targetHandle": null, "data": {} }
    ],
    "triggers": [
      { "id": "t1", "channelType": "whatsapp", "channels": [7], "event": "message.created", "conditionsJoiner": "and", "conditions": [{ "type": "text_contains", "value": "hello" }] }
    ]
  }'

Загрузка голосового вложения для автоматизации

Запрос

bash
curl -X POST https://api.aisar.app/v1/automations/media/voice \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -F "file=@greeting.ogg;type=audio/ogg"

Ответ

json
{
  "media_id": "med_01HZABCDEFGHIJKLMNOPQRSTUV",
  "type": "audio",
  "mime_type": "audio/ogg",
  "size": 24576,
  "duration": 7,
  "expires_at": "2026-07-11T10:30:00.000000Z"
}