Buscar en la documentación
ctrl+4K
Módulos
Authentication
Merchant
Catalog
Order
Events
Logistics
Shipping
Review
Financial
Soluciones

Merchant

Gestiona tiendas (merchants) en la plataforma iFood: restaurantes, mercados, farmacias, petshops y otros establecimientos.

Consulta de tiendas

Use GET /merchants para listar todas las tiendas vinculadas al token de acceso.Retorna: ID, nombre y nombre corporativo de las tiendas.
Use GET /merchants/{id} para obtener detalles de una tienda específica.Retorna: Nombre, dirección y operaciones disponibles.

Estado de la tienda

Para aparecer en la plataforma, la tienda debe:
  1. Estar en el horario de funcionamiento
  2. Tener catálogo con al menos un menú habilitado
  3. Tener área de entrega configurada
  4. No tener interrupciones activas
  5. Hacer polling cada 30 segundos
Use la API de Status para verificar si una tienda puede recibir pedidos.
StateColorDescripciónAcción requerida
OKVerdeTienda onlineNinguna
WARNINGAmarilloOnline con restricciones (ej: área reducida)Ninguna
CLOSEDGrisCerrada según lo esperado (fuera del horario)Ninguna
ERRORRojoCerrada inesperadamenteVerificar
Validaciones siempre retornadas:
  • is-connected: Polling cada 30 segundos
  • opening-hours: Dentro del horario de funcionamiento
Validaciones retornadas en ERROR o WARNING:
ValidaciónDescripción
unavailabilitiesHay interrupción activa
radius-restrictionSin repartidores disponibles en el área
payout-blockedPendencias financieras
logistics-blockedProblemas logísticos (festivales, tráfico)
terms-service-violationViolación de los Términos de Servicio
status-availabilityTienda desactivada o en prueba
¿Dudas? Abra un ticket en el Portal del Partner.
Aplicadas cuando la tienda viola los Términos de Servicio.Automáticas: No permiten reapertura inmediata (ej: muchas cancelaciones en poco tiempo). Es necesario esperar el fin de la penalidad.Manuales: Pueden ser removidas por la tienda (ej: interrupciones creadas por la propia tienda).El objeto reopenable indica si es posible reabrir:
CampoDescripción
reopenabletrue o false
typeTipo del cierre (ej: UNAVAILABILITY)
identifierID para reapertura (cuando aplicable)
Ejemplo de respuesta:
{
  "reopenable": {
    "identifier": "cca57aab-5ac0-4af4-a04d-48261350bebc",
    "type": "UNAVAILABILITY",
    "reopenable": true
  }
}
Cuando reopenable: true, use la API de Interrupciones para remover la pausa.Cuando reopenable: false, consulte el campo message en la API de Status para más detalles.

Interrupciones

Cierre temporalmente una tienda para dejar de recibir pedidos.
Use GET /interruptions para listar interrupciones activas y futuras.
Use POST /interruptions para crear una interrupción.Formato de fecha: ISO 8601Respuesta: Objeto con ID, descripción, inicio y fin en formato ISO 8601 extendido.
Zona horariaLas interrupciones siguen la zona horaria de la tienda. El timezone enviado en el payload será descartado.
Procesamiento de la interrupciónEl cierre puede tardar algunos segundos en hacerse efectivo. Continue haciendo polling por algunos minutos para no perder pedidos realizados en este intervalo.
Use DELETE /interruptions/{id} con el ID del merchant y de la interrupción.

Horario de funcionamiento

Configure horarios de funcionamiento de la tienda vía API de Opening Hours.
Alcance de la APIEsta API gestiona solo el horario estándar del iFood Marketplace. Para nuevos negocios o catálogo digital, use el Portal del Partner.
Use GET /opening-hours para consultar horarios configurados.
Use PUT /opening-hours para definir horarios.
Cierres temporalesPara acciones temporales, use la API de Interrupciones en lugar de alterar horarios de funcionamiento.
Comportamiento de la alteración en masaEste endpoint reemplaza todos los horarios. Entienda el impacto:
  • Días no enviados: Serán removidos (tienda cerrada en esos días)
  • Ejemplo: Enviar solo lunes remueve horarios de todos los otros días
  • Múltiples horarios: Permitidos en el mismo día, pero no pueden superponerse
  • Intervalo válido: 00:00 a 23:59
  • Ventanas hasta 23:59: Sistema adiciona automáticamente 59 segundos para evitar gap de 1 minuto entre días
Visualización en el Portal del Partner:Payload correspondiente:
{
  "storeId": "09e9a8c8-fda3-4991-acfc-43b15397caf6",
  "shifts": [
    {
      "dayOfWeek": "MONDAY",
      "start": "09:00:00",
      "duration": 360
    },
    {
      "dayOfWeek": "TUESDAY",
      "start": "09:00:00",
      "duration": 360
    },
    {
      "dayOfWeek": "WEDNESDAY",
      "start": "09:00:00",
      "duration": 360
    },
    {
      "dayOfWeek": "THURSDAY",
      "start": "09:00:00",
      "duration": 360
    },
    {
      "dayOfWeek": "FRIDAY",
      "start": "05:00:00",
      "duration": 420
    },
    {
      "dayOfWeek": "FRIDAY",
      "start": "13:00:00",
      "duration": 300
    },
    {
      "dayOfWeek": "FRIDAY",
      "start": "19:00:00",
      "duration": 210
    }
  ]
}

Check-in del repartidor

Los repartidores hacen check-in vía QR code para recoger pedidos.
Use POST /merchants/checkin-qrcode para generar PDF con QR code.Límites:
  • Máximo: 20 tiendas por solicitud
  • Todas las tiendas deben estar vinculadas al token de acceso
Resultado: Archivo PDF listo para impresión.
DisponibilidadFuncionalidad disponible solo para tiendas del tipo Groceries.
¿Esta página fue útil?
Evalúa tu experiencia en el nuevo portal de desarrolladores: