Ingest API

Единый endpoint для приёма событий из SDK и любых HTTP-клиентов.

POSThttps://dev-logs.ru/api/ingest

baseUrl — URL DevLogs без trailing slash. В продакшене: https://dev-logs.ru. Полный путь: {baseUrl}/api/ingest.

Тело запроса

ПолеТипОбязательноОписание
dsnstringдаПубличный DSN проекта из настроек
messagestringдаТекст ошибки или сообщения
levelstringнетdebug, info, warning, error, fatal (по умолчанию error)
typestringнетТип ошибки: Error, TypeError и т.д.
stackTracearrayнетФреймы стека
contextobjectнетПроизвольный контекст
userobjectнетДанные пользователя
tagsobjectнетСтроковые теги
breadcrumbsarrayнетЦепочка действий до ошибки
extraobjectнетДополнительные поля
sdkVersionstringнетВерсия SDK
releasestringнетВерсия релиза приложения
gitCommitstringнетGit SHA деплоя → подозреваемый commit в issue
gitCommitMessagestringнетСообщение git-коммита (необязательно)
environmentstringнет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=KEYCSP / 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.