GET https://api.fire.rest/api/v1/fire/external/stores?page=1&size=20
x-api-key: <sua_api_key>
{
"stores": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"storeNumber": 10,
"storeCode": "ST-10",
"accountId": "550e8400-e29b-41d4-a716-446655440000",
"vendorId": "100.1.10",
"name": "Main Store",
"externalId": "EXT-10",
"status": "PUBLISHED",
"active": "ACTIVE",
"timezone": "America/Guayaquil",
"location": {
"countryId": "1",
"countryCode": "EC",
"countryName": "Ecuador",
"cityId": "2",
"cityCode": "UIO",
"cityName": "Quito",
"address": "Av. Amazonas N32-14",
"latitude": -0.18,
"longitude": -78.47,
"timezone": "America/Guayaquil",
"currencyCode": "USD"
},
"services": [],
"channels": [
{ "code": "APP", "enabled": true, "fulfillmentTypes": ["DELIVERY", "PICKUP"] }
],
"publishedChannels": ["APP"],
"operationSchedule": [],
"salesSchedule": [],
"schedulesByChannel": [],
"taxesInfo": { "taxRate": 0, "vatRatePercentage": 12 },
"contactInfo": { "phone": "+593 2 000 0000" },
"deliveryInfo": null,
"salesGoals": null,
"fiscal": {
"enabled": true,
"company": {
"govIdType": "RUC",
"govIdNumber": "1790012345001",
"legalName": "Sandbox Ecuador Cia. Ltda.",
"tradeName": "Sandbox EC"
},
"govIdType": "RUC",
"govIdNumber": "1790012345001",
"secondaryGovIdType": null,
"secondaryGovIdNumber": null,
"metadata": null
},
"operational": {
"isBusinessDayOpen": true,
"businessDayDate": "2026-07-01",
"activeChannels": ["APP"]
},
"syncStatus": "SYNCED",
"lastSyncedAt": "2026-07-01T00:00:00Z",
"createdAt": "2026-06-01T00:00:00Z",
"updatedAt": "2026-06-02T00:00:00Z"
}
],
"total": 1,
"page": 1,
"size": 20,
"totalPages": 1
}
{
"success": false,
"error": "UNAUTHORIZED",
"message": "Invalid or missing API key"
}
{
"success": false,
"error": "FORBIDDEN",
"message": "API key is not authorized for the requested vendor"
}
API
Listar lojas
Lista as lojas do account e vendor vinculados à sua API key, com paginação e filtros.
GET
/
api
/
v1
/
fire
/
external
/
stores
GET https://api.fire.rest/api/v1/fire/external/stores?page=1&size=20
x-api-key: <sua_api_key>
{
"stores": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"storeNumber": 10,
"storeCode": "ST-10",
"accountId": "550e8400-e29b-41d4-a716-446655440000",
"vendorId": "100.1.10",
"name": "Main Store",
"externalId": "EXT-10",
"status": "PUBLISHED",
"active": "ACTIVE",
"timezone": "America/Guayaquil",
"location": {
"countryId": "1",
"countryCode": "EC",
"countryName": "Ecuador",
"cityId": "2",
"cityCode": "UIO",
"cityName": "Quito",
"address": "Av. Amazonas N32-14",
"latitude": -0.18,
"longitude": -78.47,
"timezone": "America/Guayaquil",
"currencyCode": "USD"
},
"services": [],
"channels": [
{ "code": "APP", "enabled": true, "fulfillmentTypes": ["DELIVERY", "PICKUP"] }
],
"publishedChannels": ["APP"],
"operationSchedule": [],
"salesSchedule": [],
"schedulesByChannel": [],
"taxesInfo": { "taxRate": 0, "vatRatePercentage": 12 },
"contactInfo": { "phone": "+593 2 000 0000" },
"deliveryInfo": null,
"salesGoals": null,
"fiscal": {
"enabled": true,
"company": {
"govIdType": "RUC",
"govIdNumber": "1790012345001",
"legalName": "Sandbox Ecuador Cia. Ltda.",
"tradeName": "Sandbox EC"
},
"govIdType": "RUC",
"govIdNumber": "1790012345001",
"secondaryGovIdType": null,
"secondaryGovIdNumber": null,
"metadata": null
},
"operational": {
"isBusinessDayOpen": true,
"businessDayDate": "2026-07-01",
"activeChannels": ["APP"]
},
"syncStatus": "SYNCED",
"lastSyncedAt": "2026-07-01T00:00:00Z",
"createdAt": "2026-06-01T00:00:00Z",
"updatedAt": "2026-06-02T00:00:00Z"
}
],
"total": 1,
"page": 1,
"size": 20,
"totalPages": 1
}
{
"success": false,
"error": "UNAUTHORIZED",
"message": "Invalid or missing API key"
}
{
"success": false,
"error": "FORBIDDEN",
"message": "API key is not authorized for the requested vendor"
}
Retorna as lojas do account + vendor vinculados à sua API key. Cada loja vem com sua configuração
completa — location, services, channels, schedules, informações de impostos e contato, configuração
de delivery, metas de vendas, o bloco fiscal e o estado operacional. Apenas os campos internos do
Fire são excluídos (o
Cada faixa da DIAN traz
effectiveSettings derivado, drafts/overrides e colunas de auditoria).
Use projeção de campos (?fields=) para retornar apenas os campos que você precisa.
Autenticação
string
obrigatório
Sua API key do Fire com scope
store:read. A key deve ser vendor-scoped (binding account +
vendor) — keys sem vendorId são rejeitadas com 403.Query params
O account e o vendor são derivados da sua API key (vendor-scoped) — não são enviados por query.
string
Lista de campos a retornar separados por vírgula (projeção). Veja Projeção de campos.
Omita para retornar todos os campos. Um campo desconhecido resulta em
400.string
Filtra por status de publicação:
DRAFT, PUBLISHED, PARTIALLY_PUBLISHED, ARCHIVED.string
Filtra por estado operacional:
ACTIVE, INACTIVE, SUSPENDED.string
Filtra por estado de sync:
SYNCED, PENDING, FAILED.string
Filtra por id de cidade.
string
Filtra por um código de canal publicado (ex.
APP).string
Busca de texto sobre nome, store code e external id.
integer
padrão:"1"
Número da página (base 1).
integer
padrão:"20"
Tamanho da página (1–500).
Requisição
GET https://api.fire.rest/api/v1/fire/external/stores?page=1&size=20
x-api-key: <sua_api_key>
Resposta
object[]
Mostrar store
Mostrar store
string
UUID da loja.
integer
Número sequencial da loja.
string | null
Código interno da loja.
string
UUID do account.
string
Identificador do vendor.
string
Nome da loja.
string | null
Identificador externo controlado pelo Fire.
string
DRAFT | PUBLISHED | PARTIALLY_PUBLISHED | ARCHIVED.string
ACTIVE | INACTIVE | SUSPENDED.string | null
Timezone IANA (ex.
America/Guayaquil). Usa location.timezone como fallback.object | null
object[] | null
Configuração de serviços da loja (dine-in, takeout, delivery…). Passthrough dos settings da loja.
object[] | null
Configuração por canal — cada entrada carrega
code, enabled, fulfillmentTypes e schedules.string[]
Códigos de canais publicados (ex.
["APP"]).object[] | null
Horários de operação por dia/intervalo.
object[] | null
Horários de vendas por dia/intervalo.
object[] | null
Horários sobrescritos por canal.
object | null
Configuração de impostos (ex.
taxRate, vatRatePercentage).object | null
Dados de contato da loja (ex.
phone).object | null
Configuração de delivery.
object | null
Configuração de metas de vendas.
object | null
Configuração fiscal — mesmo formato de
store.storeFiscalConfig no evento order.completed
(ambos são projetados pela mesma função). null quando a loja não tem configuração fiscal. Veja
O bloco fiscal.Mostrar fiscal
Mostrar fiscal
boolean
Indica se a emissão fiscal está habilitada.
object
string
Tipo de identificação fiscal principal (nível raiz, conveniência legada).
string
Número de identificação fiscal principal.
string | null
Tipo de identificação fiscal secundária (
INSCRICAO_ESTADUAL no Brasil). null quando a loja não a tem.string | null
Número de identificação fiscal secundária.
null quando a loja não a tem.object | null
O que a loja tem configurado para emitir; o conteúdo depende do país.
null quando não tem. Veja O bloco fiscal.object | null
Estado em runtime — ex.
{ isBusinessDayOpen, businessDayDate, activeChannels }.string
SYNCED | PENDING | FAILED.string | null
Datetime ISO 8601.
string
Datetime ISO 8601.
string
Datetime ISO 8601.
integer
Total de lojas que correspondem à query.
integer
Página atual.
integer
Tamanho da página.
integer
Total de páginas.
{
"stores": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"storeNumber": 10,
"storeCode": "ST-10",
"accountId": "550e8400-e29b-41d4-a716-446655440000",
"vendorId": "100.1.10",
"name": "Main Store",
"externalId": "EXT-10",
"status": "PUBLISHED",
"active": "ACTIVE",
"timezone": "America/Guayaquil",
"location": {
"countryId": "1",
"countryCode": "EC",
"countryName": "Ecuador",
"cityId": "2",
"cityCode": "UIO",
"cityName": "Quito",
"address": "Av. Amazonas N32-14",
"latitude": -0.18,
"longitude": -78.47,
"timezone": "America/Guayaquil",
"currencyCode": "USD"
},
"services": [],
"channels": [
{ "code": "APP", "enabled": true, "fulfillmentTypes": ["DELIVERY", "PICKUP"] }
],
"publishedChannels": ["APP"],
"operationSchedule": [],
"salesSchedule": [],
"schedulesByChannel": [],
"taxesInfo": { "taxRate": 0, "vatRatePercentage": 12 },
"contactInfo": { "phone": "+593 2 000 0000" },
"deliveryInfo": null,
"salesGoals": null,
"fiscal": {
"enabled": true,
"company": {
"govIdType": "RUC",
"govIdNumber": "1790012345001",
"legalName": "Sandbox Ecuador Cia. Ltda.",
"tradeName": "Sandbox EC"
},
"govIdType": "RUC",
"govIdNumber": "1790012345001",
"secondaryGovIdType": null,
"secondaryGovIdNumber": null,
"metadata": null
},
"operational": {
"isBusinessDayOpen": true,
"businessDayDate": "2026-07-01",
"activeChannels": ["APP"]
},
"syncStatus": "SYNCED",
"lastSyncedAt": "2026-07-01T00:00:00Z",
"createdAt": "2026-06-01T00:00:00Z",
"updatedAt": "2026-06-02T00:00:00Z"
}
],
"total": 1,
"page": 1,
"size": 20,
"totalPages": 1
}
{
"success": false,
"error": "UNAUTHORIZED",
"message": "Invalid or missing API key"
}
{
"success": false,
"error": "FORBIDDEN",
"message": "API key is not authorized for the requested vendor"
}
O bloco fiscal
fiscal espelha store.storeFiscalConfig no evento order.completed — ambos são projetados pela
mesma função, então um integrador fiscal obtém exatamente o mesmo formato por qualquer caminho
(incluindo os fallbacks legados de nível raiz govIdType / govIdNumber). fiscal é null para
lojas sem configuração fiscal.
O bloco fiscal tem o mesmo formato para todos os países: secondaryGovIdType,
secondaryGovIdNumber e metadata vêm sempre, em null quando a loja não tem o dado. O que muda
por país é o conteúdo de metadata: o que a loja tem configurado para emitir. O país vem de
location.countryCode.
| País | govIdType | secondaryGovIdType | metadata |
|---|---|---|---|
| BR | CNPJ | INSCRICAO_ESTADUAL | { storeCode3S, serialNumber, neverstop } |
| CO | NIT | null | { claveTecnica, rangoFacturacion, rangoNotaCredito } — faixas da DIAN |
| EC | RUC | null | null |
| CL | RUT | null | null |
| AR | CUIT | null | null |
| VE | RIF | null | null |
prefijo, desde, hasta, resolucion, vigenteHasta, nombre,
identificacion e pin.
Projeção de campos
Escolha quais campos cada loja retorna, similar à projeção do MongoDB ou ao parâmetro_source do
Elasticsearch. Aplica-se tanto à listagem quanto à loja específica.
- Sem
fields→ todos os campos são retornados. fields=id,storeCode,name,fiscal→ apenas esses.- Um campo fora do catálogo →
400com a lista de campos permitidos.
id, storeNumber, storeCode, accountId, vendorId, name,
externalId, status, active, timezone, location, services, channels,
publishedChannels, operationSchedule, salesSchedule, schedulesByChannel, taxesInfo,
contactInfo, deliveryInfo, salesGoals, fiscal, operational, syncStatus, lastSyncedAt,
createdAt, updatedAt.
Relacionado
Obter loja
Leia uma loja específica por id.
Listar pedidos da loja
Lista os pedidos de uma loja específica.

