Документация
Ingest API
Единый endpoint для приёма событий из SDK и любых HTTP-клиентов.
POST
https://dev-logs.ru/api/ingestbaseUrl — URL DevLogs без trailing slash. В продакшене: https://dev-logs.ru. Полный путь: {baseUrl}/api/ingest.
Тело запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
| dsn | string | да | Публичный DSN проекта из настроек |
| message | string | да | Текст ошибки или сообщения |
| level | string | нет | debug, info, warning, error, fatal (по умолчанию error) |
| type | string | нет | Тип ошибки: Error, TypeError и т.д. |
| stackTrace | array | нет | Фреймы стека |
| context | object | нет | Произвольный контекст |
| user | object | нет | Данные пользователя |
| tags | object | нет | Строковые теги |
| breadcrumbs | array | нет | Цепочка действий до ошибки |
| extra | object | нет | Дополнительные поля |
| sdkVersion | string | нет | Версия SDK |
| release | string | нет | Версия релиза приложения |
| gitCommit | string | нет | Git SHA деплоя → подозреваемый commit в issue |
| gitCommitMessage | string | нет | Сообщение git-коммита (необязательно) |
| environment | string | нет | production, staging, development |
stackTrace[]
json
{
"file": "app/page.tsx",
"line": 42,
"column": 10,
"function": "handleClick",
"inApp": true
}Пример запроса
curl
curl -s -X POST "https://dev-logs.ru/api/ingest" \
-H "Content-Type: application/json" \
-d '{
"dsn": "YOUR_DSN",
"message": "Cannot read properties of undefined",
"level": "error",
"type": "TypeError",
"release": "1.2.0",
"gitCommit": "abc1234567890",
"environment": "production",
"stackTrace": [
{ "file": "app.js", "line": 42, "column": 10, "function": "handleClick", "inApp": true }
]
}'Git-коммит
Для автозаполнения «подозреваемого commit» в issue передайте SHA деплоя в gitCommit или теге git_commit. См. Git-коммит в событиях.
Sentry-compatible endpoints
Для миграции с Sentry SDK без смены клиента — см. Миграция с Sentry:
| Метод | URL | Назначение |
|---|---|---|
| POST | {baseUrl}/api/{projectId}/store/ | Legacy Sentry store API |
| POST | {baseUrl}/api/{projectId}/envelope/ | Sentry envelope (SDK v7+) |
| POST | {baseUrl}/api/ingest/csp/?dsn=KEY | CSP / security reports |
| POST | {baseUrl}/api/{projectId}/security/ | CSP через Sentry security endpoint |
Ответы
201 Created
{
"errorId": "group-id",
"fingerprint": "abc123..."
}| HTTP | Причина |
|---|---|
| 400 | Некорректный JSON или отсутствует DSN |
| 401 | Неверный DSN |
| 429 | Превышен лимит событий проекта или rate limit (120 запросов/мин с IP) |
Лимиты
Подробнее — в разделе Лимиты. Для программного доступа к issues используйте REST API с API-ключом, не Ingest.