logo
logo

Docs Groceries Detalles del Pedido

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

Campos

CampoTipoDescripción
iduuidIdentificador único del pedido
shortCodestringID amigable para facilitar la identificación del pedido por la tienda.
statusbooleanoEl estado del pedido
testbooleanoIndica si es un pedido de prueba o no.
createdAtdatetimeFecha de creación del pedido.
categorystringcategoría del pedido (FOOD, GROCERY, ANOTAI ou FOOD_SELF_SERVICE

Ejemplo:

{
  "id": "32c15e00-9861-4548-b5f0-15580defc999",
  "shortCode": "fc999",
  "status": "PICKED",
  "isTest": false,
  "createdAt": "2020-01-01T00:00:00.000Z",
  ...
}
CampoTipoDescripción
dryBagintegercantidad de sacolas secas
coldBagintegercantidad de sacolas frias

Ejemplo:

"package": {
  "dryBag": 1,
  "coldBag": 2
}
CampoTipoDescrição
namestringnome del canal de ventas (por ejemplo, IFOOD, POS, DIGITAL_CATALOG)

Exemplo:

"salesChannel": {
  "name": "IFOOD"
}
CampoTipoDescripción
iduuididentificador único de la tienda
namestringnombre de la tienda
cnpjstringCNPJ de la tienda
address.streetNamestringnombre de la calle de la dirección de la tienda
address.citystringciudad de la dirección de la tienda
address.complementstringcomplemento de la dirección de la tienda
address.countrystringpaís de la dirección de la tienda
address.districtstringdistrito de la dirección de la tienda
address.latitudedoublelatitud de la dirección de la tienda
address.longitudedoublelongitud de la dirección de la tienda
address.statestringestado de la dirección de la tienda
address.streetNumberstringnúmero en la calle de la dirección de la tienda
address.zipCodestringcódigo postal de la dirección de la tienda
phones[].phoneNumberstringnú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"
    }
  ]
}
CampoTipoDescrição
identification.valuestringvalor del documento de identificación del contribuyente
identification.typestringtipo del documento de identificación del contribuyente

Ejemplo:

"taxPayer": {
  "identification": {
    "value": "12345678901",
    "type": "CPF"
  }
}
CampoTipoDescripción
iduuididentificador único del cliente
namestringnombre del cliente
phones[].phoneNumberstringlista de números de teléfono del cliente
emailstringcorreo electrónico del cliente
birthDatedatetimefecha de nacimiento del cliente
typestringtipo de cliente, NATURAL_PERSON o LEGAL_PERSON
document.Typestringtipo de documento del cliente (por ejemplo, CPF, RG)
document.Valuestringvalor del documento del cliente
billingAddress.streetNamestringnombre de la calle de la dirección de facturación del cliente
billingAddress.citystringciudad de la dirección de facturación del cliente
billingAddress.complementstringcomplemento de la dirección de facturación del cliente
billingAddress.countrystringpaís de la dirección de facturación del cliente
billingAddress.districtstringdistrito de la dirección de facturación del cliente
billingAddress.latitudedoublelatitud de la dirección de facturación del cliente
billingAddress.longitudedoublelongitud de la dirección de facturación del cliente
billingAddress.statestringestado de la dirección de facturación del cliente
billingAddress.streetNumberstringnúmero en la calle de la dirección de facturación del cliente
billingAddress.zipCodestringcódigo postal de la dirección de facturación del cliente
localizer.Codestringcódigo localizador del cliente
localizer.phonestringtelé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"
  }
}
CampoTipoDescripción
items.UniqueIdstringidentificador único del ítem en la bolsa
items.Indexenteroíndice del ítem
items.Quantityenterocantidad del ítem
items.Namestringnombre del ítem
items.Eanstringcódigo de barras del ítem
items.Notestringcomentarios agregados por el cliente al ítem (por ejemplo, quitar ensalada, sin salsa, etc.)
items.Weight.Valuedoblevalor de la medida de peso del ítem
items.Prices.UnitValue.Valuedoblevalor en centavos DE UN ítem sin ningún descuento
items.Prices.UnitValue.Currencystringmoneda
items.Prices.SalePriceKg.Valuedoblevalor en centavos DE UN KG del ítem sin ningún descuento
items.Prices.SalePriceKg.Currencystringmoneda
items.Prices.GrossValue.Valuedoblevalor 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.Currencystringmoneda
items.Product.Plustringcódigo interno del socio para control del paquete propietario
items.Product.IsVariableWeightbooleanidentifica si es un ítem de peso variable
prices.GrossValue.Valuedoblevalor en centavos de todos los ítems y ítems de guarnición del pedido sin ningún descuento
prices.GrossValue.Currencystringmoneda
replacementOptions.Modestringlo 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"
  }
}
CampoTipoDescripción
typestringtipo de operación de entrega (por ejemplo, DELIVERY, TAKE-OUT)
schedulingTypestringIMMEDIATE, TIME_SLOT o TIME_INTERVAL
delivery.Providerstringproveedor logístico responsable por la entrega (por ejemplo, ifood, merchant, etc)
delivery.Typestringtipo de entrega (por ejemplo, EXPRESS, IMMEDIATE, SCHEDULED)
delivery.Codestringidentificador único del método de entrega
delivery.Destination.iduuididentificador único de la dirección de entrega elegida por el cliente
delivery.Destination.streetNamestringnombre de la calle de la dirección de entrega elegida por el cliente
delivery.Destination.citystringciudad de la dirección de entrega elegida por el cliente
delivery.Destination.complementstringcomplemento de la dirección de entrega elegida por el cliente
delivery.Destination.countrystringpaís de la dirección de entrega elegida por el cliente
delivery.Destination.districtstringdistrito de la dirección de entrega elegida por el cliente
delivery.Destination.latitudedoublelatitud de la dirección de entrega elegida por el cliente
delivery.Destination.longitudedoublelongitud de la dirección de entrega elegida por el cliente
delivery.Destination.statestringestado de la dirección de entrega elegida por el cliente
delivery.Destination.streetNumberstringnúmero en la calle de la dirección de entrega elegida por el cliente
delivery.Destination.zipCodestringcódigo postal de la dirección de entrega elegida por el cliente
delivery.Prices.GrossValue.Valuedoublevalor de la entrega en centavos
delivery.Prices.GrossValue.Currencystringmoneda
delivery.DeliveryTime.Window.Fromdatetimeinicio de la ventana de programación de la entrega
delivery.DeliveryTime.Window.Todatetimefin de la ventana de programación de la entrega
takeout.TakeoutTime.Window.Fromdatetimeinicio de la ventana de programación de la recogida
takeout.TakeoutTime.Window.Todatetimefin de la ventana de programación de la recogida
preparation.Startdatetimeinicio de la preparación
preparation.Enddatetimefin 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"
  }
}
CampoTipoDescripción
methods[].Namestringnombre del método de pago (por ejemplo, Crédito, Débito, etc.)
methods[].InPersonbooleanpago en persona
methods[].Liabilitystringa quién se le debe pagar (por ejemplo, ifood, comerciante, etc.)
methods[].Amount.Valuedoublecuánto se pagó en centavos
methods[].Amount.Currencystringmoneda
methods[].Cash.ChangeFor.Valuedoublecuando 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.Currencystringmoneda
methods[].Card.Brandstringmarca de la tarjeta
methods[].Card.CardNumberstringnúmero de tarjeta
methods[].Card.Providerstringproveedor de la tarjeta (por ejemplo, MasterCard)
methods[].UniqueIdstringidentificador único
methods[].Wallet.Providerstringproveedor de la billetera digital
methods[].Digital.Datastringlos 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"
    }
  ]
}
CampoTipoDescripción
BenefitsList.TargetIdstringel ID de destino (para descuentos en ítems, aquí se utiliza el catalogItemId)
BenefitsList.Targetstringdónde se aplica el descuento (por ejemplo, carrito, un ítem específico, tarifa de entrega, otra tarifa, etc)
BenefitsList.Sponsorships.Liabilitystringel patrocinador (ifood, comerciante, coca-cola, etc)
BenefitsList.Sponsorships.Amount.Valuedoubleel valor del beneficio en centavos
BenefitsList.Sponsorships.Amount.Currencystringmoneda

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"
          }
        }
      ]
    }
  ]
}
CampoTipoDescrição
StateRegistrationstringregistro estatal

Ejemplo:

"invoiceInformation": {
  "stateRegistration": "123456789"
}