FAQ для администратора

Справочник для поддержки клиентов: готовые ответы, диагностика проблем, скрипты проверки. Используйте при общении с клиентами по телефону, в чате или email.

Внутренний документ

Эта страница предназначена для сотрудников поддержки и администраторов ObjectAI. Не давайте клиентам прямую ссылку на эту страницу.

1. Перед звонком клиента

Чеклист подготовки

  • ☐ Узнайте ID сессии (кассы) клиента
  • ☐ Проверьте статус подписки клиента в админке
  • ☐ Проверьте логи последних ошибок: GET /sessions/{id}/cash/alerts
  • ☐ Проверьте статус POS-подключения: GET /sessions/{id}/cash/pos-status
  • ☐ Если проблема с камерой — GET /sessions/{id}/camera/status

2. Проблемы с подключением POS

«Касса не подключается» (АТОЛ / Штрих-М)

Причины:

  1. 1. Драйвер не запущен. Попросите клиента проверить, что ATOL Driver / Штрих-М Web Server запущен как служба.
  2. 2. HTTP API выключен. В настройках драйвера нужно явно включить HTTP-сервер.
  3. 3. Неверный IP/порт. Попросите клиента выполнить в cmd:
    curl http://127.0.0.1:16732/api/v2/deviceInfo
    Если ответа нет — проблема на стороне кассы.
  4. 4. Файрвол. Порт заблокирован. Добавить исключение:
    netsh advfirewall firewall add rule name="ATOL" dir=in action=allow protocol=TCP localport=16732
  5. 5. Разные сети. ObjectAI и касса в разных подсетях. Нужен VPN или проброс порта.

Ответ клиенту: «Проверьте, что кассовое ПО запущено и HTTP API включён. Выполните команду [curl...] — если ответ пустой, обратитесь к поставщику кассы для включения HTTP-доступа.»

«Касса не подключается» (Эвотор / Дримкас)

Причины:

  1. 1. Неверный API-ключ. Попросите клиента перегенерировать токен в ЛК Эвотор/Дримкас.
  2. 2. Токен просрочен. Некоторые токены имеют срок действия.
  3. 3. Нет доступа к API. У клиента может не быть подписки на API в Эвотор/Дримкас. Нужно активировать.
  4. 4. Магазин не выбран. ObjectAI автоматически берёт первый магазин. Если их несколько — укажите store_uuid вручную.

Ответ клиенту: «Войдите в личный кабинет вашей кассовой системы, создайте новый API-токен и вставьте его в настройки ObjectAI. Убедитесь, что у вас активирован доступ к API.»

«Касса не подключается» (1С:Касса)
  1. 1. HTTP-сервис не опубликован. В 1С: Администрирование → Публикация → HTTP-сервисы.
  2. 2. Неверный логин/пароль. Проверьте что пользователь имеет права на чтение документов.
  3. 3. Веб-сервер 1С не запущен. Проверить: curl http://IP:8080/hs/pos/ping
  4. 4. Нестандартный путь. По умолчанию ObjectAI обращается к /hs/pos/. Если путь другой — укажите его в extra.base_path.

Ответ клиенту: «Обратитесь к вашему 1С-программисту для публикации HTTP-сервиса и создания пользователя для ObjectAI.»

«Подключение есть, но данные не приходят»
  1. 1. Нет новых чеков. Попросите клиента пробить тестовый чек.
  2. 2. Для Custom REST: Клиент должен отправлять события сам. Убедитесь что скрипт запущен.
  3. 3. Интервал опроса слишком большой. Уменьшите до 1 секунды.
  4. 4. Проверьте события_received: GET /sessions/{id}/cash/pos-status → events_received. Если 0 — адаптер не получает данных.
«Подключение постоянно обрывается»
  1. 1. Нестабильная сеть. Проверьте ping до кассы.
  2. 2. Касса перегружена. Увеличьте timeout до 10 секунд и poll_interval до 3 секунд.
  3. 3. ObjectAI автоматически переподключается с увеличивающейся задержкой (5с → 10с → 20с → ... → макс 2 мин). Это нормально.

3. Проблемы с камерой

«Камера не подключается»

1. Проверьте RTSP URL. Самая частая ошибка — неверный пароль или порт.

2. Проверьте что камера отдаёт видео: ffprobe rtsp://admin:pass@IP:554/...

3. Hikvision: основной поток — /Channels/101, доп. поток — /Channels/102. Для экономии ресурсов используйте доп. поток.

4. Порт 554 может быть закрыт файрволом камеры. Проверьте через веб-интерфейс камеры.

«Видео тормозит / низкий FPS»

1. Используйте доп. поток камеры (720p вместо 1080p) для мониторинга.

2. Уменьшите FPS камеры до 15 — для контроля касс этого достаточно.

3. Проверьте загрузку CPU сервера ObjectAI. На 1 кассу нужно ~1 ядро.

4. ObjectAI использует адаптивный frame-skipping — это нормальное поведение для экономии ресурсов.

«Какую камеру посоветовать?»

Бюджет (3-5 тыс. ₽): Hikvision DS-2CD1023G0E-I — 2MP, PoE, ИК-подсветка.

Оптимально (6-10 тыс. ₽): Hikvision DS-2CD2143G2-IS — 4MP, слот SD, WDR.

Премиум (10-15 тыс. ₽): Dahua IPC-HDBW5442H-ZE — 4MP, моторизованный зум, AI-чип.

Главное — разрешение 2MP+ и хорошая ИК-подсветка если в помещении темно вечером.

4. Вопросы по алертам

«Слишком много ложных алертов»

Подстройте пороги через API или ЛК:

POST /sessions/{id}/cash/config
{
  "anomaly_config": {
    "max_manual_discount_pct": 20.0,
    "max_void_per_shift": 15,
    "max_refund_amount": 10000.0,
    "min_scan_interval": 0.2,
    "idle_alert_minutes": 30.0
  }
}

Типичный запрос: «fast_scan» срабатывает часто — увеличьте min_scan_interval до 0.2. «idle_cashier» — увеличьте idle_alert_minutes до 30.

«Не приходят уведомления в Telegram»

1. Проверьте что Telegram включён в настройках уведомлений.

2. Chat ID должен быть числовым (для групп — отрицательным).

3. Бот @ObjectAI_bot должен быть добавлен в чат/группу.

4. Проверьте фильтр severity — по умолчанию отправляются только warning и critical.

«Что означает алерт "Товар без сканирования"?»

Камера видит объект в зоне кассовой ленты, но POS не зафиксировал сканирование штрихкода.

Возможные причины:

• Кассир пронёс товар мимо сканера (воровство)

• Товар ещё не дошёл до сканера (ложное срабатывание — увеличьте задержку)

• Зона кассы задана неточно — нужно скорректировать прямоугольник

Ответ клиенту: «Этот алерт означает, что камера обнаружила товар рядом с кассой, который не был отсканирован. Проверьте видеозапись этого момента — она доступна в разделе Алерты.»

5. Вопросы о данных и безопасности

«Куда сохраняются данные?»

Облачная версия: Данные хранятся на серверах ObjectAI в РФ в зашифрованном виде (AES-256). Соответствие 152-ФЗ.

Локальная версия: Все данные на компьютере клиента. Ничего не передаётся в облако.

Сроки хранения: По умолчанию 90 дней. Настраивается в ЛК.

«Соответствует ли система требованиям 152-ФЗ?»

Да. ObjectAI не собирает и не обрабатывает персональные данные посетителей. Видео с камер обрабатывается для анализа действий кассира и привязки к транзакциям. Лица посетителей не распознаются и не сохраняются.

Политика обработки данных доступна по адресу /privacy.

«Можно ли экспортировать данные?»

Да, через API:

• Чеки: GET /sessions/{id}/cash/receipts?limit=1000

• Алерты: GET /sessions/{id}/cash/alerts?limit=1000

• Отчёт: GET /sessions/{id}/cash/report?period=monthly

Все данные возвращаются в JSON. Клиент может импортировать их в 1С, Excel и т.д.

6. Вопросы по оплате

«Сколько стоит и как оплатить?»

• Модуль «Контроль касс»: от 2 990 ₽/мес за 1 кассу

• Скидка при пакетной покупке: 5+ касс — 10%, 10+ — 20%

• Trial: 14 дней, 1 касса, бесплатно

• Оплата: карта, расчётный счёт (для юрлиц — счёт + акт)

Подробнее: /pricing

«Можно ли попробовать бесплатно?»

Да. При регистрации — 14 дней бесплатно. 1 касса, все функции. Карта не требуется.

Ответ клиенту: «Зарегистрируйтесь на objectai.ru — первые 14 дней бесплатно, без привязки карты. Вы сможете подключить 1 кассу и протестировать все функции.»

7. Диагностика и устранение неполадок

Алгоритм диагностики

Шаг 1. Проверить статус POS: GET /sessions/{id}/cash/pos-status
connected=false → проблема с подключением (см. раздел 2)
Шаг 2. Проверить events_received:
Если 0 — POS не отдаёт данные. Если >0 но не растёт — опрос остановился.
Шаг 3. Проверить статус модуля: GET /sessions/{id}/cash/status
Посмотреть shift.total_receipts — если 0, данные не обрабатываются.
Шаг 4. Проверить камеру: GET /sessions/{id}/camera/status
connected=false → проблема с RTSP URL или сетью.
Шаг 5. Проверить алерты: GET /sessions/{id}/cash/alerts?limit=10
Последние алерты покажут что происходит на кассе.

8. Скрипты диагностики

Полная проверка кассы (bash)

#!/bin/bash
# Диагностика кассы ObjectAI
SID="$1"  # ID сессии
HOST="${2:-localhost:8010}"

echo "=== POS Status ==="
curl -s "http://$HOST/sessions/$SID/cash/pos-status" | python3 -m json.tool

echo ""
echo "=== Cash Module Status ==="
curl -s "http://$HOST/sessions/$SID/cash/status" | python3 -m json.tool

echo ""
echo "=== Camera Status ==="
curl -s "http://$HOST/sessions/$SID/camera/status" | python3 -m json.tool

echo ""
echo "=== Last 5 Alerts ==="
curl -s "http://$HOST/sessions/$SID/cash/alerts?limit=5" | python3 -m json.tool

echo ""
echo "=== Last 3 Receipts ==="
curl -s "http://$HOST/sessions/$SID/cash/receipts?limit=3" | python3 -m json.tool

Использование: bash diagnose.sh a93f5b50 192.168.1.100:8010

Тестовый чек (bash)

#!/bin/bash
# Отправить тестовый чек для проверки работы модуля
SID="$1"
HOST="${2:-localhost:8010}"
URL="http://$HOST/sessions/$SID/cash/event"

curl -s -X POST "$URL" -H "Content-Type: application/json" \
  -d '{"type":"receipt_start"}'
sleep 0.5

curl -s -X POST "$URL" -H "Content-Type: application/json" \
  -d '{"type":"item_scanned","barcode":"TEST001","name":"Тестовый товар","price":100.00,"quantity":1}'
sleep 0.5

curl -s -X POST "$URL" -H "Content-Type: application/json" \
  -d '{"type":"payment","method":"card","amount":100.00}'

curl -s -X POST "$URL" -H "Content-Type: application/json" \
  -d '{"type":"receipt_end","total":100.00,"items_count":1}'

echo ""
echo "Тестовый чек отправлен. Проверьте:"
echo "  curl http://$HOST/sessions/$SID/cash/receipts?limit=1"

9. Когда эскалировать

Передайте в техотдел если:

  • • POS подключен, events_received растёт, но receipts пустые — возможный баг парсинга
  • • Сервер ObjectAI перегружен (CPU >90%, RAM >85%) при менее чем 10 кассах
  • • Клиент просит подключить POS-систему не из списка поддерживаемых
  • • Видео записывается, но оверлей с данными POS не отображается
  • • Клиент сообщает о потере данных (чеки были, но исчезли)
  • • Ошибка в логах: «CashControlProcessor exception» или «POS poll error» повторяется