Buscar na documentação
ctrl+4K
Módulos
Authentication
Merchant
Catalog
Order
Events
Logistics
Shipping
Review
Financial
Soluções

Operações

Operações definem como sua loja atende pedidos. Configure operações diferentes para delivery, retirada ou consumo no local, cada uma com seus próprios horários, catálogos e regras.
OperaçãoDescriçãoDisponibilidade
DELIVERYEntrega no endereço do clienteDisponível
TAKEOUTRetirada pelo cliente na lojaDisponível
INDOORConsumo no local(Em breve)
Recomendação: Use DELIVERY para entregas residenciais e TAKEOUT para retiradas na loja.
Operação vs. Tipo de pedidoOperação é a configuração da loja (como ela atende). Tipo de pedido é como cada pedido individual será processado. Uma loja com operação DELIVERY pode receber pedidos com diferentes tipos de entrega (própria, iFood, agendada).Veja mais em Tipos de pedido.
Canais são as interfaces onde clientes fazem pedidos. Cada operação pode receber pedidos de múltiplos canais.
CanalDescrição
MARKETPLACEApp e site do iFood
WHATSAPPPedidos via WhatsApp Business
DIGITAL_CATALOGCardápio digital próprio da loja
TOTEMTerminais de autoatendimento na loja
Cada canal pode ter horários e configurações independentes dentro de uma mesma operação.Uma operação pode aceitar pedidos de vários canais. Configure cada combinação de forma independente:
OperaçãoCanalExemplo de configuração
DELIVERYMARKETPLACEEntregas via app iFood, horário comercial
DELIVERYWHATSAPPEntregas via WhatsApp, horário estendido
TAKEOUTDIGITAL_CATALOGRetirada com cardápio próprio
TAKEOUTTOTEMRetirada via autoatendimento
Exemplo: Uma loja pode ter DELIVERY via MARKETPLACE de 11h-23h, mas via WHATSAPP de 8h-23h.
Cada combinação operação + canal permite configurações independentes:
ConfiguraçãoDescrição
Horário de funcionamentoDefina horários diferentes para cada operação
CatálogoUse cardápios distintos (ex: menu reduzido para delivery)
Área de entregaConfigure raios diferentes por canal (apenas DELIVERY)
Tempo de preparoAjuste estimativas conforme a operação
Uma pizzaria pode configurar:
OperaçãoCanalHorárioCatálogo
DELIVERYMARKETPLACE18h - 23hMenu completo
TAKEOUTDIGITAL_CATALOG11h - 23hMenu completo
TAKEOUTTOTEM11h - 15hMenu almoço
Esta configuração permite maior flexibilidade:
  • Delivery apenas no período noturno via MARKETPLACE
  • Takeout disponível o dia todo
  • Menu reduzido ao meio-dia via TOTEM (autoatendimento)
Para consultar as operações configuradas de uma loja, use:
curl --location 'https://merchant-api.ifood.com.br/merchant/v1.0/merchants/550e8400-e29b-41d4-a716-446655440000' \
  --header 'Authorization: Bearer TOKEN'
Endpoint: GET /merchants/{merchantId}Response 200:
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "Pizzaria Central",
  "corporateName": "Pizzaria Central LTDA",
  "description": "Pizzaria especializada em pizza napoletana",
  "averageTicket": 85.50,
  "exclusive": false,
  "type": "RESTAURANT",
  "status": "AVAILABLE",
  "createdAt": "2024-01-15T10:30:00",
  "operations": [
    {
      "name": "DELIVERY",
      "salesChannels": [
        {
          "name": "MARKETPLACE",
          "enabled": true
        },
        {
          "name": "WHATSAPP",
          "enabled": false
        }
      ]
    },
    {
      "name": "TAKEOUT",
      "salesChannels": [
        {
          "name": "DIGITAL_CATALOG",
          "enabled": true
        }
      ]
    }
  ]
}
Estrutura de resposta:
CampoTipoDescrição
operations[]arrayLista de operações
operations[].namestringNome da operação
operations[].salesChannelsarrayCanais ativos
operations[].salesChannels[].namestringNome do canal
operations[].salesChannels[].enabledbooleanStatus de habilitação
Para verificar o estado de uma operação específica, use a API de Status:
curl --location 'https://merchant-api.ifood.com.br/merchant/v1.0/merchants/550e8400-e29b-41d4-a716-446655440000/status/DELIVERY' \
  --header 'Authorization: Bearer TOKEN'
Endpoint: GET /merchants/{merchantId}/status/{operation}Response 200:
[
  {
    "operation": "DELIVERY",
    "salesChannel": "MARKETPLACE",
    "available": true,
    "state": "OK",
    "validations": [
      {
        "id": "val-001",
        "code": "is-connected",
        "state": "OK",
        "message": {
          "title": "Conectado",
          "subtitle": "Loja está respondendo",
          "description": "Polling recebido nos últimos 30 segundos"
        }
      },
      {
        "id": "val-002",
        "code": "opening-hours",
        "state": "OK",
        "message": {
          "title": "Horário válido",
          "subtitle": "Dentro do horário de funcionamento",
          "description": "Loja está dentro do horário configurado"
        }
      }
    ],
    "message": {
      "title": "Operação Online",
      "subtitle": "Pronta para receber pedidos",
      "description": "Todas as validações passaram com sucesso"
    }
  }
]
Validações principais:
  • is-connected — Polling nos últimos 30s
  • opening-hours — Dentro do horário
  • catalog-enabled — Catálogo habilitado
  • delivery-area — Zona configurada
  • unavailabilities — Sem interrupções
Restrições:
  • Zona de entrega obrigatória
  • Catálogo habilitado
  • Polling a cada 30s
Validações principais:
  • is-connected — Polling nos últimos 30s
  • opening-hours — Dentro do horário
  • catalog-enabled — Catálogo habilitado
  • unavailabilities — Sem interrupções
Restrições:
  • Catálogo habilitado
  • Zona de entrega não obrigatória
  • Polling a cada 30s
Status: Em breve
EstadoSignificado
OKOperação online e pronta para receber pedidos
WARNINGOnline com restrições (verificar validações)
CLOSEDFechada conforme esperado (fora de horário)
ERRORProblema detectado (verificar validações)
UNAVAILABLEOperação não configurada ou desabilitada
Todos retornam HTTP 200. O estado real está no campo state da resposta JSON.
Esta página foi útil?
Avalie sua experiência no novo Developer portal: