logo
logo

Docs Groceries Detalhes do Pedido

Introdução

Um pedido contém as seguintes informações:

  • Informações gerais - id, data de criação do pedido dentre outros.
  • Package - quantidade de sacolas secas e frias
  • SalesChannel - canal de vendas pelo qual o pedido entra na plataforma (novos canais podem ser adicionados)
  • Merchant - identificação do merchant (loja)
  • TaxPayer - documento usado na geração da nota fiscal para pessoa fisica
  • Customer - identificação do cliente que deve receber o pedido
  • Bag - coleção dos itens do pedido, preços, e opções de troca do item
  • OperationalMode - informações sobre como esse pedido será servido (e.g by delivery, take-out, etc)
  • Payments - detalhes sobre as formas de pagamento
  • Benefits - benefícios e incentivos aplicados ao pedido
  • InvoiceInformation - informações usadas na geração da nota fiscal para pessoa juridica

Campos

CampoTipoDescrição
iduuidIdentificador único do pedido
shortCodestringId amigável para facilitar a identificação do pedido pela loja.
statusbooleanO status do pedido
testbooleanIndica se é um pedido de teste ou não.
createdAtdatetimeData de criação do pedido.
categorystringcategoria 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",
  ...
}
CampoTipoDescrição
dryBagintegerquantidade de sacolas secas
coldBagintegerquantidade de sacolas frias

Exemplo:

"package": {
  "dryBag": 1,
  "coldBag": 2
}
CampoTipoDescrição
namestringnome do canal de vendas (por exemplo, IFOOD, POS, DIGITAL_CATALOG)

Exemplo:

"salesChannel": {
  "name": "IFOOD"
}
CampoTipoDescrição
iduuididentificador único da loja
namestringnome da loja
cnpjstringCNPJ da loja
phones[].phoneNumberstringnúmero de telefone da loja
address.streetNamestringlogradouro do endereço da loja
address.streetNumberstringnúmero na rua do endereço da loja
address.complementstringcomplemento do endereço da loja
address.zipCodestringCEP do endereço da loja
address.districtstringbairro do endereço da loja
address.citystringcidade do endereço da loja
address.statestringestado do endereço da loja
address.countrystringpaís do endereço da loja
address.latitudedoublelatitude do endereço da loja
address.longitudedoublelongitude 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"
    }
  ]
}
CampoTipoDescrição
identification.valuestringvalor do documento de identificação
identification.typestringtipo do documento de identificação (por exemplo, CPF)

Exemplo:

"taxPayer": {
  "identification": {
    "value": "12345678901",
    "type": "CPF"
  }
}
CampoTipoDescrição
iduuididentificador único do cliente
namestringnome do cliente
phones[].phoneNumberstringlista de números de telefone do cliente
emailstringe-mail do cliente
birthDatedatetimedata de nascimento do cliente
typestringtipo de cliente, NATURAL_PERSON ou LEGAL_PERSON
localizer.Codestringcódigo localizador do cliente
document.Typestringtipo de documento do cliente (por exemplo, CPF, RG)
document.Valuestringvalor do documento do cliente
billingAddress.streetNamestringlogradouro do endereço de cobrança do cliente
billingAddress.streetNumberstringnúmero na rua do endereço de cobrança do cliente
billingAddress.complementstringcomplemento do endereço de cobrança do cliente
billingAddress.zipCodestringCEP do endereço de cobrança do cliente
billingAddress.districtstringbairro do endereço de cobrança do cliente
billingAddress.citystringcidade do endereço de cobrança do cliente
billingAddress.statestringestado do endereço de cobrança do cliente
billingAddress.countrystringpaís do endereço de cobrança do cliente
billingAddress.latitudedoublelatitude do endereço de cobrança do cliente
billingAddress.longitudedoublelongitude 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"
  }
}
CampoTipoDescrição
items.UniqueIdstringidentificador único do item na sacola
items.Indexintegeríndice do item
items.Quantityintegerquantidade do item
items.Namestringnome do item
items.Eanstringcódigo de barras do item
items.Notestringcomentários adicionados pelo cliente no item (por exemplo, remover salada, sem molho, etc.)
items.Weight.Valuedoublevalor da medida de peso do item
items.Prices.UnitValue.Valuedoublevalor em centavos de UM item sem nenhum desconto
items.Prices.UnitValue.Currencystringmoeda
items.Prices.SalePriceKg.Valuedoublevalor em centavos de UM KG do item sem nenhum desconto
items.Prices.SalePriceKg.Currencystringmoeda
items.Prices.GrossValue.Valuedoublevalor 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.Currencystringmodeda
items.Product.Plustringcódigo interno do parceiro para controle do pacote proprietário
items.Product.IsVariableWeightboolidentifica se é um item de peso variável
prices.GrossValue.Valuedoublevalor em centavos todos os itens e itens de guarnição do pedido sem nenhum desconto
prices.GrossValue.Currencystringmoeda
replacementOptions.Modestringo 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"
  }
}
CampoTipoDescrição
typestringtipo da operação de entrega (por exemplo, DELIVERY, TAKE-OUT)
schedulingTypestringIMMEDIATE, TIME_SLOT ou TIME_INTERVAL
delivery.Providerstringprovedor logístico responsável pela entrega (por exemplo, ifood, merchant, etc)
delivery.Typestringtipo de entrega (por exemplo, EXPRESS, IMMEDIATE, SCHEDULED)
delivery.Codestringidentificador único do método de entrega
delivery.Destination.iduuididentificador único do endereço de entrega escolhido pelo cliente
delivery.Destination.streetNamestringlogradouro do endereço de entrega escolhido pelo cliente
delivery.Destination.streetNumberstringnúmero na rua do endereço de entrega escolhido pelo cliente
delivery.Destination.complementstringcomplemento do endereço de entrega escolhido pelo cliente
delivery.Destination.zipCodestringCEP do endereço de entrega escolhido pelo cliente
delivery.Destination.districtstringbairro do endereço de entrega escolhido pelo cliente
delivery.Destination.citystringcidade do endereço de entrega escolhido pelo cliente
delivery.Destination.statestringestado do endereço de entrega escolhido pelo cliente
delivery.Destination.countrystringpaís do endereço de entrega escolhido pelo cliente
delivery.Destination.latitudedoublelatitude do endereço de entrega escolhido pelo cliente
delivery.Destination.longitudedoublelongitude do endereço de entrega escolhido pelo cliente
delivery.Prices.GrossValue.Valuedoublevalor da entrega em centavos
delivery.Prices.GrossValue.Currencystringmoeda
delivery.DeliveryTime.Window.Fromdatetimeinício da janela de agendamento da entrega
delivery.DeliveryTime.Window.Todatetimefim da janela de agendamento da entrega
takeout.TakeoutTime.Window.Fromdatetimeinício da janela de agendamento da retirada
takeout.TakeoutTime.Window.Todatetimefim da janela de agendamento da retirada
preparation.Startdatetimeinício da preparação
preparation.Enddatetimefim 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"
  }
}
CampoTipoDescrição
methods[].UniqueIdstringidentificador único
methods[].Namestringnome do método de pagamento (por exemplo, Crédito, Débito e etc)
methods[].InPersonboolpagamento presencial
methods[].Liabilitystringquem deve ser pago (por exemplo, ifood, comerciante, etc)
methods[].Amount.Valuedoublequanto foi pago em centavos
methods[].Amount.Currencystringmoeda
methods[].Cash.ChangeFor.Valuedoublequando o método de pagamento é dinheiro, este nó é usado para mostrar quanto o cliente pagará para que possamos calcular o troco
methods[].Cash.ChangeFor.Currencystringmoeda
methods[].Card.Brandstringbandeira do cartão
methods[].Card.CardNumberstringo número do cartão
methods[].Card.Providerstringo provedor do cartão (por exemplo, MasterCard)
methods[].Wallet.Providerstringo provedor da carteira digital
methods[].Digital.Datastringo 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"
    }
  ]
}
CampoTipoDescrição
BenefitsList.TargetIdstringo ID de destino (para descontos em itens, aqui é usado o catalogItemId)
BenefitsList.Targetstringonde o desconto se aplica (por exemplo, carrinho, um item específico, taxa de entrega, outra taxa, etc)
BenefitsList.Sponsorships.Liabilitystringo patrocinador (ifood, comerciante, coca-cola, etc)
BenefitsList.Sponsorships.Amount.Valuedoubleo valor do benefício em centavos
BenefitsList.Sponsorships.Amount.Currencystringmoeda

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

Exemplo:

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