Global IDs
Como funcionam os IDs globais Relay na Storefront API.
Visão Geral
Todos os objetos da API que possuem um campo id usam IDs globais Relay. Cada ID é uma string base64 que codifica o tipo do objeto e seu identificador interno.
Formato
Um Global ID é uma string base64 no formato Tipo:uuid. Por exemplo:
| Global ID (base64) | Decodificado | Tipo |
|---|---|---|
UHJvZHVjdDphYmMxMjM= | Product:abc123 | Product |
T3JkZXI6ZGVmNDU2 | Order:def456 | Order |
Q2F0ZWdvcnk6Z2hpNzg5 | Category:ghi789 | Category |
Por que Global IDs?
- Unicidade global: Cada ID é único em toda a API, independente do tipo
- Tipo embutido: O servidor sabe qual tipo de objeto buscar a partir do ID
- Cache: Clients GraphQL (como Apollo, Relay) usam o ID para normalização de cache
Buscando por ID
Use a query product para buscar um produto pelo seu Global ID, ou products para buscar múltiplos.
Decodificação
Para decodificar um Global ID no frontend:
Importante: Global IDs são opacos. Não decodifique o ID para extrair o UUID interno em produção — use as queries da API para buscar objetos. A decodificação é útil apenas para debugging.