Um pedido contém as seguintes informações:
Campo | Tipo | Descrição |
---|---|---|
id | uuid | Identificador único do pedido |
shortCode | string | Id amigável para facilitar a identificação do pedido pela loja. |
status | boolean | O status do pedido |
test | boolean | Indica se é um pedido de teste ou não. |
createdAt | datetime | Data de criação do pedido. |
category | string | categoria do pedido (FOOD, GROCERY, ANOTAI ou FOOD_SELF_SERVICE |
Exemplo:
{
"id": "32c15e00-9861-4548-b5f0-15580defc999",
"shortCode": "fc999",
"status": "PICKED",
"test": false,
"createdAt": "2020-01-01T00:00:00.000Z",
...
}
Campo | Tipo | Descrição |
---|---|---|
dryBag | integer | quantidade de sacolas secas |
coldBag | integer | quantidade de sacolas frias |
Exemplo:
"package": {
"dryBag": 1,
"coldBag": 2
}
Campo | Tipo | Descrição |
---|---|---|
name | string | nome do canal de vendas (por exemplo, IFOOD, POS, DIGITAL_CATALOG) |
Exemplo:
"salesChannel": {
"name": "IFOOD"
}
Campo | Tipo | Descrição |
---|---|---|
id | uuid | identificador único da loja |
name | string | nome da loja |
cnpj | string | CNPJ da loja |
phones[].phoneNumber | string | número de telefone da loja |
address.streetName | string | logradouro do endereço da loja |
address.streetNumber | string | número na rua do endereço da loja |
address.complement | string | complemento do endereço da loja |
address.zipCode | string | CEP do endereço da loja |
address.district | string | bairro do endereço da loja |
address.city | string | cidade do endereço da loja |
address.state | string | estado do endereço da loja |
address.country | string | país do endereço da loja |
address.latitude | double | latitude do endereço da loja |
address.longitude | double | longitude do endereço da loja |
Exemplo:
"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"
}
]
}
Campo | Tipo | Descrição |
---|---|---|
identification.value | string | valor do documento de identificação |
identification.type | string | tipo do documento de identificação (por exemplo, CPF) |
Exemplo:
"taxPayer": {
"identification": {
"value": "12345678901",
"type": "CPF"
}
}
Campo | Tipo | Descrição |
---|---|---|
id | uuid | identificador único do cliente |
name | string | nome do cliente |
phones[].phoneNumber | string | lista de números de telefone do cliente |
string | e-mail do cliente | |
birthDate | datetime | data de nascimento do cliente |
type | string | tipo de cliente, NATURAL_PERSON ou LEGAL_PERSON |
localizer.Code | string | código localizador do cliente |
localizer.phone | string | telefone localizador do cliente |
document.Type | string | tipo de documento do cliente (por exemplo, CPF, RG) |
document.Value | string | valor do documento do cliente |
billingAddress.streetName | string | logradouro do endereço de cobrança do cliente |
billingAddress.streetNumber | string | número na rua do endereço de cobrança do cliente |
billingAddress.complement | string | complemento do endereço de cobrança do cliente |
billingAddress.zipCode | string | CEP do endereço de cobrança do cliente |
billingAddress.district | string | bairro do endereço de cobrança do cliente |
billingAddress.city | string | cidade do endereço de cobrança do cliente |
billingAddress.state | string | estado do endereço de cobrança do cliente |
billingAddress.country | string | país do endereço de cobrança do cliente |
billingAddress.latitude | double | latitude do endereço de cobrança do cliente |
billingAddress.longitude | double | longitude do endereço de cobrança do cliente |
Exemplo:
"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"
}
}
Campo | Tipo | Descrição |
---|---|---|
items.UniqueId | string | identificador único do item na sacola |
items.Index | integer | índice do item |
items.Quantity | integer | quantidade do item |
items.Name | string | nome do item |
items.Ean | string | código de barras do item |
items.Note | string | comentários adicionados pelo cliente no item (por exemplo, remover salada, sem molho, etc.) |
items.Weight.Value | double | valor da medida de peso do item |
items.Prices.UnitValue.Value | double | valor em centavos de UM item sem nenhum desconto |
items.Prices.UnitValue.Currency | string | moeda |
items.Prices.SalePriceKg.Value | double | valor em centavos de UM KG do item sem nenhum desconto |
items.Prices.SalePriceKg.Currency | string | moeda |
items.Prices.GrossValue.Value | double | valor em centavos do preço unitário multiplicado pela quantidade de itens mais o preço total das escolhas (guarnição legada) multiplicado pela quantidade de itens |
items.Prices.GrossValue.Currency | string | modeda |
items.Product.Plu | string | código interno do parceiro para controle do pacote proprietário |
items.Product.IsVariableWeight | bool | identifica se é um item de peso variável |
prices.GrossValue.Value | double | valor em centavos todos os itens e itens de guarnição do pedido sem nenhum desconto |
prices.GrossValue.Currency | string | moeda |
replacementOptions.Mode | string | o que o mercado deve fazer se algum tipo de item estiver ausente do pedido: STORE_CONTACT_CUSTOMER; STORE_CHOOSE_OTHER_ITEMS; STORE_REMOVE_ITEMS |
Exemplo:
"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"
}
}
Campo | Tipo | Descrição |
---|---|---|
type | string | tipo da operação de entrega (por exemplo, DELIVERY, TAKE-OUT) |
schedulingType | string | IMMEDIATE, TIME_SLOT ou TIME_INTERVAL |
delivery.Provider | string | provedor logístico responsável pela entrega (por exemplo, ifood, merchant, etc) |
delivery.Type | string | tipo de entrega (por exemplo, EXPRESS, IMMEDIATE, SCHEDULED) |
delivery.Code | string | identificador único do método de entrega |
delivery.Destination.id | uuid | identificador único do endereço de entrega escolhido pelo cliente |
delivery.Destination.streetName | string | logradouro do endereço de entrega escolhido pelo cliente |
delivery.Destination.streetNumber | string | número na rua do endereço de entrega escolhido pelo cliente |
delivery.Destination.complement | string | complemento do endereço de entrega escolhido pelo cliente |
delivery.Destination.zipCode | string | CEP do endereço de entrega escolhido pelo cliente |
delivery.Destination.district | string | bairro do endereço de entrega escolhido pelo cliente |
delivery.Destination.city | string | cidade do endereço de entrega escolhido pelo cliente |
delivery.Destination.state | string | estado do endereço de entrega escolhido pelo cliente |
delivery.Destination.country | string | país do endereço de entrega escolhido pelo cliente |
delivery.Destination.latitude | double | latitude do endereço de entrega escolhido pelo cliente |
delivery.Destination.longitude | double | longitude do endereço de entrega escolhido pelo cliente |
delivery.Prices.GrossValue.Value | double | valor da entrega em centavos |
delivery.Prices.GrossValue.Currency | string | moeda |
delivery.DeliveryTime.Window.From | datetime | início da janela de agendamento da entrega |
delivery.DeliveryTime.Window.To | datetime | fim da janela de agendamento da entrega |
takeout.TakeoutTime.Window.From | datetime | início da janela de agendamento da retirada |
takeout.TakeoutTime.Window.To | datetime | fim da janela de agendamento da retirada |
preparation.Start | datetime | início da preparação |
preparation.End | datetime | fim da preparação |
Exemplo:
"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"
}
}
Campo | Tipo | Descrição |
---|---|---|
methods[].UniqueId | string | identificador único |
methods[].Name | string | nome do método de pagamento (por exemplo, Crédito, Débito e etc) |
methods[].InPerson | bool | pagamento presencial |
methods[].Liability | string | quem deve ser pago (por exemplo, ifood, comerciante, etc) |
methods[].Amount.Value | double | quanto foi pago em centavos |
methods[].Amount.Currency | string | moeda |
methods[].Cash.ChangeFor.Value | double | quando o método de pagamento é dinheiro, este nó é usado para mostrar quanto o cliente pagará para que possamos calcular o troco |
methods[].Cash.ChangeFor.Currency | string | moeda |
methods[].Card.Brand | string | bandeira do cartão |
methods[].Card.CardNumber | string | o número do cartão |
methods[].Card.Provider | string | o provedor do cartão (por exemplo, MasterCard) |
methods[].Wallet.Provider | string | o provedor da carteira digital |
methods[].Digital.Data | string | o dado do pagamento digital (por exemplo, chave pix) |
Exemplo:
"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"
}
]
}
Campo | Tipo | Descrição |
---|---|---|
BenefitsList.TargetId | string | o ID de destino (para descontos em itens, aqui é usado o catalogItemId) |
BenefitsList.Target | string | onde o desconto se aplica (por exemplo, carrinho, um item específico, taxa de entrega, outra taxa, etc) |
BenefitsList.Sponsorships.Liability | string | o patrocinador (ifood, comerciante, coca-cola, etc) |
BenefitsList.Sponsorships.Amount.Value | double | o valor do benefício em centavos |
BenefitsList.Sponsorships.Amount.Currency | string | moeda |
Exemplo:
"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"
}
}
]
}
]
}
Campo | Tipo | Descrição |
---|---|---|
StateRegistration | string | registro estadual |
Exemplo:
"invoiceInformation": {
"stateRegistration": "123456789"
}