Introducción Um pedido contiene la siguiente información: Información general - id, fecha de creación del pedido entre otros. Package - cantidad de bolsas secas y frías SalesChannel - canal de ventas por el cual el pedido entra en la plataforma (se pueden añadir nuevos canales) Merchant - identificación del comerciante (tienda) TaxPayer - documento utilizado en la generación de la factura para persona natural Customer - identificación del cliente que debe recibir el pedido Bag - colección de los artículos del pedido, precios y opciones de cambio del artículo OperationalMode - Información sobre cómo se servirá este pedido (por entrega, para llevar, etc.) Payments - detalles sobre las formas de pago Benefits - beneficios e incentivos aplicados al pedido InvoiceInformation - información utilizada en la generación de la factura para persona jurídica Fees - información de tarifa aplicada al pedido
Campos package Campo Tipo Descripción dryBag integer cantidad de sacolas secas coldBag integer cantidad de sacolas frias
Ejemplo: "package" : {
"dryBag" : 1 ,
"coldBag" : 2
}
SalesChannel Campo Tipo Descrição name string nome del canal de ventas (por ejemplo, IFOOD, POS, DIGITAL_CATALOG)
Exemplo: "salesChannel" : {
"name" : "IFOOD"
}
Merchant Campo Tipo Descripción id uuid identificador único de la tienda name string nombre de la tienda cnpj string CNPJ de la tienda address.streetName string nombre de la calle de la dirección de la tienda address.city string ciudad de la dirección de la tienda address.complement string complemento de la dirección de la tienda address.country string país de la dirección de la tienda address.district string distrito de la dirección de la tienda address.latitude double latitud de la dirección de la tienda address.longitude double longitud de la dirección de la tienda address.state string estado de la dirección de la tienda address.streetNumber string número en la calle de la dirección de la tienda address.zipCode string código postal de la dirección de la tienda phones[].phoneNumber string número de teléfono con código de área de la tienda
Ejemplo: "merchant" : {
"id" : "50647eee-5eb6-41a2-b2d8-999998ed677f" ,
"name" : "Nome do Comerciante" ,
"cnpj" : "12345678901234" ,
"address" : {
"streetName" : "Rua do Comerciante" ,
"city" : "Cidade do Comerciante" ,
"complement" : "Complemento do Comerciante" ,
"country" : "País do Comerciante" ,
"district" : "Distrito do Comerciante" ,
"latitude" : 123.456 ,
"longitude" : 789.012 ,
"state" : "Estado do Comerciante" ,
"streetNumber" : "123" ,
"zipCode" : "12345-678"
},
"phones" : [
{
"phoneNumber" : "0800 000 0000"
},
{
"phoneNumber" : "0800 000 0000"
}
]
}
TaxPayer Campo Tipo Descrição identification.value string valor del documento de identificación del contribuyente identification.type string tipo del documento de identificación del contribuyente
Ejemplo: "taxPayer" : {
"identification" : {
"value" : "12345678901" ,
"type" : "CPF"
}
}
Customer Campo Tipo Descripción id uuid identificador único del cliente name string nombre del cliente phones[].phoneNumber string lista de números de teléfono del cliente email string correo electrónico del cliente birthDate datetime fecha de nacimiento del cliente type string tipo de cliente, NATURAL_PERSON o LEGAL_PERSON document.Type string tipo de documento del cliente (por ejemplo, CPF, RG) document.Value string valor del documento del cliente billingAddress.streetName string nombre de la calle de la dirección de facturación del cliente billingAddress.city string ciudad de la dirección de facturación del cliente billingAddress.complement string complemento de la dirección de facturación del cliente billingAddress.country string país de la dirección de facturación del cliente billingAddress.district string distrito de la dirección de facturación del cliente billingAddress.latitude double latitud de la dirección de facturación del cliente billingAddress.longitude double longitud de la dirección de facturación del cliente billingAddress.state string estado de la dirección de facturación del cliente billingAddress.streetNumber string número en la calle de la dirección de facturación del cliente billingAddress.zipCode string código postal de la dirección de facturación del cliente localizer.Code string código localizador del cliente localizer.phone string teléfono localizador del cliente
Ejemplo: "customer" : {
"id" : "50647eee-5eb6-41a2-b2d8-999998ed677f" ,
"name" : "Nome do Cliente" ,
"phones" : [
{
"phoneNumber" : "0800 XXX XXXX"
},
{
"phoneNumber" : "(11) 99999-XXXX"
}
],
"email" : "cliente@example.com" ,
"birthDate" : "1990-01-01" ,
"document" : {
"Type" : "CPF" ,
"Value" : "12345678901"
},
"billingAddress" : {
"streetName" : "Rua do Cliente" ,
"city" : "Cidade do Cliente" ,
"complement" : "Complemento do Cliente" ,
"country" : "País do Cliente" ,
"district" : "Distrito do Cliente" ,
"latitude" : 123.456 ,
"longitude" : 789.012 ,
"state" : "Estado do Cliente" ,
"streetNumber" : "123" ,
"zipCode" : "12345-678"
},
"type" : "NATURAL_PERSON" ,
"localizer" : {
"code" : "27534642" ,
"phone" : "0800 100 9988"
}
}
Bag Campo Tipo Descripción items.UniqueId string identificador único del ítem en la bolsa items.Index entero índice del ítem items.Quantity entero cantidad del ítem items.Name string nombre del ítem items.Ean string código de barras del ítem items.Note string comentarios agregados por el cliente al ítem (por ejemplo, quitar ensalada, sin salsa, etc.) items.Weight.Value doble valor de la medida de peso del ítem items.Prices.UnitValue.Value doble valor en centavos DE UN ítem sin ningún descuento items.Prices.UnitValue.Currency string moneda items.Prices.SalePriceKg.Value doble valor en centavos DE UN KG del ítem sin ningún descuento items.Prices.SalePriceKg.Currency string moneda items.Prices.GrossValue.Value doble valor en centavos del precio unitario multiplicado por la cantidad de ítems más el precio total de las elecciones (guarnición legada) multiplicado por la cantidad de ítems items.Prices.GrossValue.Currency string moneda items.Product.Plu string código interno del socio para control del paquete propietario items.Product.IsVariableWeight boolean identifica si es un ítem de peso variable prices.GrossValue.Value doble valor en centavos de todos los ítems y ítems de guarnición del pedido sin ningún descuento prices.GrossValue.Currency string moneda replacementOptions.Mode string lo que el mercado debe hacer si falta algún tipo de ítem en el pedido: STORE_CONTACT_CUSTOMER; STORE_CHOOSE_OTHER_ITEMS; STORE_REMOVE_ITEMS
Ejemplo: "bag" : {
"items" : [
{
"uniqueId" : "abc123" ,
"index" : 1 ,
"quantity" : 2 ,
"name" : "Produto 1" ,
"ean" : "7890123456789" ,
"note" : "Sem cebola" ,
"weight" : {
"value" : 500
},
"prices" : {
"unitValue" : {
"value" : 1000 ,
"currency" : "BRL"
},
"salePriceKg" : {
"value" : 5000 ,
"currency" : "BRL"
},
"grossValue" : {
"value" : 2000 ,
"currency" : "BRL"
}
},
"product" : {
"plu" : "123456" ,
"isVariableWeight" : false
}
}
],
"prices" : {
"grossValue" : {
"value" : 2000 ,
"currency" : "BRL"
}
},
"replacementOptions" : {
"mode" : "STORE_CONTACT_CUSTOMER"
}
}
OperationMode Campo Tipo Descripción type string tipo de operación de entrega (por ejemplo, DELIVERY, TAKE-OUT) schedulingType string IMMEDIATE, TIME_SLOT o TIME_INTERVAL delivery.Provider string proveedor logístico responsable por la entrega (por ejemplo, ifood, merchant, etc) delivery.Type string tipo de entrega (por ejemplo, EXPRESS, IMMEDIATE, SCHEDULED) delivery.Code string identificador único del método de entrega delivery.Destination.id uuid identificador único de la dirección de entrega elegida por el cliente delivery.Destination.streetName string nombre de la calle de la dirección de entrega elegida por el cliente delivery.Destination.city string ciudad de la dirección de entrega elegida por el cliente delivery.Destination.complement string complemento de la dirección de entrega elegida por el cliente delivery.Destination.country string país de la dirección de entrega elegida por el cliente delivery.Destination.district string distrito de la dirección de entrega elegida por el cliente delivery.Destination.latitude double latitud de la dirección de entrega elegida por el cliente delivery.Destination.longitude double longitud de la dirección de entrega elegida por el cliente delivery.Destination.state string estado de la dirección de entrega elegida por el cliente delivery.Destination.streetNumber string número en la calle de la dirección de entrega elegida por el cliente delivery.Destination.zipCode string código postal de la dirección de entrega elegida por el cliente delivery.Prices.GrossValue.Value double valor de la entrega en centavos delivery.Prices.GrossValue.Currency string moneda delivery.DeliveryTime.Window.From datetime inicio de la ventana de programación de la entrega delivery.DeliveryTime.Window.To datetime fin de la ventana de programación de la entrega takeout.TakeoutTime.Window.From datetime inicio de la ventana de programación de la recogida takeout.TakeoutTime.Window.To datetime fin de la ventana de programación de la recogida preparation.Start datetime inicio de la preparación preparation.End datetime fin de la preparación
Ejemplo: "operationMode" : {
"type" : "DELIVERY" ,
"schedulingType" : "IMMEDIATE" ,
"delivery" : {
"provider" : "ifood" ,
"type" : "EXPRESS" ,
"destination" : {
"id" : "12345" ,
"streetName" : "Rua do Cliente" ,
"city" : "Cidade do Cliente" ,
"complement" : "Complemento do Cliente" ,
"country" : "País do Cliente" ,
"district" : "Distrito do Cliente" ,
"latitude" : 123.456 ,
"longitude" : 789.012 ,
"state" : "Estado do Cliente" ,
"streetNumber" : "123" ,
"zipCode" : "12345-678"
},
"prices" : {
"grossValue" : {
"value" : 2000 ,
"currency" : "BRL"
}
},
"deliveryTime" : {
"window" : {
"from" : "2024-03-13T10:00:00" ,
"to" : "2024-03-13T12:00:00"
}
},
"code" : "EXPRESS"
},
"preparation" : {
"start" : "2024-03-13T09:00:00" ,
"end" : "2024-03-13T10:00:00"
}
}
Payment Campo Tipo Descripción methods[].Name string nombre del método de pago (por ejemplo, Crédito, Débito, etc.) methods[].InPerson boolean pago en persona methods[].Liability string a quién se le debe pagar (por ejemplo, ifood, comerciante, etc.) methods[].Amount.Value double cuánto se pagó en centavos methods[].Amount.Currency string moneda methods[].Cash.ChangeFor.Value double cuando el método de pago es efectivo, este nodo se utiliza para mostrar cuánto pagará el cliente para que podamos calcular el cambio methods[].Cash.ChangeFor.Currency string moneda methods[].Card.Brand string marca de la tarjeta methods[].Card.CardNumber string número de tarjeta methods[].Card.Provider string proveedor de la tarjeta (por ejemplo, MasterCard) methods[].UniqueId string identificador único methods[].Wallet.Provider string proveedor de la billetera digital methods[].Digital.Data string los datos del pago digital (por ejemplo, clave pix)
Ejemplo: "payment" : {
"methods" : [
{
"name" : "Crédito" ,
"inPerson" : false ,
"liability" : "ifood" ,
"amount" : {
"value" : 2500 ,
"currency" : "BRL"
},
"card" : {
"brand" : "Visa" ,
"cardNumber" : "************1234" ,
"provider" : "visa"
},
"uniqueId" : "abc123"
},
{
"name" : "Dinheiro" ,
"inPerson" : true ,
"liability" : "merchant" ,
"amount" : {
"value" : 3000 ,
"currency" : "BRL"
},
"cash" : {
"changeFor" : {
"value" : 5000 ,
"currency" : "BRL"
}
},
"uniqueId" : "def456"
}
]
}
Benefits 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). Campo Tipo Descripción BenefitsList.TargetId string el ID de destino (para descuentos en ítems, aquí se utiliza el catalogItemId) BenefitsList.Target string dónde se aplica el descuento (por ejemplo, carrito, un ítem específico, tarifa de entrega, otra tarifa, etc) BenefitsList.Sponsorships.Liability string el patrocinador (ifood, comerciante, coca-cola, etc) BenefitsList.Sponsorships.Amount.Value double el valor del beneficio en centavos BenefitsList.Sponsorships.Amount.Currency string moneda
Targets target Descripción CART El descuento es aplicado sobre el subtotal del carrito (sumatoria de los ítems del pedido). DELIVERY_FEE El descuento es aplicado sobre la tarifa de entrega. ITEM El 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_ITEM Descuento progresivo en ítems iguales del pedido, formando un combo.
Sponsorship sponsorship Tratamiento IFOOD El 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. EXTERNAL El 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. MERCHANT El 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" : {
"benefitsList" : [
{
"targetId" : "123456" ,
"target" : "cart" ,
"sponsorships" : [
{
"liability" : "ifood" ,
"amount" : {
"value" : 2000 ,
"currency" : "BRL"
}
},
{
"liability" : "merchant" ,
"amount" : {
"value" : 1500 ,
"currency" : "BRL"
}
}
]
},
{
"targetId" : "789012" ,
"target" : "item" ,
"sponsorships" : [
{
"liability" : "coca-cola" ,
"amount" : {
"value" : 500 ,
"currency" : "BRL"
}
}
]
}
]
}
Fees[] En este campo se mostrarán las tasas de servicio. Esta tasa debe ser considerada para el cálculo del total del pedido. Sin embargo, la tasa de servicio es un ingreso de iFood y no debe formar parte del ticket fiscal del Socio. El campo Audience puede ser Customer, Driver o Merchant, representando quién es responsable del pago de la tasa. Campo Tipo Descripción Audience string responsable del pago de la tarifa (por ejemplo, merchant, customer, driver) Prices.GrossValue.Value double valor bruto de las tarifas en centavos Prices.GrossValue.Currency string moneda Prices.Discount.Value double valor de descuento de tarifa en centavos Prices.Discount.Currency string moneda Prices.NetValue.Value double valor neto de las tarifas en centavos Prices.NetValue.Currency string moneda Values[].Amount.Value double valor de la tarifa en centavos Values[].Amount.Currency string moneda Values[].UniqueId uuid identificador único para el uso de la tarifa Values[].Type string tipo de tarifa monto
Ejemplo: "fees" :[
{
"audience" : "customer" ,
"values" :[
{
"id" : "7649ff5f-dc43-430f-bbbd-5ea597e89c3a" ,
"amount" :{
"value" : 99 ,
"currency" : "BRL"
},
"uniqueId" : "cacb2109-c6ed-4097-8216-45555660da4d" ,
"type" : "GROCERIES_099_SEMAOV"
}
],
"prices" :{
"grossValue" :{
"value" : 99 ,
"currency" : "BRL"
},
"discount" :{
"value" : 0 ,
"currency" : "BRL"
},
"netValue" :{
"value" : 99 ,
"currency" : "BRL"
}
}
}
]
VerificationCodes[] Aquí se muestran campos de verificación. Actualmente, el único código que se devuelve es el código de recogida (PICKUP_CODE).
Este campo debe ser utilizado para la verificación entre el conductor y la tienda en los pedidos de entrega de iFood. Saber Más Campo Tipo Descripción Name string Identificador del tipo de código Value string Valor del código
Ejemplo: "verificationCodes" : [
{
"name" : "PICKUP_CODE" ,
"value" : "9999"
}
]
Migración de la SiteMercado Service API Máquina de status Legacy
EMI
SEP
ENT/ENP/RET/REP
FIN
DEV
CAN
Nuevo
PLACED
CONFIRMED
SEPARATION_STARTED
SEPARATION_ENDED
DISPATCHED
ARRIVED
CONCLUDED
CANCELLED
Ejemplo de pedidos - Delivery Legacy {
"idLoja" : 11111 ,
"idCliente" : 510034978 ,
"idPedido" : "fc18f00b-95c8-4cfa-b293-d7c93195d23b" ,
"codigo" : "11111-Z510034984" ,
"codigoLoja" : "222222" ,
"data" : "2024-03-23T00:00:00" ,
"hora" : "21:31" ,
"dataHora" : "2024-03-23T21:31:56.1863131" ,
"agendamentoDataInicio" : "2024-03-25T00:00:00" ,
"agendamentoHoraInicio" : "10:00" ,
"agendamentoDataFim" : "2024-03-25T00:00:00" ,
"agendamentoHoraFim" : "12:00" ,
"entrega" : true ,
"retirada" : false ,
"cpfNaNota" : true ,
"status" : "FIN" ,
"tipo" : "SCHEDULED" ,
"statusDescricao" : "Finalizado" ,
"pessoaAutorizadaRecebimento" : "" ,
"quantidadeItemUnico" : 1 ,
"valorMercado" : 7.06 ,
"valorConveniencia" : 0 ,
"quantidadeSacolaResfriada" : 1 ,
"quantidadeSacolaSeca" : 0 ,
"valorEntrega" : 1 ,
"valorRetirada" : 0 ,
"valorTroco" : 0 ,
"valorDesconto" : 0 ,
"valorTotal" : 8.06 ,
"valorCorrigido" : 8.06 ,
"opcaoTroca" : "STORE_CHOOSE_OTHER_ITEMS" ,
"parceiro" : {
"codigoEntrega" : "80835343" ,
"codigoPedido" : "3760" ,
"agendado" : true
},
"plataforma" : "IFOOD" ,
"enderecoEntrega" : {
"id" : 509590658 ,
"logradouro" : "R. das Entregas" ,
"numero" : "999" ,
"complemento" : "Casa 3" ,
"bairro" : "Parque Vila Maria" ,
"cidade" : "São Paulo" ,
"uf" : "SP" ,
"cep" : "02169000" ,
"latitude" : -23.520088 ,
"longitude" : -46.580377
},
"loja" : {
"id" : 11111 ,
"storeId" : "caabfbc7-b31c-482a-b130-90de2b540d81" ,
"nome" : "Mercadão Vila Maria" ,
"cnpj" : "41574314000185" ,
"status" : "Ativa" ,
"endereco" : {
"logradouro" : "Av Mercadao De figueiredo" ,
"numero" : "61" ,
"bairro" : "VILA MARIA" ,
"cidade" : "SAO PAULO" ,
"uf" : "SP" ,
"cep" : "02179999"
},
"rede" : {
"id" : 289312 ,
"nome" : "Mercadao 1"
},
"atendimento" : []
},
"cliente" : {
"id" : 1100348881 ,
"nome" : "Irany Natly" ,
"email" : "IRANYMAIL@EMAIL.COM" ,
"cpf" : "57560161049" ,
"tipo" : "Fisica" ,
"publicidadeEmail" : false ,
"publicidadeSms" : false ,
"telefoneCelular" : "11999625991"
},
"items" : [
{
"id" : 5056629492 ,
"uniqueId" : "78c8e027-a0ad-4140-9ebd-f8aa4de3cec0" ,
"index" : 0 ,
"codigo" : "36763-A510034984" ,
"codigoLoja" : "510034984" ,
"pesoVariavel" : false ,
"codigoBarra" : "7896031232083" ,
"plu" : "767149" ,
"produto" : "Salsicha Bordon Viena 180g" ,
"quantidade" : 3 ,
"quantidade3" : 3 ,
"valor" : 4.84 ,
"valorTotal" : 14.52 ,
"indisponivel" : false ,
"desistencia" : false ,
"valorOriginal" : 4.84 ,
"pesoVariavelVendidoPorUnidade" : false
}
],
"pagamentos" : [
{
"id" : 4061 ,
"nome" : "iFood PIX" ,
"valor" : 7.06 ,
"tipo" : "Online"
}
],
"beneficios" : [
{
"patrocinio" : "IFOOD" ,
"valor" : 4.2 ,
"tipo" : "ITEM" ,
"itemId" : 5056629492
},
{
"patrocinio" : "EXTERNAL" ,
"valor" : 2.26 ,
"tipo" : "ITEM" ,
"itemId" : 5056629492
}
],
"beneficiosEntrega" : {}
}
Nuevo {
"id" : "fc18f00b-95c8-4cfa-b293-d7c93195d23b" ,
"shortCode" : "97611" ,
"package" : {
"drybag" : 1 ,
"coldbag" : 1
},
"test" : false ,
"createdAt" : "2024-03-24T00:31:56.1863131Z" ,
"category" : "GROCERY" ,
"salesChannel" : {
"name" : "IFOOD"
},
"merchant" : {
"id" : "caabfbc7-b31c-482a-b130-90de2b540d81" ,
"name" : "Mercadão Vila Maria" ,
"cnpj" : "41574314000185" ,
"address" : {
"streetName" : "Av Mercadao De figueiredo" ,
"city" : "SAO PAULO" ,
"complement" : null ,
"country" : "BR" ,
"district" : "VILA MARIA" ,
"latitude" : -23.524411 ,
"longitude" : -46.574299 ,
"state" : "SP" ,
"streetNumber" : "61" ,
"zipCode" : "02179999"
},
"phones" : [
{
"phone" : "999995566"
}
]
},
"taxPayer" : {
"identification" : {
"value" : "16695141886" ,
"type" : "CPF"
}
},
"customer" : {
"id" : "da0e292e-f8e1-43e7-b781-21d69f13f079" ,
"name" : "Irany Natly" ,
"phones" : [
{
"phone" : "11999625991"
}
],
"email" : "IRANYMAIL@EMAIL.COM" ,
"birthDate" : null ,
"document" : {
"type" : "CPF" ,
"value" : "57560161049"
},
"billingAddress" : {
"streetName" : "R. das Perobas" ,
"city" : "São Paulo" ,
"complement" : "Casa 111" ,
"country" : null ,
"district" : "Parque Vila Maria" ,
"latitude" : -23.520093 ,
"longitude" : -46.5800923 ,
"state" : "SP" ,
"streetNumber" : "91C" ,
"zipCode" : "06649023"
},
"type" : "NATURAL_PERSON" ,
"localizer" : {
"code" : "908353" ,
"phone" : "0800 100 9988"
}
},
"bag" : {
"items" : [
{
"uniqueId" : "78c8e027-a0ad-4140-9ebd-f8aa4de3cec0" ,
"quantity" : 3 ,
"name" : "Salsicha Bordon Viena 180g" ,
"ean" : "7896031232083" ,
"note" : null ,
"weight" : {
"value" : 540
},
"prices" : {
"unitValue" : {
"value" : 484 ,
"currency" : "BRL"
},
"salePriceKg" : null ,
"grossValue" : {
"value" : 1452 ,
"currency" : "BRL"
}
},
"product" : {
"plu" : "767149" ,
"isVariableWeight" : false
},
"unavailable" : false
}
],
"prices" : {
"grossValue" : {
"value" : 1452 ,
"currency" : "BRL"
}
},
"replacementOptions" : {
"mode" : "STORE_CHOOSE_OTHER_ITEMS"
}
},
"operationMode" : {
"type" : "DELIVERY" ,
"schedulingType" : "TIME_SLOT" ,
"delivery" : {
"provider" : "IFOOD" ,
"type" : "SCHEDULED" ,
"destination" : {
"id" : "fc6853d8-12d7-4e80-bcce-18ea0f83efa8" ,
"streetName" : "R. das Entregas" ,
"city" : "São Paulo" ,
"complement" : "Casa 3" ,
"country" : "BR" ,
"district" : "Parque Vila Maria" ,
"latitude" : -23.520088 ,
"longitude" : -46.580377 ,
"state" : "SP" ,
"streetNumber" : "999" ,
"zipCode" : "02169000"
},
"prices" : {
"grossValue" : {
"value" : 100 ,
"currency" : "BRL"
}
},
"deliveryTime" : {
"window" : {
"from" : "2024-03-25T13:00:00Z" ,
"to" : "2024-03-25T15:00:00Z"
}
},
"code" : "DEFAULT"
},
"takeout" : null ,
"preparation" : {
"start" : "2024-03-25T12:30:00Z" ,
"end" : "2024-03-25T12:45:00Z"
}
},
"payment" : {
"methods" : [
{
"name" : "PIX" ,
"inPerson" : false ,
"liability" : "IFOOD" ,
"amount" : {
"value" : 806 ,
"currency" : "BRL"
},
"cash" : null ,
"card" : null ,
"wallet" : null ,
"digital" : null ,
"uniqueId" : "16e000f5-f76d-49cd-ac59-888a0848ad93"
}
]
},
"benefit" : {
"benefits" : [
{
"targetId" : "038a39f5-4330-4e59-9bbe-58952e38280f" ,
"target" : "ITEM" ,
"sponsorships" : [
{
"liability" : "OWN" ,
"amount" : {
"value" : 420 ,
"currency" : "BRL"
}
}
]
},
{
"targetId" : "3f53906e-1d7e-4917-81c0-9f9e14235128" ,
"target" : "ITEM" ,
"sponsorships" : [
{
"liability" : "EXTERNAL" ,
"amount" : {
"value" : 226 ,
"currency" : "BRL"
}
}
]
}
]
},
"invoiceInformation" : null
}
Ejemplo de pedidos - Takeout Legacy {
"idLoja" : 75872 ,
"idCliente" : 510080108 ,
"idPedido" : "a619d3aa-d058-4af1-9b46-fce3df9334ed" ,
"codigo" : "5272-A510080114" ,
"codigoLoja" : "510080114" ,
"data" : "2024-03-24T00:00:00" ,
"hora" : "10:29" ,
"dataHora" : "2024-03-24T10:29:13.5129199" ,
"agendamentoDataInicio" : "2024-03-24T00:00:00" ,
"agendamentoHoraInicio" : "10:29" ,
"agendamentoDataFim" : "2024-03-24T00:00:00" ,
"agendamentoHoraFim" : "11:14" ,
"entrega" : false ,
"retirada" : true ,
"cpfNaNota" : true ,
"status" : "FIN" ,
"tipo" : "IMMEDIATE" ,
"statusDescricao" : "Finalizado" ,
"pessoaAutorizadaRecebimento" : "" ,
"quantidadeItemUnico" : 1 ,
"valorMercado" : 27.39 ,
"valorConveniencia" : 0 ,
"quantidadeSacolaResfriada" : 0 ,
"quantidadeSacolaSeca" : 1 ,
"valorEntrega" : 0 ,
"valorRetirada" : 0 ,
"valorTroco" : 0 ,
"valorDesconto" : 0 ,
"valorTotal" : 27.39 ,
"valorCorrigido" : 27.39 ,
"opcaoTroca" : "STORE_REMOVE_ITEMS" ,
"parceiro" : {
"codigoEntrega" : "98743895" ,
"codigoPedido" : "8468" ,
"agendado" : false
},
"plataforma" : "IFOOD" ,
"loja" : {
"id" : 75872 ,
"storeId" : "62d5881f-b7fd-493c-80a2-1a5ccc50bf29" ,
"nome" : "Mercadao Varejista" ,
"cnpj" : "90015416000176" ,
"status" : "Ativa" ,
"endereco" : {
"logradouro" : "RUA DO MERCADAO" ,
"numero" : "6" ,
"bairro" : "Ressaca" ,
"cidade" : "CONTAGEM" ,
"uf" : "MG" ,
"cep" : "32000340"
},
"rede" : {
"id" : 299942 ,
"nome" : "Mercadao 100"
},
"atendimento" : []
},
"cliente" : {
"id" : 519981108 ,
"nome" : "JULIA GRAMISCELLI CERQUEIRA" ,
"email" : "JUGRAMMAIL@EMAIL.COM" ,
"cpf" : "82743786019" ,
"tipo" : "Fisica" ,
"publicidadeEmail" : false ,
"publicidadeSms" : false ,
"telefoneCelular" : "31993200022"
},
"items" : [
{
"id" : 5056851281 ,
"uniqueId" : "ba1eb819-af83-480a-979c-e8bb18fa45da" ,
"index" : 0 ,
"codigo" : "5272-A510080114" ,
"codigoLoja" : "510080114" ,
"pesoVariavel" : false ,
"codigoBarra" : "7896006711155" ,
"produto" : "Arroz Branco Longo Fino Polido Tipo 1 Camil 5kg" ,
"quantidade" : 1 ,
"quantidade3" : 1 ,
"valor" : 30.79 ,
"valorTotal" : 30.79 ,
"indisponivel" : false ,
"desistencia" : false ,
"valorOriginal" : 30.79 ,
"pesoVariavelVendidoPorUnidade" : false
}
],
"pagamentos" : [
{
"id" : 4060 ,
"nome" : "iFood Carteira Digital" ,
"valor" : 27.39 ,
"tipo" : "Online" ,
"transacoes" : [
{
"bandeira" : "MOVILE_PAY" ,
"transactionCode1" : "92f0d967-0380-4403-aa58-e9dd8b969055" ,
"valor" : 27.39 ,
"dataHora" : "2024-03-24T10:29:13.5129199"
}
]
}
],
"beneficios" : [
{
"patrocinio" : "IFOOD" ,
"valor" : 3.4 ,
"tipo" : "ITEM" ,
"itemId" : 5056851282
}
],
"beneficiosEntrega" : {}
}
Nuevo {
"id" : "a619d3aa-d058-4af1-9b46-fce3df9334ed" ,
"shortCode" : "8468" ,
"package" : {
"drybag" : 3 ,
"coldbag" : 0
},
"test" : false ,
"createdAt" : "2024-03-24T13:29:13.5129199Z" ,
"category" : "GROCERY" ,
"salesChannel" : {
"name" : "IFOOD"
},
"merchant" : {
"id" : "62d5881f-b7fd-493c-80a2-1a5ccc50bf29" ,
"name" : "Mercadao Varejista" ,
"cnpj" : "90015416000176" ,
"address" : {
"streetName" : "RUA DO MERCADAO" ,
"city" : "CONTAGEM" ,
"complement" : null ,
"country" : "BR" ,
"district" : "Ressaca" ,
"latitude" : -19.8811104 ,
"longitude" : -44.02099 ,
"state" : "MG" ,
"streetNumber" : "6" ,
"zipCode" : "32000340"
},
"phones" : [
{
"phone" : "30091444"
}
]
},
"taxPayer" : {
"identification" : {
"value" : "82743786019" ,
"type" : "CPF"
}
},
"customer" : {
"id" : "5f108982-73ba-4327-9fcb-f58cd0cf1954" ,
"name" : "JULIA GRAMISCELLI CERQUEIRA" ,
"phones" : [
{
"phone" : "31993200022"
}
],
"email" : "JUGRAMMAIL@EMAIL.COM" ,
"birthDate" : null ,
"document" : {
"type" : "CPF" ,
"value" : "82743786019"
},
"billingAddress" : null ,
"type" : "NATURAL_PERSON" ,
"localizer" : {
"code" : "987881895" ,
"phone" : "0800 100 9988"
}
},
"bag" : {
"items" : [
{
"uniqueId" : "ba1eb819-af83-480a-979c-e8bb18fa45da" ,
"quantity" : 1 ,
"name" : "Arroz Branco Longo Fino Polido Tipo 1 Camil 5kg" ,
"ean" : "7896006711155" ,
"note" : null ,
"weight" : {
"value" : 5000
},
"prices" : {
"unitValue" : {
"value" : 3079 ,
"currency" : "BRL"
},
"salePriceKg" : null ,
"grossValue" : {
"value" : 3079 ,
"currency" : "BRL"
}
},
"product" : {
"plu" : null ,
"isVariableWeight" : false
},
"unavailable" : false
}
],
"prices" : {
"grossValue" : {
"value" : 3079 ,
"currency" : "BRL"
}
},
"replacementOptions" : {
"mode" : "STORE_REMOVE_ITEMS"
}
},
"operationMode" : {
"type" : "TAKEOUT" ,
"schedulingType" : "IMMEDIATE" ,
"delivery" : null ,
"takeout" : {
"takeoutTime" : {
"window" : {
"from" : "2024-03-24T14:14:13.5129199Z" ,
"to" : "2024-03-24T14:24:13.5129199Z"
}
}
},
"preparation" : {
"start" : "2024-03-24T13:29:13.512Z" ,
"end" : "2024-03-24T14:14:13.512Z"
}
},
"payment" : {
"methods" : [
{
"name" : "DIGITAL_WALLET" ,
"inPerson" : false ,
"liability" : "MOVILE_PAY" ,
"amount" : {
"value" : 2739 ,
"currency" : "BRL"
},
"cash" : null ,
"card" : {
"brand" : "MOVILE_PAY" ,
"cardNumber" : null ,
"provider" : null
},
"wallet" : null ,
"digital" : null ,
"uniqueId" : "903b0ce1-6782-477f-8fb6-b1a0ebc4acee"
}
]
},
"benefit" : {
"benefits" : [
{
"targetId" : "ba1eb819-af83-480a-979c-e8bb18fa45da" ,
"target" : "ITEM" ,
"sponsorships" : [
{
"liability" : "OWN" ,
"amount" : {
"value" : 340 ,
"currency" : "BRL"
}
}
]
}
]
},
"invoiceInformation" : null
}
De/Para do payload IdLoja IdCupom IdCliente IdPedido OrderId Codigo CodigoLoja DataHora Al igual que el campoDataHora Al igual que el campoDataHora OperationMode.Delivery.DeliveryTime.Window.From
Para pedidos dondeOperationMode.SchedulingType in ["TIME_SLOT", "SCHEDULED"]
yOperationMode.Type == "DELIVERY"
OperationMode.Takeout.TakeoutTime.Window.From
Para pedidos dondeOperationMode.SchedulingType in ["TIME_SLOT", "SCHEDULED"]
yOperationMode.Type == "TAKEOUT"
OperationMode.Preparation.Start
Para pedidos dondeOperationMode.SchedulingType not in ["TIME_SLOT", "SCHEDULED"]
Al igual que el campoAgendamentoDataInicio OperationMode.Delivery.DeliveryTime.Window.To
Para pedidos dondeOperationMode.SchedulingType in ["TIME_SLOT", "SCHEDULED"]
yOperationMode.Type == "DELIVERY"
OperationMode.Takeout.TakeoutTime.Window.To
Para pedidos dondeOperationMode.SchedulingType in ["TIME_SLOT", "SCHEDULED"]
yOperationMode.Type == "TAKEOUT"
OperationMode.Preparation.End
Para pedidos dondeOperationMode.SchedulingType not in ["TIME_SLOT", "SCHEDULED"]
Al igual que el campoAgendamentoDataFim Entrega true
Para pedidos dondeOperationMode.Type == "DELIVERY"
Retirada true
Para pedidos dondeOperationMode.Type != "DELIVERY"
CpfNaNota true
Para pedidos dondeTaxPayer.Identification.Type in ["CPF", "CNPJ"]
Status StatusDescricao Tipo "EXPRESS"
Para pedidos dondeOperationMode.Type == "DELIVERY"
yOperationMode.Delivery.Code in ["EXPRESS", "FAST_DELIVERY"]
"SCHEDULED"
Para pedidos dondeOperationMode.Type == "DELIVERY"
yOperationMode.Delivery.Code not in ["EXPRESS", "FAST_DELIVERY"]
yOperationMode.SchedulingType in ["SCHEDULED", "TIME_SLOT", "TIME_INTERVAL"]
OperationMode.SchedulingType
Para otros pedidos PessoaAutorizadaRecebimento QuantidadeItemUnico Deprecated
(Se puede extraer de Bag.Items
) ValorMercado Bag.Prices.GrossValue / 100
(GrossValue
se devuelve en centavos) ValorEntrega OperationMode.Delivery.Prices.GrossValue / 100
Para pedidos dondeOperationMode.Type == "DELIVERY"
yOperationMode.Delivery.Provider != "IFOOD"
(GrossValue
se devuelve en centavos) Siempre será devuelto, con el envío a cargo de iFood o de la tienda. ValorConveniencia ValorRetirada ValorTroco Payment.Methods[].Cash.ChangeFor / 100
Para pedidos que tienen Payment.Methods[].Cash
(ChangeFor
se devuelve en centavos) ValorDesconto SUM(Benefit.Benefits[].Sponsorships[].Amount.Value) / 100
Para pedidos que Benefit.Benefits[].Target != "DELIVERY_FEE"
yBenefit.Benefits[].Sponsorships[].Liability == "PARTNER"
(Amount.Value
se devuelve en centavos) ValorTotal Use ValorMercado - ValorDesconto
ValorCorrigido QuantidadeSacolaResfriada QuantidadeSacolaSeca IdentificacaoVolumeDescricao OpcaoTroca Bag.ReplacementOptions.Mode
Parceiro.CodigoEntrega Parceiro.TelefoneLocalizador Parceiro.CodigoPedido Parceiro.Agendado true
*Para pedidos dondeOperationMode.SchedulingType in ["TIME_SLOT", "SCHEDULED"]
Parceiro.CorrelationId EnderecoEntrega.Id OperationMode.Delivery.Destination.Id
Para pedidos dondeOperationMode.Type == "DELIVERY"
(Ahora será un UUID) EnderecoEntrega.Logradouro OperationMode.Delivery.Destination.StreetName
Para pedidos dondeOperationMode.Type == "DELIVERY"
EnderecoEntrega.Numero OperationMode.Delivery.Destination.StreetNumber
Para pedidos dondeOperationMode.Type == "DELIVERY"
EnderecoEntrega.Complemento OperationMode.Delivery.Destination.Complement
Para pedidos dondeOperationMode.Type == "DELIVERY"
EnderecoEntrega.Bairro OperationMode.Delivery.Destination.District
Para pedidos dondeOperationMode.Type == "DELIVERY"
EnderecoEntrega.Cidade OperationMode.Delivery.Destination.City
Para pedidos dondeOperationMode.Type == "DELIVERY"
EnderecoEntrega.Uf OperationMode.Delivery.Destination.State
Para pedidos dondeOperationMode.Type == "DELIVERY"
EnderecoEntrega.Estado EnderecoEntrega.Cep OperationMode.Delivery.Destination.ZipCode
Para pedidos dondeOperationMode.Type == "DELIVERY"
EnderecoEntrega.Latitude OperationMode.Delivery.Destination.Latitude
Para pedidos dondeOperationMode.Type == "DELIVERY"
EnderecoEntrega.Longitude OperationMode.Delivery.Destination.Longitude
Para pedidos dondeOperationMode.Type == "DELIVERY"
Cupom.Codigo Cupom.BeneficioTaxaServico Cupom.BeneficioTaxaEntrega Cupom.BeneficioTaxaRetirada Cupom.ValorBeneficioTaxaServico Cupom.ValorBeneficioTaxaEntrega Cupom.ValorBeneficioTaxaRetirada Loja.Id Merchant.Id
Ahora será un UUID Loja.StoreId Loja.Nome Loja.Cnpj Loja.Teste Loja.Status* Loja.Endereco.Id Loja.Endereco.Logradouro Merchant.Address.StreetName
Loja.Endereco.Numero Merchant.Address.StreetNumber
Loja.Endereco.Complemento Merchant.Address.Complement
Loja.Endereco.Bairro Merchant.Address.District
Loja.Endereco.Cidade Loja.Endereco.Uf Loja.Endereco.Estado Loja.Endereco.Cep Loja.Endereco.Latitude Merchant.Address.Latitude
Loja.Endereco.Longitude Merchant.Address.Longitude
Loja.Rede.Id Loja.Rede.Nome Loja.Rede.PathUrl Loja.Atendimento[].Valor Loja.Atendimento[].Tipo * Cliente.Id Customer.Id
Ahora será un UUID Cliente.Nome Cliente.Email Cliente.Cpf Customer.Document.Value
Para pedidos dondeCustomer.Document.Type == "CPF"
Cliente.Cnpj Customer.Document.Value
Para pedidos dondeCustomer.Document.Type == "CNPJ"
Cliente.Rg Customer.Document.Value
Para pedidos dondeCustomer.Document.Type == "RG"
Cliente.Ie InvoiceInformation.StateRegistration
Cliente.Tipo* Customer.Type
Agora será ["NATURAL_PERSON", "LEGAL_PERSON"]
Cliente.PublicidadeEmail Cliente.PublicidadeSms Cliente.DataNascimento Cliente.Genero* Cliente.TelefoneCelular Customer.Phones[].PhoneNumber
Cliente.TelefoneFixo Customer.Phones[].PhoneNumber
Cliente.Cadastro Cliente.Endereco.Id Cliente.Endereco.Logradouro Customer.BillingAddress.StreetName
Cliente.Endereco.Numero Customer.BillingAddress.StreetNumber
Cliente.Endereco.Complemento Customer.BillingAddress.Complement
Cliente.Endereco.Bairro Customer.BillingAddress.District
Cliente.Endereco.Cidade Customer.BillingAddress.City
Cliente.Endereco.Uf Customer.BillingAddress.State
Cliente.Endereco.Estado Cliente.Endereco.Cep Customer.BillingAddress.ZipCode
Cliente.Endereco.Latitude Customer.BillingAddress.Latitude
Cliente.Endereco.Longitude Customer.BillingAddress.Longitude
Items.Id Items.UniqueId Items.Index Items.Codigo Items.CodigoLoja Items.PesoVariavel Bag.Items[].Product.IsVariableWeight
Items.CodigoBarra Items.Plu Items.Produto Items.IdProduto Items.Observacao Items.Quantidade Bag.Items[].Weight.Value
Para pedidos dondeBag.Items[].Product.IsVariableWeight == true
(Weight.Value
se devuelve en gramos) Bag.Items[].Quantity
Para pedidos dondeBag.Items[].Product.IsVariableWeight == false
Items.Quantidade3 Items.Valor Bag.Items[].Prices.SalePriceKg.Value / 100
Para pedidos dondeBag.Items[].Product.IsVariableWeight == true
(SalePriceKg.Value
se devuelve en centavos) Bag.Items[].Prices.UnitValue.Value / 100
Para pedidos dondeBag.Items[].Product.IsVariableWeight == false
(UnitValue.Value
se devuelve en centavos) Items.ValorTotal Bag.Items[].Prices.GrossValue / 100
(GrossValue
se devuelve en centavos) Items.Indisponivel Items.Desistencia Items.ValorOriginal Items.PesoVariavelVendidoPorUnidade Pagamentos[].Id Payment.Methods[].UniqueId
Pagamentos[].Nome Pagamentos[].Valor Payment.Methods[].Amount.Value / 100
(Amount.Value
se devuelve en centavos) Pagamentos[].ValorCorrigido Pagamentos[].Tipo Payment.Methods[].InPerson
Dondetrue
esOFFLINE
yfalse
esONLINE
Pagamentos[].Transacoes.Bandeira Payment.Methods[].Card.Brand
Para pedidos dondePayment.Name in ["Credit", "Debit"]
Pagamentos[].Transacoes.InicioCartao Payment.Methods[].Card.CardNumber
Para pedidos dondePayment.Name in ["Credit", "Debit"]
(Ahora será el número de tarjeta enmascarado) Pagamentos[].Transacoes.FimCartao Payment.Methods[].Card.CardNumber
Para pedidos dondePayment.Name in ["Credit", "Debit"]
(Ahora será el número de tarjeta enmascarado) Pagamentos[].Transacoes.Adquirente Payment.Methods[].Card.Provider
Para pedidos dondePayment.Name in ["Credit", "Debit"]
Pagamentos[].Transacoes.TransactionCode1 Pagamentos[].Transacoes.TransactionCode2 Pagamentos[].Transacoes.TransactionCode3 Pagamentos[].Transacoes.Valor Payment.Methods[].Amount.Value / 100
Para pedidos dondePayment.Name in ["Credit", "Debit"]
(Amount.Value
se devuelve en centavos) Pagamentos[].Transacoes.DataHora Beneficios[].Patrocinio Benefit.Benefits[].Sponsorships[].Liability
Actual Nuevo MERCHANT PARTNER IFOOD OWN
Los beneficios otorgados por iFood o la tienda siempre serán devueltos. Beneficios[].Valor Benefit.Benefits[].Sponsorships[].Amount.Value
(Amount.Value
se devuelve en centavos) Beneficios[].Tipo Benefit.Benefits[].Target
Beneficios[].ItemId Benefit.Benefits[].TargetId
(Ahora será el UUID del artículo) BeneficiosEntrega[].Patrocinio Lo mismo que Beneficios[].Patrocinio
Para pedidos dondeBenefit.Benefits[].Target == "DELIVERY_FEE"
BeneficiosEntrega[].Valor Lo mismo que Beneficios[].Valor
Para pedidos dondeBenefit.Benefits[].Target == "DELIVERY_FEE"
BeneficiosEntrega[].Tipo Lo mismo que Beneficios[].Tipo
Para pedidos dondeBenefit.Benefits[].Target == "DELIVERY_FEE"
BeneficiosEntrega[].ItemId Lo mismo que Beneficios[].ItemId
Para pedidos dondeBenefit.Benefits[].Target == "DELIVERY_FEE"