// documentation & reference
Precision.
This is an AI-powered visual inspection platform designed to eliminate human error and bring laboratory-grade accuracy to every check. The system leverages a neural network trained on real-world production data to detect defects, deviations, and anomalies — instantly and consistently.
Speed.
Define zones of interest, capture images, and let the engine do the rest. Every result is logged, traceable, and available for review at any time. Operators get clear pass/fail verdicts with confidence scores; managers get statistics, history, and full audit trails.
Confidence.
Built for the factory floor. Accessible from any device — desktop or mobile. No installation required. Just open the browser and inspect.
Every uploaded photo goes through a multi-stage pipeline to find and analyze the matching zone:
1. Global Alignment — the input image is aligned to the reference using SIFT feature matching (5000 keypoints) with FLANN matcher and RANSAC homography. This warps the photo to overlap precisely with the reference, compensating for camera angle, position, and scale.
2. Zone Matching — each zone is extracted from the warped image and ranked:
3. Defect Detection — the matched pair (reference vs. extracted) is analyzed:
Final similarity = 50% global cosine (layer 7) + 50% patch cosine (layer 5).
4. Subzone Analysis — subzones use stricter thresholds plus HSV histogram comparison to catch completely different components. Zone verdict = worst status across all subzones.
5. Reference Blending — the auto-blend module aligns multiple photos via SIFT (with barcode/QR anchor detection) and pixel-averages them into a clean, noise-reduced reference.
Open the application URL. Enter your access key on the login page. The key is provided by the administrator and maps to your operator name. The session persists for 30 days.
The system uses a 3-step wizard:
Click the Step 1 indicator at any time to reset and start over.
In the header, two inputs control detection strictness:
Higher values = stricter detection (more defects flagged). Lower values = more lenient.
Drag and drop (or click to browse) a single photo of the reference assembly into the upload area. Supported formats: PNG, JPG, JPEG, BMP, WebP.
Upload 2+ photos of the same object. The system shows a blending panel:
Multi-image blending reduces noise and produces a cleaner reference.
Templates store the reference image + zone layout for reuse. They appear as cards in Step 1 with name, barcode mask, version number, zone count, and creation date.
Click "Load" on a template card to jump directly to Step 3 (inspection) with all zones pre-configured. A "Recipe" badge appears showing the template name.
In Step 2 after drawing zones, enter a name and optional barcode mask, then click "Save Template". The reference image is stored in cloud storage (R2).
Click "Edit" on a template card to open the full-screen template editor. You can:
Click "Save changes" to create a new version. Previous versions are archived and visible in the sidebar. Click any older version to restore it (creates a new version).
Click "Delete" on the template card. Confirmation required.
A prefix string (e.g. "7334") that validates scanned serial numbers. If the scanned code does not start with this mask, a "Mask mismatch" warning appears during inspection.
In Step 2, click and drag on the reference image to draw rectangular zones. Each zone is auto-labeled ("Zone 1", "Zone 2", etc.) and color-coded.
Click the crosshair icon on a zone chip to enter anchor mode. Place up to 2 anchor points on or near the zone. Anchors provide alignment guidance on the mobile camera — the phone shows where to position the board relative to detected features.
Click the square icon on a zone chip to enter subzone mode. Draw up to 10 smaller rectangles inside the zone. Subzones trigger a separate, stricter analysis pass. Each subzone has its own status, defect %, and images. The zone's overall status = the worst status among all its subzones.
Ctrl+scroll or use +/- buttons. Range: 100%–800%.
Click "Save zones & start check" to lock zones and proceed to Step 3.
Before checking zones, scan a barcode / QR code / DataMatrix for the serial number. Upload a photo from desktop or use the mobile camera. The zone check area is locked until a serial is scanned. The decoded value appears with its type (e.g. QR_CODE, CODE_128).
Drag and drop one or more zone photos into the upload area, then click "Run Check". Multiple files are processed sequentially with a progress counter ("[1/5]", "[2/5]", etc.).
Each uploaded photo is automatically matched to the best-fitting zone using a multi-stage pipeline:
The matched zone is compared against the reference to detect defects:
Output: SSIM score, defect percentage, defect region count, status (OK / WARN / DEFECT), and visualization images (defect map, heatmap, extracted zone, reference crop).
If the zone has subzones defined, each subzone is analyzed separately with stricter thresholds. The zone status = worst of (zone result, all subzone results).
After each check: 5 images (input, reference, extracted, defect map, heatmap), statistics (score, SSIM, defect %), a bar chart of all zone scores, and subzone details if applicable. Click any image for a full-size lightbox.
Each zone and subzone has two results:
If the operator overrides the calculated result, the original is shown crossed out with an arrow to the accepted status plus a pencil icon.
The overall inspection status is the worst effective status across all zones. Effective = user zone override > worst subzone override > calculated status. Any DEFECT makes the whole inspection a defect. Any WARN (with no defect) makes it a warning.
Toggle the "auto" switch next to the progress bar. When all zones are OK and auto-accept is ON, the result is auto-saved and a new board starts after 3 seconds.
Click "Close & Save" to save the inspection (complete or partial) and reset for the next board. If a result was auto-saved, it updates with the latest user decisions.
Abandon the current board without saving. Resets the session.
Clear only non-OK zones for re-photographing without resetting the entire board.
In Step 3, a QR code and URL are shown. Scan with your phone to open the mobile companion page. No separate login required.
The "Serial" tab provides live camera barcode scanning. The camera feed shows a scan reticle with an animated scan line. A beep sound plays on successful detection. You can also choose an image from the gallery.
The "Zone" tab shows which zone to photograph next. Navigate between zones with left/right arrows.
If anchor points are defined for the zone, the camera feed shows dashed guide circles at target positions. Real-time template matching detects anchors in the live video. When aligned (solid green circles + checkmark), press "Capture Zone".
Press "Capture Zone" to take a photo. A shutter sound plays. The photo is queued for the desktop, which processes it automatically (polls every 5 seconds). Multiple photos can also be uploaded from the gallery.
The mobile page continuously polls the server (every 5 seconds) to sync state with the desktop.
Scroll to the bottom of the page and click "Inspection History" to expand the panel. Each row shows: date, time, serial, template name, operator, zone count, overall status, and inline stats (OK/defect/warn counts, avg score, max defect %). Overridden results have a pencil icon.
Type in the search box. Format: serial / template / operator. Supports
* wildcards. Each part filters the corresponding field. Example:
7334* / Module XY / John.
Click a row to expand it. Shows: stats row, doughnut pie chart (OK/Defect/Warn distribution), per-zone score bars, zone image cards with status badges and defect %. Subzone cards shown with a red left border.
Click any zone image card to open a full-size side-by-side comparison of the captured photo vs the reference.
When the accepted status differs from the calculated one, the zone card shows: calculated -> accepted. Same for subzones.
Click "Print" on any history row to generate a formal inspection passport document with all metadata, zone table (with overrides shown), score charts, and zone images. Opens the browser print dialog.
History loads in pages of 20. Click "Load more" to see older results.
Appears in Step 3 after the first zone is checked. Displays:
All charts and counters update in real-time as zones are checked.
Color-coded chips below the check panel: green = OK, yellow = WARN, red = DEFECT, blue = unchecked. Shows effective status (with overrides). Click to view that zone's result.
Shows "N/M zones checked" with a percentage fill bar.
Small canvas showing the full reference image with zone overlays. Unchecked zones pulsate; checked zones show their status color and a check/warn/defect marker.
When all zones are checked: "ALL ZONES OK" (green) or "ISSUES FOUND" (yellow). Shows serial number if scanned. Action buttons appear for saving, skipping, or retrying.
apk_) is required.
Contact your administrator to obtain one.All requests require the header X-Auth-Key with a valid API key.
API keys are read-only — they can only retrieve inspection results and images.
X-Auth-Key: apk_your_key_here
GET /api/v1/results
Query parameters:
from — start date (ISO, e.g. 2026-03-01)to — end date (ISO, e.g. 2026-03-19)serial — serial number filter, supports * wildcardtemplate — template name filteroperator — operator name filterstatus — ok, warn, or defectlimit — max results per page (default 50, max 500)offset — skip N results for paginationExample:
curl -H "X-Auth-Key: apk_..." \ "https://your-host/api/v1/results?from=2026-03-01&serial=SN-12*&limit=10"
Response:
{
"total": 42,
"limit": 10,
"offset": 0,
"results": [
{
"result_id": "a1b2c3d4_143000",
"timestamp": "2026-03-19T14:30:00",
"serial": "SN-1234-2026",
"template_name": "Module X",
"operator": "operator1",
"overall_status": "ok",
"zones": [
{
"label": "U1",
"status": "ok",
"score": 0.87,
"defect_pct": 3.2,
"image_url": "/api/v1/results/.../images/zone_0.jpg"
}
]
}
]
}
GET /api/v1/results/{result_id}
Returns the full inspection record. Add ?images=base64 to embed
images as Base64 data URIs directly in the JSON (convenient for single records,
but large payloads).
curl -H "X-Auth-Key: apk_..." \ "https://your-host/api/v1/results/a1b2c3d4_143000?images=base64"
GET /api/v1/results/{result_id}/images/{filename}
Returns a JPEG image. The image_url fields in the JSON response
point to this endpoint. Use the same API key header.
curl -H "X-Auth-Key: apk_..." -o zone.jpg \ "https://your-host/api/v1/results/a1b2c3d4_143000/images/zone_0.jpg"
401 — missing or invalid API key403 — key scope insufficient (e.g. operator key used on /api/v1/)404 — result or image not found503 — database unavailable# 1. Get recent inspections for serial starting with "SN-12" KEY="apk_Xk9mP2qR7vN4wL5bT8cF" HOST="https://inspect.metaprodtrace.com" curl -s -H "X-Auth-Key: $KEY" \ "$HOST/api/v1/results?from=2026-03-01&serial=SN-12*&limit=5" \ | python3 -m json.tool
# 2. Get a single result with full details RID="a1b2c3d4_143000" curl -s -H "X-Auth-Key: $KEY" \ "$HOST/api/v1/results/$RID" \ | python3 -m json.tool
# 3. Download a zone image from that result curl -H "X-Auth-Key: $KEY" \ -o zone_photo.jpg \ "$HOST/api/v1/results/$RID/images/zone_0.jpg"
# 4. Get the same result with images embedded as Base64 curl -s -H "X-Auth-Key: $KEY" \ "$HOST/api/v1/results/$RID?images=base64" \ | python3 -m json.tool
# 5. Without a key — expect 401
curl -s "$HOST/api/v1/results"
# {"error": "Unauthorized"}
The system uses group-based access control with three user roles and API key scoping.
Roles
| admin | Full access to everything. No group restriction. Can manage all templates, view all results, clear history. |
| lead | Belongs to a group. Can create, edit, delete, and restore templates (own group + shared). Views results of own group only. |
| operator | Belongs to a group. Can use templates (own group + shared) and run inspections. Cannot create/edit/delete templates. Views results of own group only. |
Groups
Each non-admin user belongs to a group (e.g. "line1", "line2"). Groups isolate data:
-- Templates with a group are visible only to that group's members.
-- Templates with no group (empty) are shared -- visible to
everyone.
-- Inspection results are strictly filtered by group.
-- Admin sees everything regardless of group.
API Keys
External API keys (apk_ prefix) also support group scoping:
-- Key with "group": "line1" can only read results from that group.
-- Key without group can read all results.
-- Scope "read" limits to GET requests on /api/v1/* endpoints.
Header Badge
The top-right corner of the interface shows the current user's name, role, and group.
Configuration
{
"users": {
"SECRET_KEY": {
"name": "display_name",
"role": "admin | lead | operator",
"group": "group_name"
}
},
"api_keys": {
"apk_SECRET_KEY": {
"name": "Integration Name",
"scope": "read",
"group": "group_name"
}
}
}
Точность.
Это платформа визуальной инспекции на базе искусственного интеллекта, созданная для устранения человеческого фактора и обеспечения лабораторной точности каждой проверки. Нейросеть, обученная на реальных производственных данных, мгновенно и стабильно выявляет дефекты, отклонения и аномалии.
Скорость.
Задайте зоны интереса, сделайте снимки — и система выполнит анализ. Каждый результат фиксируется, прослеживается и доступен для просмотра в любое время. Операторы получают чёткие вердикты с оценкой уверенности, а руководители — статистику, историю и полный аудиторский след.
Уверенность.
Создано для производства. Доступно с любого устройства — компьютера или телефона. Установка не требуется — просто откройте браузер и начните инспекцию.
Каждая загруженная фотография проходит многоэтапный конвейер для поиска и анализа совпадающей зоны:
1. Глобальное выравнивание — входное изображение совмещается с эталоном методом SIFT (5000 ключевых точек) с FLANN-матчером и гомографией RANSAC. Это компенсирует угол, положение и масштаб камеры.
2. Сопоставление зон — из выровненного изображения извлекается каждая зона и ранжируется:
3. Детектирование дефектов — сравниваются эталон и извлечение:
Итоговое сходство =
50% глобальный косинус (layer 7) + 50% патч-косинус (layer 5).
4. Анализ подзон — подзоны используют ужесточённые пороги и HSV-гистограммное сравнение для выявления полностью отличающихся компонентов. Вердикт зоны = наихудший статус среди подзон.
5. Блендинг эталона — модуль auto-blend выравнивает несколько фотографий через SIFT (с обнаружением штрихкодов/QR как опорных точек) и усредняет их попиксельно для получения чистого эталона.
Откройте URL приложения. На странице входа введите ключ доступа, выданный администратором. Ключ привязан к имени оператора. Сеанс сохраняется 30 дней.
Система работает в 3 шага:
Нажатие на индикатор Шаг 1 в любой момент сбрасывает сессию и возвращает к началу.
В заголовке страницы два поля:
Большее значение = строже (больше дефектов определяется). Меньшее = мягче.
Перетащите (или выберите через диалог) одно фото эталона в область загрузки. Форматы: PNG, JPG, JPEG, BMP, WebP.
Загрузите 2+ фото одного и того же объекта. Система покажет панель блендинга:
Блендинг нескольких фото уменьшает шум и даёт более чистый эталон.
Шаблоны хранят эталонное изображение + разметку зон для повторного использования. Отображаются карточками в Шаге 1: имя, маска штрихкода, версия, количество зон, дата создания.
Нажмите "Load" на карточке — сразу переход к Шагу 3 с готовыми зонами. Появляется бейдж "Recipe" с именем шаблона.
В Шаге 2, после рисования зон, введите имя и опционально маску штрихкода, нажмите "Save Template".
Нажмите "Edit" — откроется полноэкранный редактор. Возможности:
"Save changes" создаёт новую версию. Предыдущие версии видны в боковой панели. Нажатие на старую версию восстанавливает её (создаётся новая версия).
Кнопка "Delete" на карточке. Требуется подтверждение.
Префикс (например "7334"), по которому валидируются сканированные серийные номера. Если код не начинается с маски — предупреждение "Mask mismatch".
В Шаге 2 кликните и перетащите мышь по эталонному изображению для создания прямоугольной зоны. Зоны автоматически нумеруются ("Zone 1", "Zone 2"...) и раскрашиваются.
Нажмите значок прицела на чипе зоны. Поставьте до 2 якорных точек на изображении. При съёмке с мобильного камера покажет ориентиры для выравнивания объекта.
Нажмите значок квадрата на чипе. Нарисуйте до 10 прямоугольников внутри зоны. Подзоны анализируются отдельно с более строгими порогами. У каждой подзоны свой статус, % дефектов и изображения. Итоговый статус зоны = наихудший среди всех подзон.
Ctrl+scroll или кнопки +/-. Диапазон: 100%–800%.
Нажмите "Save zones & start check" для фиксации зон и перехода к Шагу 3.
Перед проверкой зон отсканируйте штрихкод / QR-код / DataMatrix для идентификации объекта. Загрузите фото с ПК или используйте мобильную камеру. Проверка зон заблокирована до сканирования. Распознанное значение отображается с типом кода (QR_CODE, CODE_128 и т.д.).
Перетащите одно или несколько фото зон в область загрузки, нажмите "Run Check". Файлы обрабатываются последовательно со счётчиком прогресса ("[1/5]", "[2/5]" и т.д.).
Каждое фото автоматически сопоставляется с наиболее подходящей зоной через многоэтапный анализ:
Сопоставленная зона сравнивается с эталоном:
Результат: SSIM, % дефектов, количество регионов, статус (OK / WARN / DEFECT), визуализация (карта дефектов, тепловая карта, вырезанная зона, эталонный кроп).
Если у зоны есть подзоны — каждая анализируется отдельно с более строгими порогами. Итоговый статус зоны = наихудший из (статус зоны, все статусы подзон).
После каждой проверки: 5 изображений (вход, эталон, вырезка, карта дефектов, тепловая карта), статистика, столбчатая диаграмма оценок всех зон, подзоны (если есть). Клик по изображению — полноразмерный просмотр в лайтбоксе.
У каждой зоны и подзоны два результата:
Если оператор изменил результат, исходный отображается зачёркнутым со стрелкой к принятому статусу и значком карандаша.
Итоговый статус инспекции — наихудший эффективный статус всех зон. Эффективный = переопределение зоны > наихудшее переопределение подзон > расчётный. Любой DEFECT делает всю инспекцию дефектной. Любой WARN (без дефектов) — предупреждение.
Переключатель "auto" рядом с прогресс-баром. Когда все зоны OK и авто-принятие включено — результат автоматически сохраняется и через 3 секунды начинается новый объект.
"Close & Save" — сохраняет инспекцию (полную или частичную) и сбрасывает для следующего объекта.
Отменить текущий объект без сохранения. Сессия сбрасывается.
Очищает только не-ОК зоны для повторной съёмки без сброса всей инспекции.
В Шаге 3 отображаются QR-код и URL. Отсканируйте телефоном для открытия мобильной страницы. Отдельный вход не требуется.
Вкладка "Serial" — живая камера со сканирующей рамкой и анимированной линией. При распознавании звучит сигнал. Также можно выбрать фото из галереи.
Вкладка "Zone" показывает какую зону нужно снять. Переключение между зонами стрелками влево/вправо.
Если у зоны заданы якорные точки — на видео камеры показываются штриховые круги-ориентиры. В реальном времени определяются позиции якорей на изображении. При совпадении (зелёные круги + галочка) — можно снимать.
"Capture Zone" — снимок. Звук затвора. Фото ставится в очередь для десктопа, где обрабатывается автоматически (опрос каждые 5 секунд). Также можно загрузить несколько фото из галереи.
Мобильная страница опрашивает сервер каждые 5 секунд для синхронизации состояния с десктопом.
Прокрутите страницу вниз и нажмите "Inspection History" для раскрытия панели. Каждая строка: дата, время, серийный номер, шаблон, оператор, количество зон, итоговый статус, краткая статистика (OK/defect/warn, ср. оценка, макс. % дефектов). Переопределённые результаты помечены значком карандаша.
Введите в строку поиска. Формат: серийник / шаблон / оператор. Поддерживается
* как подстановка. Каждая часть фильтрует соответствующее поле. Пример:
7334* / Module XY / John.
Нажмите на строку для раскрытия: ряд статистики, кольцевая диаграмма (OK/Defect/Warn), столбцы оценок зон, карточки изображений с бейджами статуса и % дефектов. Карточки подзон имеют красную левую границу.
Нажмите на карточку изображения зоны — откроется полноразмерное сравнение снимка и эталона бок о бок.
Если принятый статус отличается от расчётного, на карточке зоны: расчётный -> принятый. Аналогично для подзон.
Кнопка "Print" на строке истории — генерирует формальный документ инспекции со всеми метаданными, таблицей зон (с переопределениями), графиками, изображениями зон. Открывает диалог печати браузера.
История загружается по 20 записей. "Load more" для просмотра старых результатов.
Появляется в Шаге 3 после проверки первой зоны. Содержит:
Все графики и счётчики обновляются в реальном времени по мере проверки зон.
Цветные чипы под панелью проверки: зелёный = OK, жёлтый = WARN, красный = DEFECT, синий = не проверена. Показывает эффективный статус (с учётом переопределений). Клик — просмотр результата зоны.
Показывает "N/M зон проверено" с процентным заполнением.
Маленький холст с полным видом эталона и наложением зон. Непроверенные зоны пульсируют; проверенные показывают статусный цвет и маркер.
При проверке всех зон: "ALL ZONES OK" (зелёный) или "ISSUES FOUND" (жёлтый). Показывает серийный номер. Кнопки для сохранения, пропуска или перепроверки.
apk_).
Обратитесь к администратору для его получения.Все запросы требуют заголовок X-Auth-Key с действующим API-ключом.
API-ключи работают только на чтение — получение результатов инспекций и изображений.
X-Auth-Key: apk_ваш_ключ
GET /api/v1/results
Параметры запроса:
from — дата начала (ISO, напр. 2026-03-01)to — дата окончания (ISO, напр. 2026-03-19)serial — фильтр по серийному номеру, поддержка *template — фильтр по имени шаблонаoperator — фильтр по операторуstatus — ok, warn или defectlimit — макс. результатов на страницу (по умолч. 50, макс. 500)offset — пропустить N результатов (пагинация)Пример:
curl -H "X-Auth-Key: apk_..." \ "https://your-host/api/v1/results?from=2026-03-01&serial=SN-12*&limit=10"
Ответ:
{
"total": 42,
"limit": 10,
"offset": 0,
"results": [
{
"result_id": "a1b2c3d4_143000",
"timestamp": "2026-03-19T14:30:00",
"serial": "SN-1234-2026",
"template_name": "Module X",
"operator": "operator1",
"overall_status": "ok",
"zones": [
{
"label": "U1",
"status": "ok",
"score": 0.87,
"defect_pct": 3.2,
"image_url": "/api/v1/results/.../images/zone_0.jpg"
}
]
}
]
}
GET /api/v1/results/{result_id}
Возвращает полную запись инспекции. Добавьте ?images=base64 для
встраивания изображений в JSON как Base64 (удобно для одиночных записей,
но большой объём данных).
curl -H "X-Auth-Key: apk_..." \ "https://your-host/api/v1/results/a1b2c3d4_143000?images=base64"
GET /api/v1/results/{result_id}/images/{filename}
Возвращает JPEG-изображение. Поля image_url в JSON-ответе
указывают на этот эндпоинт. Используйте тот же API-ключ в заголовке.
curl -H "X-Auth-Key: apk_..." -o zone.jpg \ "https://your-host/api/v1/results/a1b2c3d4_143000/images/zone_0.jpg"
401 — отсутствует или недействителен API-ключ403 — недостаточные права (напр. ключ оператора на /api/v1/)404 — результат или изображение не найдены503 — база данных недоступна# 1. Получить недавние инспекции для серийника начинающегося с "SN-12" KEY="apk_Xk9mP2qR7vN4wL5bT8cF" HOST="https://inspect.metaprodtrace.com" curl -s -H "X-Auth-Key: $KEY" \ "$HOST/api/v1/results?from=2026-03-01&serial=SN-12*&limit=5" \ | python3 -m json.tool
# 2. Получить один результат с полными данными RID="a1b2c3d4_143000" curl -s -H "X-Auth-Key: $KEY" \ "$HOST/api/v1/results/$RID" \ | python3 -m json.tool
# 3. Скачать изображение зоны из этого результата curl -H "X-Auth-Key: $KEY" \ -o zone_photo.jpg \ "$HOST/api/v1/results/$RID/images/zone_0.jpg"
# 4. Получить результат с изображениями встроенными как Base64 curl -s -H "X-Auth-Key: $KEY" \ "$HOST/api/v1/results/$RID?images=base64" \ | python3 -m json.tool
# 5. Без ключа — ожидаем 401
curl -s "$HOST/api/v1/results"
# {"error": "Unauthorized"}
Система использует групповое управление доступом с тремя ролями пользователей и привязкой API-ключей к группам.
Роли
| admin | Полный доступ ко всему. Без ограничений по группе. Управление всеми шаблонами, просмотр всех результатов, очистка истории. |
| lead | Принадлежит группе. Может создавать, редактировать, удалять и восстанавливать шаблоны (своей группы + общие). Видит результаты только своей группы. |
| operator | Принадлежит группе. Может использовать шаблоны (своей группы + общие) и проводить инспекции. Не может создавать/редактировать/удалять шаблоны. Видит результаты только своей группы. |
Группы
Каждый не-admin пользователь принадлежит группе (например "line1", "line2"). Группы изолируют данные:
-- Шаблоны с группой видны только участникам этой группы.
-- Шаблоны без группы (пустая) являются общими -- видны
всем.
-- Результаты инспекций строго фильтруются по группе.
-- Admin видит все, независимо от группы.
API-ключи
Внешние API-ключи (префикс apk_) тоже поддерживают привязку к группе:
-- Ключ с "group": "line1" читает результаты только этой группы.
-- Ключ без группы читает все результаты.
-- Scope "read" ограничивает GET-запросами на /api/v1/* эндпоинты.
Бейдж в хедере
В правом верхнем углу интерфейса отображаются имя, роль и группа текущего пользователя.
Конфигурация
{
"users": {
"СЕКРЕТНЫЙ_КЛЮЧ": {
"name": "отображаемое_имя",
"role": "admin | lead | operator",
"group": "имя_группы"
}
},
"api_keys": {
"apk_СЕКРЕТНЫЙ_КЛЮЧ": {
"name": "Имя интеграции",
"scope": "read",
"group": "имя_группы"
}
}
}