GET https://api.fire.rest/api/v1/fire/external/stores/550e8400-e29b-41d4-a716-446655440000/menus
x-api-key: <sua_api_key>
{
"success": true,
"data": {
"menus": [
{
"channel": "KIOSK",
"fulfillmentType": "DINE_IN",
"syncStatus": "SYNCED",
"generatedAt": "2026-09-28T10:00:00Z",
"syncedAt": "2026-09-28T10:00:04Z"
},
{
"channel": "KIOSK",
"fulfillmentType": "TAKEAWAY",
"syncStatus": "FAILED",
"generatedAt": "2026-09-28T10:00:00Z",
"syncedAt": null
}
]
}
}
{
"success": false,
"error": "UNAUTHORIZED",
"message": "Invalid or missing API key"
}
{
"success": false,
"error": "FORBIDDEN",
"message": "API key does not have required scope: menu:read"
}
{
"success": false,
"error": "NOT_FOUND",
"message": "Store not found"
}
API
Listar menus
Lista as ternas (canal × tipo de fulfillment) da loja que têm um menu gerado, sem o menu.
GET
/
api
/
v1
/
fire
/
external
/
stores
/
{storeId}
/
menus
GET https://api.fire.rest/api/v1/fire/external/stores/550e8400-e29b-41d4-a716-446655440000/menus
x-api-key: <sua_api_key>
{
"success": true,
"data": {
"menus": [
{
"channel": "KIOSK",
"fulfillmentType": "DINE_IN",
"syncStatus": "SYNCED",
"generatedAt": "2026-09-28T10:00:00Z",
"syncedAt": "2026-09-28T10:00:04Z"
},
{
"channel": "KIOSK",
"fulfillmentType": "TAKEAWAY",
"syncStatus": "FAILED",
"generatedAt": "2026-09-28T10:00:00Z",
"syncedAt": null
}
]
}
}
{
"success": false,
"error": "UNAUTHORIZED",
"message": "Invalid or missing API key"
}
{
"success": false,
"error": "FORBIDDEN",
"message": "API key does not have required scope: menu:read"
}
{
"success": false,
"error": "NOT_FOUND",
"message": "Store not found"
}
Em breve. O design está fechado mas este endpoint ainda não está implementado. Esta página
descreve o contrato acordado para que os integradores possam se planejar antes do lançamento.
KIOSK / DINE_IN). O mesmo produto pode ter um preço diferente
entre ternas da mesma loja, então não existe “o menu da loja” como conceito único. Este endpoint
lista quais ternas de uma loja têm hoje um menu gerado; use Obter menu
para ler um.
Autenticação
string
obrigatório
Sua API key do Fire com scope
menu:read. A key deve ser vendor-scoped (binding account +
vendor) — keys sem vendorId são rejeitadas com 403.Path params
string
obrigatório
UUID da loja (
stores.id).Requisição
GET https://api.fire.rest/api/v1/fire/external/stores/550e8400-e29b-41d4-a716-446655440000/menus
x-api-key: <sua_api_key>
Resposta
object[]
Mostrar menu
Mostrar menu
string
Código do canal de venda (ex.
KIOSK).string
Código do tipo de fulfillment (ex.
DINE_IN, TAKEAWAY).string
SYNCED | FAILED | PENDING — a última tentativa de envio do menu gerado desta terna.string
Timestamp ISO 8601 da última geração do menu desta terna.
string | null
Timestamp ISO 8601 da última entrega bem-sucedida ao canal.
null se nunca sincronizou. Veja Semântica de syncedAt.{
"success": true,
"data": {
"menus": [
{
"channel": "KIOSK",
"fulfillmentType": "DINE_IN",
"syncStatus": "SYNCED",
"generatedAt": "2026-09-28T10:00:00Z",
"syncedAt": "2026-09-28T10:00:04Z"
},
{
"channel": "KIOSK",
"fulfillmentType": "TAKEAWAY",
"syncStatus": "FAILED",
"generatedAt": "2026-09-28T10:00:00Z",
"syncedAt": null
}
]
}
}
{
"success": false,
"error": "UNAUTHORIZED",
"message": "Invalid or missing API key"
}
{
"success": false,
"error": "FORBIDDEN",
"message": "API key does not have required scope: menu:read"
}
{
"success": false,
"error": "NOT_FOUND",
"message": "Store not found"
}
Notas
- Só são listadas as ternas com um menu gerado (
generatedAtnão nulo) — incluindo uma cujo último envio tenha saído vazio (veja Envio vazio). Esse caso aparece aqui mesmo assim, comsyncStatus: FAILED, para que o problema fique visível. - Esta listagem nunca retorna o corpo do menu — ela é feita para pular a coluna JSONB pesada. Busque uma terna específica com Obter menu.
channelefulfillmentTypesão comparados sem diferenciar maiúsculas com o que você envia para Obter menu — não há um id separado para buscá-las.
Relacionado
Obter menu
Leia o menu de uma terna específica, com seu status de sincronização.
Obter loja
Leia uma loja específica por id.

