Документация
OpenErrorAPI использует протокол Sentry, поэтому вы оставляете ваш SDK и меняете одну строку: DSN. Здесь описано как это сделать и — что важно — что мы не поддерживаем.
Переход с Sentry за 10 минут
Не нужно заменять SDK и переписывать код. Просто укажите уже установленному SDK другой DSN.
-
1
Создайте проект в консоли. Вы получите DSN в формате https://PUBLIC_KEY@openerrorapi.com/PROJECT_ID.
-
2
Замените DSN в существующем Sentry.init() — обычно это одна переменная окружения. Оставьте SDK, версию и все настройки без изменений.
-
3
Разверните код и вызовите одну ошибку. Она появится в консоли в течение секунды, сгруппированная как в Sentry.
PHP
composer require sentry/sentry\Sentry\init(['dsn' => 'https://PUBLIC_KEY@openerrorapi.com/PROJECT_ID']);JavaScript / TypeScript
npm i @sentry/browserSentry.init({ dsn: 'https://PUBLIC_KEY@openerrorapi.com/PROJECT_ID' });Node.js
npm i @sentry/nodeSentry.init({ dsn: 'https://PUBLIC_KEY@openerrorapi.com/PROJECT_ID' });Python
pip install sentry-sdksentry_sdk.init(dsn="https://PUBLIC_KEY@openerrorapi.com/PROJECT_ID")Go
go get github.com/getsentry/sentry-gosentry.Init(sentry.ClientOptions{Dsn: "https://PUBLIC_KEY@openerrorapi.com/PROJECT_ID"})Dart / Flutter
flutter pub add sentry_flutterawait SentryFlutter.init((o) => o.dsn = 'https://PUBLIC_KEY@openerrorapi.com/PROJECT_ID');Уже загружаете source maps через sentry-cli? Оставьте этот шаг — установите SENTRY_URL в https://openerrorapi.com и используйте upload token как SENTRY_AUTH_TOKEN.
Совместимость с Sentry, честно
Совместимость — это наше главное обещание, поэтому опаснее всего её преувеличить. Эта таблица генерируется из того же источника, что используется кодом и машиночитаемой документацией, так что она не может незаметно расходиться с реальностью.
7 областей полностью поддерживаются · 3 частично · 3 не поддерживаются.
| Область | Статус | Детали |
|---|---|---|
Envelope ingest (/api/{id}/envelope/) |
Поддерживается | The modern endpoint every current SDK uses. Gzip/deflate bodies, multiple items per envelope, all three auth methods (X-Sentry-Auth header, querystring, envelope dsn header). |
Store ingest (/api/{id}/store/) |
Поддерживается | Legacy endpoint for older SDKs. Same processing pipeline as envelopes. |
| Error events & grouping | Поддерживается | Exceptions, messages, stack traces, tags, user, contexts, breadcrumbs, request. Grouping by fingerprint with an explicit `fingerprint[]` override. |
| Sessions / release health | Поддерживается | Session envelope items are processed; crash-free sessions and users are shown per release. Available from the Team plan. |
| Security reports (CSP) | Поддерживается | CSP violation reports are stored and grouped like any other issue. Point report-uri at /api/{project_id}/security/?sentry_key={PUBLIC_KEY} — the browser cannot send headers, so the key goes in the URL. Both the classic csp-report body and the Reporting API array are accepted. |
| Source maps | Поддерживается | Upload via our API, from the console, or with sentry-cli. Frames are de-minified on read, so uploading a map fixes old events too. |
sentry-cli |
Частично | Releases (new / finalize / set-commits) and source-map upload work unchanged. Chunked upload is not implemented — sentry-cli detects that and falls back to the regular upload automatically. |
| User feedback widget | Поддерживается | Embeddable widget; reports land next to the errors they belong to. |
| Transactions / performance | Частично | Transaction envelope items are accepted so SDKs do not error, but we do not build a performance product on top of them. If you need distributed tracing, keep Sentry — we are an error tracker. |
Logs (log envelope items) |
Не поддерживается | Not processed yet. Log items are ignored, which does not affect error reporting from the same SDK. |
Cron monitors (check_in items) |
Частично | We have our own cron/heartbeat monitoring in the console, but the Sentry `check_in` envelope item is not wired to it yet. |
| Profiling, session replay | Не поддерживается | Deliberately out of scope. These are the reasons to stay on Sentry; we do not pretend otherwise. |
| Native symbolication (dSYM / ProGuard) | Не поддерживается | Not supported. Native mobile crashes arrive, but stay unsymbolicated. |