Перейти к содержимому
Эта страница переведена автоматически с английского. Сообщите об ошибке или предложите исправление.

Account API и интеграция сторонних приложений

Сторонние приложения подключаются к бэкенду TigerSystem — обычному Firebase — по стандартной схеме Firebase:

  1. Получите публичную конфигурацию SDK: https://tigertag-cdn.web.app/__/firebase/init.json
  2. firebase.initializeApp(config)
  3. Аутентифицируйте собственный аккаунт TigerTag пользователя (публичность конфигурации намеренна — безопасность обеспечивается на стороне сервера правилами Firestore).
  4. Читайте и записывайте данные этого пользователя в пределах документированной поверхности.

Полный контракт интеграции находится в TigerTag_Firebase_Integration:

Документ Содержание
docs/01-firebase-config.md Конфигурация проекта и подключение
docs/02-authentication.md Сценарии аутентификации
docs/03-data-model.md Коллекции и поля Firestore (справочник по модели данных)
docs/04-friend-system.md Коды обнаружения, запросы, общие инвентари
docs/05-rate-limiting.md Лимиты добросовестного использования
examples/ Python CLI, ESP32/Arduino, Home Assistant, мост Spoolman
  • users/{uid}/** по умолчанию доступен только владельцу.
  • Запись данных другого пользователя всегда требует предварительной связи (например, принятой дружбы) — открытых путей записи нет.
  • Некоторые коллекции работают по белому списку полей: запись с полями вне списка отклоняется.
  • Поля только для администратора (роли, флаги отладки) клиент записать не может никогда.

cdn.tigertag.io находится в том же проекте Firebase, что и аккаунты: он размещает общую справочную базу данных, изображения катушек (включая фотографии продуктов TigerTag+) и HTTP-эндпоинты, связанные с базой данных TigerSystem.

Эндпоинт Назначение
https://cdn.tigertag.io/healthz/ Проверка работоспособности
https://cdn.tigertag.io/setSpoolWeightByRfid?ApiKey=&uid=&weight= Передать вес катушки по UID чипа (используется устройствами класса весов)

TODO: полный каталог HTTP API (модель аутентификации, форматы ошибок) — будет описан в репозитории интеграции и кратко изложен здесь.


См. также: Инвентарь и облачная синхронизация, Архитектура