REST API
Интеграции (вебхуки)
Настройка исходящих вебхуков AISAR: интеграция типа `webhook` подписывается на набор событий платформы (см. справочник событий вебхуков) и отправляет POST-запрос с подписанным телом на указанный URL при их наступлении. Поддерживаются bearer/basic-аутентификация на стороне получателя, ретраи с ограничением попыток и фильтр по каналам. Bitrix24 и amoCRM подключаются отдельными OAuth-флоу через кабинет my.aisar.app и в этот справочник не входят.
Эндпоинты
| Метод | Путь | Описание |
|---|---|---|
| GET | /v1/integrationsСписок интеграций (фильтр по type, status) | Список интеграций (фильтр по type, status) |
| POST | /v1/integrationsСоздание вебхук-интеграции | Создание вебхук-интеграции |
| GET | /v1/integrations/{integration}Получение интеграции (с credential и mappings) | Получение интеграции (с credential и mappings) |
| PATCH | /v1/integrations/{integration}Обновление интеграции | Обновление интеграции |
| DELETE | /v1/integrations/{integration}Удаление интеграции | Удаление интеграции |
| GET | /v1/integrations/{integration}/logsЛоги доставки вебхуков | Логи доставки вебхуков |
| POST | /v1/integrations/test-webhookТестовая отправка на указанный URL (без сохранения интеграции) | Тестовая отправка на указанный URL (без сохранения интеграции) |
Примеры
Создание вебхук-интеграции
Запрос
bash
curl -X POST https://api.aisar.app/v1/integrations \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type": "webhook",
"name": "n8n Production",
"status": "active",
"settings": {
"url": "https://example.com/webhook",
"authType": "bearer",
"selectedEventKeys": ["message.created", "conversation.created"],
"channelFilter": "all",
"timeoutSeconds": 30,
"retryEnabled": true,
"maxAttempts": 6
},
"secrets": { "bearerToken": "your-receiving-endpoint-secret" }
}'Ответ
json
{
"data": {
"id": 14,
"type": "webhook",
"name": "n8n Production",
"status": "active",
"health": {
"last_success_at": null,
"last_failure_at": null,
"last_error": null,
"consecutive_failures": 0
},
"settings": {
"url": "https://example.com/webhook",
"authType": "bearer",
"selectedEventKeys": ["message.created", "conversation.created"],
"channelFilter": "all",
"timeoutSeconds": 30,
"retryEnabled": true,
"maxAttempts": 6
},
"credential": {
"secrets": { "bearerToken": "your-receiving-endpoint-secret" },
"expires_at": null,
"last_refreshed_at": null,
"rotated_at": null,
"created_at": "2026-03-15T10:00:00.000000Z",
"updated_at": "2026-03-15T10:00:00.000000Z"
},
"external_entities": [],
"mappings": [],
"funnel_mappings": [],
"created_at": "2026-03-15T10:00:00.000000Z",
"updated_at": "2026-03-15T10:00:00.000000Z"
}
}Логи доставки вебхука
Запрос
bash
curl "https://api.aisar.app/v1/integrations/14/logs?limit=50" \
-H "Authorization: Bearer YOUR_API_TOKEN"Ответ
json
{
"data": [
{
"id": 8801,
"level": "info",
"code": "webhook.delivery",
"message": "Webhook delivered.",
"context": {
"event_key": "message.created",
"status": "success",
"status_code": 200,
"duration_ms": 420
},
"created_at": "2026-03-15T10:05:00.000000Z"
}
]
}