logo
logo
Docs Order Tipo de Pedidos

Introducción

Un pedido contiene la siguiente información:
  • Información general - id, tipo, fecha de creación del pedido, entre otros
  • Merchant - identificación de merchant (tienda)
  • Customer – identificación del cliente que debe recibir el pedido
  • Ítem - productos/platos
  • Options - adiciones u opciones de los ítems
  • Benefits - cupones de descuento incentivos
  • Additional Fees - tarifas adicionales
  • Total – valor total del pedido
  • Payments - detalles sobre las formas de pago
  • Picking – información sobre los ítems del pedido por separado
  • Delivery – información sobre la forma de entrega del pedido y la dirección
  • Takeout - información sobre el retiro de un pedido “Para Recoger”
  • Indoor – información sobre el retiro
  • Schedule – información sobre la programación de un pedido
  • Additional Info – información adicional del pedido

Campos

CampoTipoDescripción
iduuidId único del pedido
displayIdstringId fácil de usar para que sea más fácil para la tienda identificar el pedido. Debe mostrarse en la interfaz de su aplicación.
orderTypeenumtipo de pedido
orderTimingenumtiempo de entrega del pedido
salesChannelstringcanal de ventas por el que ingresa el pedido a la plataforma (se pueden agregar nuevos canales)
categorystringcategoría del pedido (FOOD, GROCERY, ANOTAI)
createdAtdateFecha de creación del pedido
preparationStartDateTimedateIndicación para iniciar la preparación
isTestbooleanIndica si el pedido está en modo prueba o no
extraInfostringInformación adicional del pedido
Ejemplo:
{
  "id": "32c15e00-9861-4548-b5f0-15580defc999",
  "displayId": "fc999",
  "orderType": "DELIVERY / INDOOR / TAKEOUT",
  "orderTiming": "IMMEDIATE/SCHEDULED",
  "salesChannel": "IFOOD / DIGITAL_CATALOG / POS / ECONOMIC / TOTEM / IFOOD_SHOP",
  "category": "FOOD / GROCERY / ANOTAI / FOOD_SELF_SERVICE",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "preparationStartDateTime": "2020-01-01T00:00:00.000Z",
  "isTest": false,
  "extraInfo": "Pago Online. NÃO LEVAR MÁQUINA",
  ...
}
CampoTipoDescripción
iduuidId único del merchant (tienda)
namestringNombre del merchant (tienda)
Ejemplo:
"merchant": {
  "id": "50647eee-5eb6-41a2-b2d8-999998ed677f",
  "name": "Nome da Loja"
}
CampoTipoDescripción
iduuidId único del cliente
namestringNombre del cliente
documentNumber--número de documento de cliente (c.c.) que sólo debe utilizarse para la emisión de un documento fiscal cuando el cliente lo solicite, ya que el campo es opcional.
ordersCountOnMerchantintegernúmero de pedidos ya realizados por este cliente en esta tienda
phone.numberstringnúmero de teléfono del cliente o número 0800 proporcionado por iFood
phone.localizerstringcódigo localizador que se debe informar al llamar al número 0800
phone.localizerExpirationdatefecha de caducidad del localizador 0800
segmentationstringcalificación de los clientes para Súper Segmentación (Explorer, Bronce, Plata, Oro, Platino). Campo opcional. Eventualmente no podrá ser devuelto.
Orientación importante La información de segmentación es confidencial y no puede, bajo ninguna circunstancia, ser revelada, reproducida o proporcionada a terceros o clientes finales no autorizados.
Ejemplo:
"customer": {
	"id": "50647eee-5eb6-41a2-b2d8-999998ed677f",
	"name": "Nome do Cliente",
	"documentNumber": "07544829999",
	"ordersCountOnMerchant": 8,
	"phone": {
		"number": "0800 XXX XXXX",
		"localizer": "27534642",
		"localizerExpiration": "2020-01-01T00:00:00.000Z"
		},
  "segmentation": "Platinum"
}
El campo phone es opcional El campo de teléfono es opcional y se dejará de enviar 3 horas después de la fecha de entrega designada del pedido. Ten en cuenta que, incluso durante este período, en algunos pedidos puede suceder que no se muestre el número de teléfono. En caso de que necesites contactar al cliente, puedes hacerlo a través del chat.
CampoTipoDescripción
indexintegerposición/orden de los elementos
iduuidId único del ítem
uniqueIduuididentificador único del item en el pedido (necesario ya que el mismo item puede aparecer varias veces en el pedido)
namestringnombre del ítem
imageUrlstringurl de la imagen/imagen del ítem. Cuando está disponible, la URL devuelve, de forma predeterminada, una imagen de "alta" calidad. Es posible cambiar el recorrido de esta imagen para obtener la imagen en otras calidades.
externalCodestringcódigo del ítem en tu aplicación (codPDV). Es opcional y se puede configurar en el catálogo
eanstringcódigo de barras (European Article Number)
quantitydoublecantidad de ítems
unitstringunidad del ítem (Ej: UN, g, Kg, ml, L)
unitPricedoubleprecio unitario
additiondoublevalor adicional que puede ser incluido en el valor del ítem
pricedoubleprecio del ítem = quantity x (unitPrice + addition)
scalePricesobjectinformación de cantidades y precios de venta al por mayor
optionsPricedoubleprecio de las adiciones (options)
totalPricedoubleprecio total incluyendo las adiciones (totalPrice = price + optionsPrice)
observationsstringObservaciones del pedido (Ej: "Sin cebolla") Tamaño máximo: 256.
Campo imageUrlLa calidad de la imagen se puede especificar cambiando el segmento de la ruta URL. Las calidades disponibles son:
  • low: Devuelve la imagen en baja calidad. Ideal para vistas rápidas o cuando el ancho de banda es una preocupación.
  • medium: Ofrece un equilibrio entre calidad y tamaño de archivo.
  • high: Proporciona la imagen en la mejor calidad disponible, recomendada para detalles precisos.
Exemplos:
  • Baja calidad (low): https://static-images.ifood.com.br/image/upload/t_low/pratos/4c714577-fe5d-4d31-9531-f9ebb7f89249/202104071957_0mfD_.jpeg
  • Calidad media (medium): https://static-images.ifood.com.br/image/upload/t_medium/pratos/4c714577-fe5d-4d31-9531-f9ebb7f89249/202104071957_0mfD_.jpeg
  • Alta calidad (high): https://static-images.ifood.com.br/image/upload/t_high/pratos/4c714577-fe5d-4d31-9531-f9ebb7f89249/202104071957_0mfD_.jpeg
Ejemplo:
"items": [
  {
    "index": 1,
    "id": "1bd9cbac-a4a6-497e-953d-e6d0661180d5",
    "uniqueId": "092ce140-b809-4a13-b776-31d9792eee99",
    "name": "Nome do Produto",
    "imageUrl": "https://static-images.ifood.com.br/image/upload/t_high/pratos/4c714577-fe5d-4d31-9531-f9ebb7f89249/202104071957_0mfD_.jpeg",
    "externalCode": "2331",
    "ean": "7898903529999",
    "quantity": 2,
    "unit": "UN/G/KG/L/ML",
    "unitPrice": 10,
    "addition": 0,
    "price": 20,
    "scalePrices": {
      ...
    },
    "optionsPrice": 4,
    "totalPrice": 24,
    "observations": "Retirar cebola",
    "options": [
      ...
    ]
  }
]
CampoTipoDescripción
indexintegerposición/orden de las adiciones
iduuidId único de la adición
namestringNombre de la adición
externalCodestringcódigo de la adición en la aplicación (codPDV). Es opcional, puede ser configurado en el catálogo.
quantitydoubleCantidad del ítem
unitstringunidade do item (Ex: UN, g, Kg, ml, L)
unitPricedoublepreço unitário
additiondoubleValor adicional que pode ser incluido en la adición. (Ej: Para pizza con más de un sabor, es posible configurar el catálogo para que se cobre por el sabor de mayor precio. (En estos casos, esta es la diferencia entre el precio original del sabor con menor precio y el sabor con precio de mayor valor).
pricedoubleprecio de la adición: price = quantity x (unitPrice + addition)
Ejemplo:
"options": [
  {
    "index": 1,
    "id": "3dc09021-be6b-4be6-92a1-15a07b464141",
    "name": "Nome do Complemento",
    "externalCode": "ABC123",
    "quantity": 2,
    "unit": "UN/G/KG/L/ML",
    "unitPrice": 2,
    "addition": 1,
    "price": 6
  }
]
CampoTipoDescripción
defaultPricedoublePrecio por defecto del ítem sin alteración
scalesarrayLista que contiene información de cantidades y precios para venta al por mayor
Ejemplo:
"scalePrices": {
  "defaultPrice": 20,
  "scales": [
    ...
  ]
}
CampoTipoDescripción
pricedoublePrecio del ítem con descuento al por mayor
minQuantityintegerCantidad mínima de ítems para aplicar el descuento
Ejemplo:
"scales": [
  {
    "price": 15,
    "minQuantity": 5
  }
]
El usuario de iFood puede recibir diferentes tipos de cupones/ vouchers para utilizar en la aplicación que llamamos Benefits.Estos cupones de descuento pueden ser subsidiados tanto por iFood como por los colaboradores. Aparecen en los detalles de los pedidos en el campo benefits y el valor del subsidio de cada parte aparece en el campo "sponsorship".Estos cupones se pueden aplicar a un ítem específico, al subtotal de los ítems (carrito) o a la tarifa de envío (target).
CampoTipoDescripción
valuedoubleValor del descuento/ incentivo
targetstringInformación sobre donde se aplicará el descuento
targetIdstringindex del ítem (items.index) sobre el cual el descuento debe ser aplicado. Solamente para los casos en que el target es del tipo ITEM o PROGRESSIVE_DISCOUNT_ITEM
sponsorshipValues.namestringNombre del patrocinador del beneficio
sponsorshipValues.valuedoublevalor subsidiado por patrocinador
Targets
targetDescripción
CARTEl descuento es aplicado sobre el subtotal del carrito (sumatoria de los ítems del pedido).
DELIVERY_FEEEl descuento es aplicado sobre la tarifa de entrega.
ITEMEl descuento es aplicado sobre un ítem específico del carrito. El campo targerId específica sobre cual ítem el descuento es aplicado. Esta especificación es hecha en la campaña.
PROGRESSIVE_DISCOUNT_ITEMDescuento progresivo en ítems iguales del pedido, formando un combo.
Sponsorship
sponsorshipTratamiento
IFOODEl valor del/los cupón/es debe/n ser tratado/s como como un tipo de pago, ya que iFood transferirá este valor al restaurante.
MERCHANTEl valor del/los cupón/es debe/n ser tratado/s como un descuento, ya que el subsidio en este caso es responsabilidad del merchant (tienda).
Ejemplo:
"benefits": [
  {
    "value": 10,
    "target": "CART",
    "sponsorshipValues": [
      {
        "name": "IFOOD",
        "value": 0
      },
      {
        "name": "MERCHANT",
        "value": 10
      }
    ]
  },
  {
    "value": 4.99,
    "target": "DELIVERY_FEE",
    "sponsorshipValues": [
      {
        "name": "IFOOD",
        "value": 4.99
      },
      {
        "name": "MERCHANT",
        "value": 0
      }
    ]
  },
  {
    "value": 4.99,
    "target": "ITEM",
    "targetId": "1",
    "sponsorshipValues": [
      {
        "name": "IFOOD",
        "value": 4.99
      },
      {
        "name": "MERCHANT",
        "value": 0
      }
    ]
  }
]
CampoTipoDescripción
typestringtipo de tarifa (SMALL_ORDER_FEE / MERCHANT_SUBSCRIPTION_FEE / etc.)
valuedoublevalor de la tarifa adicional
Exemplo:
"additionalFees": [
  {
    "type": "SMALL_ORDER_FEE",
    "value": 1.00
  },
  {
    "type": "MERCHANT_SUBSCRIPTION_FEE",
    "value": 5.00
  }
]
Tipos de tarifas adicionales
typeDescripción
SMALL_ORDER_FEELa tarifa adicional para pedidos por debajo del valor mínimo
CampoTipoDescripción
subTotaldoubleSumatoria del valor de los ítems
deliveryFeedoublevalor de la tarifa de entrega
benefitsdoubleSumatoria de los benefits (cupones de descuento)
additionalFeesdoubleSumatoria de las tarifas adicionales
orderAmountdoublevalor total del pedido (orderAmount = subTotal + deliveryFee + additionalFees - benefits)
Ejemplo:
"total": {
  "subTotal": 50,
  "deliveryFee": 10,
  "additionalFees": 2,
  "benefits": 5,
  "orderAmount": 57
}
CampoTipoDescripción
prepaiddoubleValor pagado (ONLINE)
pendingdoublevalor pendiente que debe ser cobrado en el momento de la entrega (OFFLINE)
methods.valuedoublevalor del pago
methods.currencystringMoneda
methods.typestringtipo de pago: ONLINE (pago hecho online por medio de la aplicación y no debe ser cobrado en la entrega) u OFFLINE (pago que debe ser hecho en el momento de la entrega del pedido)
methods.methodstringMétodo de pago (CASH / CREDIT / DEBIT / MEAL_VOUCHER / FOOD_VOUCHER / GIFT_CARD / DIGITAL_WALLET / PIX / OTHER)
methods.wallet.namestringNombre de la billetera (solamente para pagos con billetera digital)
methods.card.brandstringNombre de la tarjeta de marca
methods.cash.changeFordoublevalor del cambio
Valor de Descuento superior al valor total del pedido Es posible que el cliente utilice algún beneficio (voucher/cupón) de valor superior al valor total del pedido. Cuando esto sucede, el monto a cobrar es cero. Ejemplo: Total del pedido = $40.000 y Valor del cupón = $50.000. El valor para cobrarle al cliente de: $0
Ejemplo:
"payments": {
  "prepaid": 20,
  "pending": 45,
  "methods": [
    {
      "value": 10,
      "currency": "BRL",
      "type": "ONLINE",
      "method": "CREDIT / DEBIT / MEAL_VOUCHER / FOOD_VOUCHER",
	  "card": {
        "brand": "Nome da Bandeira"
      }
    },
    {
      "value": 10,
      "currency": "BRL",
      "type": "ONLINE",
      "method": "DIGITAL_WALLET",
      "wallet": {
        "name": "APPLE_PAY/GOOGLE_PAY/SAMSUNG_PAY"
       },
      "card": {
        "brand": "Nome da Bandeira"
      }
    },
    {
        "value": 0.01,
        "currency": "BRL",
        "method": "PIX",
        "type": "ONLINE",
        "card": {
          "brand": "PIX"
        },
    }
    {
      "value": 45,
      "currency": "BRL",
      "type": "OFFLINE",
      "method": "CASH ",
      "cash": {
        "changeFor": 50
      }
    }
  ]
}
Estos campos son exclusivos para pedidos de mercado.
CampoTipoDescripción
pickerstringresponsable por la separación los ítems del pedido (Ej.: DRIVER_SHOPPER). Cuando no se informa, el propio merchant se encarga de separar los ítems y preparar el pedido.
replacementOptionsstringOpciones para substituir un ítem en caso de ruptura (Ej.: STORE_CHOOSE_OTHER_ITEMS / STORE_CONTACT_CUSTOMER / STORE_CANCEL_ORDER / STORE_REMOVE_ITEMS)
Ejemplo:
"picking": {
  "picker": "DRIVER_SHOPPER",
  "replacementOptions": "STORE_CHOOSE_OTHER_ITEMS / STORE_CONTACT_CUSTOMER / STORE_CANCEL_ORDER / STORE_REMOVE_ITEMS"
}
CampoTipoDescripción
modestringmétodo de entrega do pedido. Valores posibles: DEFAULT/EXPRESS.
DEFAULT: método de entrega estándar;
EXPRESS: método de entrega que se considerada rápido. Actualmente, existen dos tipos: entregas en menos de 15 minutos exclusivas de Darkstores y entrega prioritária donde el cliente elige pagar una tarifa de entrega ligeramente más alta para recibir su pedido en un tiempo más corto.
deliveredBystringResponsable de hacer la entrega: IFOOD (logística iFood) o MERCHANT (entrega propia)
deliveryDateTimedateFecha y hora de la entrega
observationsstringobservaciones sobre la entrega (Ej.: "No hay portería. Por favor, usar citófono”.)
deliveryAddress--Dirección donde debe ser entregado el pedido
Ejemplo:
"delivery": {
  "mode": "DEFAULT / EXPRESS",
  "deliveredBy": "IFOOD / MERCHANT",
  "deliveryDateTime": "2020-01-01T00:00:00.000Z",
  "observations": "Entrega sem Contato - Deixar na portaria",
  "deliveryAddress": {...}
}
CampoTipoDescripción
streetNamestringNombre de la calle o avenida.
streetNumberstringnúmero (Obs: puede contener letras)
formattedAddressstringeDirección formato convencional (Calle, número)
neighborhoodstringBarrio/Sector
complementstringcomplemento (Ej.: Apartamento, Conjunto, Lote)
referencestringPunto de referencia
postalCodestringcódigo postal (CEP). Campo opcional, eventualmente se puede enviar a cero
citystringCiudad
statestringDepartamento
countrystringPaís
coordinates.latitudedoubleLatitud
coordinates.longitudedoubleLongitud
Ejemplo:
  "deliveryAddress": {
    "streetName": "RUA X",
    "streetNumber": "20A",
    "formattedAddress": "RUA X, 20A",
    "neighborhood": "Bairro / Setor",
    "complement": "Apto 101",
    "reference": "perto da praça",
    "postalCode": "99999999",
    "city": "SAO PAULO",
    "state": "SP",
    "country": "BR",
    "coordinates": {
      "latitude": -26.999999,
      "longitude": -48.999999
    }
  }
CampoTipoDescripción
modestringForma de retiro: DEFAULT (cliente recoge el pedido por ventanilla) / PICKUP_AREA (cliente espera o pedido en un lugar del parqueadero)
takeoutDateTimedateFecha y hora del retiro del pedido
observationsstringObservaciones sobre el retiro del pedido
Ejemplo:
"takeout": {
  "mode": "DEFAULT / PICKUP_AREA:",
  "takeoutDateTime": "2020-01-01T00:00:00.000Z",
  "observations": "Observações sobre a retirada"
}
(Observação: serviço indisponível no momento)
CampoTipoDescripción
modestringforma de retiro: DEFAULT (el cliente recoge el pedido por ventanilla) / TABLE (el cliente espera el pedido en una mesa del establecimiento)
tablestringnúmero o código de la mesa donde el cliente hizo el pedido (solo en condiciones de mode = TABLE)
deliveryDateTimedatefecha y hora de la entrega o del retiro del pedido
observationsstringobservaciones sobre el retiro del pedido
Ejemplo:
"indoor": {
  "mode": "DEFAULT / TABLE:",
  "table": "01",
  "deliveryDateTime": "2020-01-01T00:00:00.000Z",
  "observations": "Observações sobre a entrega ou retirada"
}
CampoTipoDescripción
schedule.deliveryDateTimeStartdateinicio del horario (intervalo) programado
schedule.deliveryDateTimeEnddateCierre del horario (intervalo) programado
Ejemplo:
"schedule": {
  "deliveryDateTimeStart": "2020-01-01T00:20:00.000Z",
  "deliveryDateTimeEnd": "2020-01-01T01:20:00.000Z"
}
CampoTipoDescripción
metadatamap<string,string>Campo abierto del tipo clave,valor que permite que los merchants incluyan información de interés en su propio pedido
Pedidos POS Estos campos se utilizan generalmente en pedidos realizados en el propio canal de venta del merchant (PDV) y que son enviados a la plataforma vía API (salesChannel=POS)
Ejemplo:
"additionalInfo": {
  "metadata": {
    "codigoInternoPdv": "18bf73f64715",
    "nomeVendedor": "João"
  }
}

Ejemplos

{
  "id": "63895716-37c3-4372-afd0-3240bfef708d",
  "orderTiming": "IMMEDIATE",
  "orderType": "DELIVERY",
  "salesChannel": "IFOOD",
  "category": "FOOD",
  "delivery": {
    "mode": "ECONOMIC",
    "deliveredBy": "IFOOD",
    "deliveryDateTime": "2021-02-09T18:10:32Z",
    "deliveryAddress": {
      "streetName": "Example",
      "streetNumber": "1234",
      "formattedAddress": "Example St., 1234, Apt. 1234",
      "neighborhood": "Examplehood",
      "complement": "Apt. 1234",
      "reference": "perto da praça",
      "postalCode": "12345678",
      "city": "Example City",
      "state": "Example State",
      "country": "BR",
      "coordinates": {
        "latitude": -2.1059418202311173e141,
        "longitude": -49545.71
      }
    }
  },
  "displayId": "XPTO",
  "createdAt": "2021-02-16T18:10:27Z",
  "preparationStartDateTime": "2021-02-09T20:15:13Z",
  "merchant": {
    "id": "c54bb20a-bce0-4e38-bd4a-fe5f0a7b6b5a",
    "name": "Example Merchant"
  },
  "customer": {
    "id": "22587f70-60b4-423c-8cd2-27d288f47f99",
    "name": "Example Customer",
    "documentNumber": "123456789",
    "phone": {
      "number": "123456789",
      "localizer": "12345678",
      "localizerExpiration": "2021-02-09T18:11:07Z"
    },
    "ordersCountOnMerchant": 1234,
    "segmentation": "Gold"
  },
  "items": [
    {
      "index": 0,
      "id": "f1e48636-4bf0-4656-bce8-0e2214fcd3d4",
      "uniqueId": "092ce140-b809-4a13-b776-31d9792eee99",
      "name": "Example Item",
      "imageUrl": "https://static-images.ifood.com.br/image/upload/t_high/pratos/4c714577-fe5d-4d31-9531-f9ebb7f89249/202104071957_0mfD_.jpeg",
      "externalCode": "ex01",
      "ean": "12345678910",
      "unit": "G",
      "quantity": 12,
      "unitPrice": 0.12,
      "addition": 0,
      "price": 1.44,
      "optionsPrice": 1.69,
      "totalPrice": 3.13,
      "observations": "This is an example item.",
      "options": [
        {
          "index": 0,
          "id": "acea6ac1-f595-4a6b-af00-cc2f1fa0886a",
          "name": "Example Option",
          "externalCode": "ex02",
          "ean": "12345678911",
          "unit": "UN",
          "quantity": 13,
          "unitPrice": 0.13,
          "addition": 0,
          "price": 1.69
        }
      ]
    }
  ],
  "benefits": [
    {
      "value": 1.0,
      "sponsorshipValues": [
        {
          "name": "IFOOD",
          "value": 0.5
        },
        {
          "name": "MERCHANT",
          "value": 0.5
        }
      ],
      "target": "CART"
    },
    {
      "value": 0.5,
      "sponsorshipValues": [
        {
          "name": "IFOOD",
          "value": 0.5
        },
        {
          "name": "MERCHANT",
          "value": 0
        }
      ],
      "target": "ITEM",
      "targetId": "1"
    },
    {
      "value": 0.49,
      "sponsorshipValues": [
        {
          "name": "IFOOD",
          "value": 0
        },
        {
          "name": "MERCHANT",
          "value": 0.49
        }
      ],
      "target": "DELIVERY_FEE"
    }
  ],
  "additionalFees": [
    {
      "type": "SMALL_ORDER_FEE",
      "value": 1.0
    }
  ],
  "total": {
    "subTotal": 3.13,
    "deliveryFee": 5.99,
    "additionalFees": 1,
    "benefits": 1.99,
    "orderAmount": 8.13
  },
  "payments": {
    "prepaid": 2.13,
    "pending": 5,
    "methods": [
      {
        "value": 5,
        "currency": "BRL",
        "method": "CASH",
        "type": "OFFLINE",
        "prepaid": false
      },
      {
        "value": 2.13,
        "currency": "BRL",
        "method": "MEAL_VOUCHER",
        "type": "ONLINE",
        "prepaid": true
      }
    ]
  },
  "picking": {
    "picker": "DRIVER_SHOPPER",
    "replacementOptions": "STORE_REMOVE_ITEMS"
  },
  "test": false,
  "additionalInfo": {
    "metadata": {
      "codigoInternoPdv": "18bf73f64715",
      "nomeVendedor": "João"
    }
  }
}

Impresión (comanda)

El comando (versión impresa del pedido) puede ser útil para el funcionamiento de la tienda durante la preparación del pedido y es imprescindible para que el domiciliario (entrega propia) pueda localizar la dirección del cliente.Aquí está la plantilla (template) de comando estándar:Comanda
Otros contenidos que pueden ser de tu interés: