Buscar a configuração pública
Um único GET retorna a configuração do projeto Firebase. O apiKey é público por design: identifica o projeto, não quem chama. Guarde-o em cache; basta atualizar toda semana.
Referência de integração para terceiros
A conta TigerSystem liga cada app e cada dispositivo. Seu app, seu dispositivo ou o Home Assistant se conecta a ela nativamente pelo Firebase: faz login com as credenciais do próprio usuário, lê os carretéis e os racks dele no Firestore e grava os pesos de volta.
$ GET https://tigertag-cdn.web.app/__/firebase/init.json
POST https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key={apiKey}
{ "email": "user@example.com", "password": "…", "returnSecureToken": true }Todo cliente segue os mesmos quatro passos: buscar a configuração pública do Firebase, fazer login como o usuário, chamar a API REST do Firestore com o token do usuário e manter esse token válido.
Um único GET retorna a configuração do projeto Firebase. O apiKey é público por design: identifica o projeto, não quem chama. Guarde-o em cache; basta atualizar toda semana.
O e-mail e a senha do usuário retornam um UID, um idToken de 1 hora e um refreshToken. O Google Sign-In exige navegador, então clientes sem interface usam senha.
Envie o idToken como token Bearer. Os carretéis ficam em users/{uid}/inventory e os racks em users/{uid}/racks; os pesos são gramas líquidos, e as datas, milissegundos Unix.
Todo cliente faz login com as credenciais do próprio usuário final. Nunca distribua o SDK firebase-admin nem qualquer chave de administrador em um cliente de terceiros.
As Firestore Security Rules verificam cada requisição pelo usuário conectado: o dono lê e grava os próprios documentos, amigos leem inventário e racks, e o resto é negado.
Os caminhos dos documentos e os nomes dos campos permanecem estáveis. Renomear ou remover um campo exige pelo menos 3 meses de aviso no changelog; campos novos são sempre aditivos.
Um esboço de componente personalizado que expõe um sensor por carretel, com o peso restante em gramas como estado. O guia também cobre os inventários de amigos, a paginação e o armazenamento de tokens.

Localize um carretel pelo UID RFID lido (uid, depois twin_uid), calcule o peso líquido e grave weight_available e last_update com uma update mask. O guia termina com um sketch ESP32 completo (WiFi, ArduinoJson).

Um cliente Python mínimo baseado no Pyrebase4: ele faz login, lista seus carretéis e mostra quantos carretéis cada amigo tem. O guia traz o script inteiro e um exemplo de execução.
Não. Todo cliente faz login com o e-mail e a senha TigerSystem do próprio usuário final, e as Firestore Security Rules decidem o que esse usuário pode ler ou gravar. Não existe chave de administrador compartilhada, e o SDK firebase-admin nunca deve ser usado em um cliente de terceiros.
O apiKey identifica o projeto Firebase, não quem faz a chamada. Sem um idToken válido, obtido ao fazer login como um usuário real, ele não dá acesso a nada; o controle de acesso é feito pela autenticação e pelas Security Rules.
Não diretamente: o Google Sign-In exige um redirecionamento no navegador. Um usuário que sempre usou apenas o Google primeiro define uma senha na conta TigerSystem, pelo fluxo de senha esquecida do Tiger Studio Manager 2 ou do Tiger NFC Connect, e depois faz login com e-mail e senha.
No máximo a cada 5 minutos para um sensor, a cada 15 minutos para uma visão geral dos racks, e nunca em menos de 30 segundos. Uma balança grava apenas quando um peso muda. As leituras de listas devem passar um limite: 200 para o inventário, 50 para os racks.
Sim, somente leitura. Quando dois usuários são amigos, cada um tem um documento referente ao outro em users/{uid}/friends, e as regras permitem que um amigo leia o inventário e os racks. Qualquer um dos dois pode desfazer a amizade a qualquer momento, o que corta o acesso imediatamente.
Escolha o guia da sua plataforma e siga-o do login até a primeira leitura. O que está documentado é o que está em produção.
Começar uma integração