Merchant Gestiona tiendas (merchants) en la plataforma iFood: restaurantes, mercados, farmacias, petshops y otros establecimientos.
Consulta de tiendas Listar tiendas Use GET /merchants para listar todas las tiendas vinculadas al token de acceso. Retorna: ID, nombre y nombre corporativo de las tiendas.Detalles de la tienda Use GET /merchants/{id} para obtener detalles de una tienda específica. Retorna: Nombre, dirección y operaciones disponibles.
Estado de la tienda Requisitos para recibir pedidos Para aparecer en la plataforma, la tienda debe: Estar en el horario de funcionamiento Tener catálogo con al menos un menú habilitado Tener área de entrega configurada No tener interrupciones activas Hacer polling cada 30 segundos Verificar disponibilidad Use la API de Status para verificar si una tienda puede recibir pedidos. Estados posibles State Color Descripción Acción requerida OK Verde Tienda online Ninguna WARNING Amarillo Online con restricciones (ej: área reducida) Ninguna CLOSED Gris Cerrada según lo esperado (fuera del horario) Ninguna ERROR Rojo Cerrada inesperadamente Verificar
Validaciones Validaciones siempre retornadas: is-connected: Polling cada 30 segundosopening-hours: Dentro del horario de funcionamientoValidaciones retornadas en ERROR o WARNING: Validación Descripción unavailabilities Hay interrupción activa radius-restriction Sin repartidores disponibles en el área payout-blocked Pendencias financieras logistics-blocked Problemas logísticos (festivales, tráfico) terms-service-violation Violación de los Términos de Servicio status-availability Tienda desactivada o en prueba
¿Dudas? Abra un ticket en el Portal del Partner.Penalidades Aplicadas cuando la tienda viola los Términos de Servicio . Tipos de penalidad 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).Verificar posibilidad de reapertura El objeto reopenable indica si es posible reabrir: Campo Descripción reopenable true o falsetype Tipo del cierre (ej: UNAVAILABILITY) identifier ID 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. Crear interrupción Use POST /interruptions para crear una interrupción. Formato de fecha: ISO 8601 Respuesta: Objeto con ID, descripción, inicio y fin en formato ISO 8601 extendido .Zona horaria Las interrupciones siguen la zona horaria de la tienda. El timezone enviado en el payload será descartado.
Procesamiento de la interrupción El cierre puede tardar algunos segundos en hacerse efectivo. Continue haciendo polling por algunos minutos para no perder pedidos realizados en este intervalo.
Horario de funcionamiento Configure horarios de funcionamiento de la tienda vía API de Opening Hours . Alcance de la API Esta API gestiona solo el horario estándar del iFood Marketplace. Para nuevos negocios o catálogo digital, use el Portal del Partner.
Configurar horarios Use PUT /opening-hours para definir horarios. Cierres temporales Para acciones temporales, use la API de Interrupciones en lugar de alterar horarios de funcionamiento. Comportamiento de la alteración en masa Este 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íasMúltiples horarios: Permitidos en el mismo día, pero no pueden superponerseIntervalo válido: 00:00 a 23:59Ventanas hasta 23:59: Sistema adiciona automáticamente 59 segundos para evitar gap de 1 minuto entre díasEjemplo de configuración 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. Generar QR code 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.Disponibilidad Funcionalidad disponible solo para tiendas del tipo Groceries.
Siguiente Criterios de homologación
¿Esta página fue útil? Sí No
Evalúa tu experiencia en el nuevo portal de desarrolladores: Evaluar ahora