Автоматизации
Визуальные 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/bootstrapBootstrap-данные для визуального редактора | Bootstrap-данные для визуального редактора |
| GET | /v1/automationsСписок автоматизаций | Список автоматизаций |
| GET | /v1/automations/{automation}Получение автоматизации | Получение автоматизации |
| POST | /v1/automationsСоздание автоматизации | Создание автоматизации |
| PATCH | /v1/automations/{automation}Обновление метаданных автоматизации | Обновление метаданных автоматизации |
| PATCH | /v1/automations/{automation}/builderСохранение визуального графа (nodes, edges, triggers) | Сохранение визуального графа (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-ов отправки сообщений | Загрузка голосового вложения (voice_mode=upload) для action-ов отправки сообщений |
Примеры
Создание автоматизации
Запрос
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"
}'Ответ
{
"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"
}
}Получение запуска автоматизации
Запрос
curl https://api.aisar.app/v1/automations/b4a8e0d2-7f2f-4fef-9d53-c525f31b1930/runs/9001 \
-H "Authorization: Bearer YOUR_API_TOKEN"Ответ
{
"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-каталог для визуального редактора
Запрос
curl https://api.aisar.app/v1/automations/bootstrap \
-H "Authorization: Bearer YOUR_API_TOKEN"Ответ
{
"data": {
"automations": [],
"versions": [],
"nodes": [],
"edges": [],
"triggers": [],
"triggerConditions": [],
"triggerChannelPivots": [],
"configs": [],
"runs": [],
"runSteps": [],
"templateCategories": [],
"templates": [],
"templateDefinitions": {},
"actionGroups": [],
"applicationSources": [],
"actionLibraryGroups": []
}
}Сохранение визуального графа (nodes, edges, triggers)
Запрос
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" }] }
]
}'Загрузка голосового вложения для автоматизации
Запрос
curl -X POST https://api.aisar.app/v1/automations/media/voice \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-F "file=@greeting.ogg;type=audio/ogg"Ответ
{
"media_id": "med_01HZABCDEFGHIJKLMNOPQRSTUV",
"type": "audio",
"mime_type": "audio/ogg",
"size": 24576,
"duration": 7,
"expires_at": "2026-07-11T10:30:00.000000Z"
}