Conteúdo:

  1. Visão Geral
  2. Endpoint
  3. Header
  4. Corpo da Requisição


01. VISÃO GERAL

Essa requisição é responsável por realizar pedidos, também conhecida como pedidos online, a API Order/newOrder tem a responsabilidade de suprir todas as necessidades de pedidos online de um pdv, podendo ser lançado, pedidos normais, com adicional, fracionado, com taxa ou sem, realizar o pagamento junto ao pedido entre outros.


02. ENDPOINT

Método

URL

Ambiente

POSThttps://api-barramento.meuelevestage.com/order/newOrderHomologação
POSThttps://api-barramento.meueleve.com.br/order/newOrderProdução

03. HEADER

Chave

Valor

x-mpn-integrations-signaturet=1651674844016,sign=8ebcf9cb577c0f0847969fee25c904a72c1e70aa13c197f44ef489768ec84a71

04. CORPO DA REQUISIÇÃO

Estrutura completa do corpo da requisição:

Corpo da requisição:

Status CodeCorpo da requisiçãoLegenda
200
{
  "integrationHubServiceId": "string",
  "data": {
    "id": "string",
    "type": "DELIVERY",
    "displayId": "string",
    "sourceAppId": "string",
    "salesChannel": "string",
    "virtualBrand": "string",
    "createdAt": "string",
    "lastEvent": "CREATED",
    "orderTiming": "INSTANT",
    "preparationStartDateTime": "string",
    "merchant": {
      "id": "string",
      "name": "string"
    },
    "items": [
      {
        "id": "string",
        "index": "string",
        "name": "string",
        "externalCode": "string",
        "unit": "UN",
        "ean": "string",
        "quantity": 0,
        "specialInstructions": "string",
        "unitPrice": {
          "value": 0,
          "currency": "string"
        },
        "originalPrice": {
          "value": 0,
          "currency": "string"
        },
        "optionsPrice": {
          "value": 0,
          "currency": "string"
        },
        "subtotalPrice": {
          "value": 0,
          "currency": "string"
        },
        "totalPrice": {
          "value": 0,
          "currency": "string"
        },
        "indoor": {
          "productionPoint": "string"
        },
        "options": [
          {
            "index": "string",
            "id": "string",
            "name": "string",
            "externalCode": "string",
            "unit": "UN",
            "ean": "string",
            "quantity": 0,
            "unitPrice": {
              "value": 0,
              "currency": "string"
            },
            "originalPrice": {
              "value": 0,
              "currency": "string"
            },
            "totalPrice": {
              "value": 0,
              "currency": "string"
            },
            "specialInstructions": "string"
          }
        ]
      }
    ],
    "otherFees": [
      {
        "name": "string",
        "type": "DELIVERY_FEE",
        "receivedBy": "MARKETPLACE",
        "receiverDocument": "string",
        "price": {
          "value": 0,
          "currency": "string"
        },
        "observation": "string"
      }
    ],
    "discounts": [
      {
        "name": "string",
        "value": 0
      }
    ],
    "total": {
      "itemsPrice": {
        "value": 0,
        "currency": "string"
      },
      "otherFees": {
        "value": 0,
        "currency": "string"
      },
      "discount": {
        "value": 0,
        "currency": "string"
      },
      "orderAmount": {
        "value": 0,
        "currency": "string"
      }
    },
    "payments": {
      "prepaid": 0,
      "pending": 0,
      "methods": [
        {
          "value": 0,
          "currency": "string",
          "type": "PREPAID",
          "method": "CREDIT",
          "brand": "VISA",
          "methodInfo": "string",
          "transaction": {
            "authorizationCode": "string",
            "acquirerDocument": "string"
          },
          "changeFor": 0
        }
      ]
    },
    "taxInvoice": {
      "issued": true,
      "taxInvoiceURL": "string"
    },
    "customer": {
      "id": "string",
      "name": "string",
      "documentNumber": "string",
      "phone": {
        "number": "string",
        "extension": "string"
      },
      "email": "string",
      "ordersCountOnMerchant": "string"
    },
    "schedule": {
      "scheduledDateTimeStart": "string",
      "scheduledDateTimeEnd": "string"
    },
    "orderPriority": "PRIORITY1",
    "delivery": {
      "deliveredBy": "MARKETPLACE",
      "deliveryAddress": {
        "country": "string",
        "state": "string",
        "city": "string",
        "district": "string",
        "street": "string",
        "number": "string",
        "complement": "string",
        "reference": "string",
        "formattedAddress": "string",
        "postalCode": "string",
        "coordinates": {
          "latitude": 0,
          "longitude": 0
        }
      },
      "estimatedDeliveryDateTime": "string",
      "deliveryDateTime": "string",
      "pickupCode": "string"
    },
    "takeout": {
      "mode": "DEFAULT",
      "takeoutDateTime": "string"
    },
    "indoor": {
      "mode": "DEFAULT",
      "indoorDateTime": "string",
      "place": "string",
      "seat": "string",
      "tab": "string",
      "waiterCode": 0
    },
    "sendDelivered": true,
    "sendPickedUp": true,
    "sendTracking": true,
    "extraInfo": "string"
  }
}
CampoTipoLegenda
{  IntegrationHubServiceIdStringO identificador exclusivo do pedido. O ID do pedido é gerado pelo Aplicativo de Pedidos.
data: {ObjetoServe como cabeçalho do pedido.
idStringO identificador exclusivo do pedido. O ID do pedido é gerado pelo Aplicativo de Pedidos.
typeStringDELIVERY, TAKEOUT ou INDOOR.
displayIdStringID do pedido mostrado na interface do aplicativo de pedidos do cliente.
sourceAppIdStringId da aplicação que envia o pedido.
salesChannelStringIndica canal de vendas que foi original do pedido
virtualBrandStringIdentificador alternativo para caso o merchant tenha multiplas brands(Bandeiras).
createdAtStringData, formato = AAAA-MM-DDThh:mm:ss
lastEventStringÚtimo evento capturato por Pooling ou Webhook, Enum de valores: [ CREATED, CONFIRMED, DISPATCHED, READY_FOR_PICKUP, PICKUP_AREA_ASSIGNED, DELIVERED, CONCLUDED, CANCELLATION_REQUESTED, CANCELLATION_REQUEST_DENIED, CANCELLED, ORDER_CANCELLATION_REQUEST, CANCELLED_DENIED ]
orderTimingStringÚltimo evento válido capturado pelo pooling ou webhook, Enum de valores: [ INSTANT, SCHEDULED, ONDEMAND ]
preparationStartDateTimeStringData de inicio de preparação do pedido. O padrão é o mesmo tempo do order creation time(created at).
merchant  {  ObjetoObjeto que tem dados do merchant.
idStringIdentificador da loja.
name   },StringNome da loja.
Items  [ {Lista de objetosLista os dados relacionados a items.
idStringIdentificador único de pedidos.
indexStringPosição do item.
nameStringNome do produto.
external codeStringcódigo do produto no PDV.
unitStringUnidade de medida, Enum: UN - Unit
KG - Kilogram
L - Liter
OZ - Ounce
LB - Pound
GAL - Gallon
Em caso de pedido fracionado deveria passar um float example: 500 gramas = 0.5kg.
eanStringCódigo EAN.
quantityNumberQuantidade do item, em caso de pedido fracionado deveria passar um float example: 500 gramas = 0.5kg.
specialInstructionsStringInstruções extras.
unitPrice  {ObjetoObjeto de preço unitário
valueNumberValor unitário do produto, aceita até 4 casas decimais.
currency  },StringCódigo da moeda, com base na ISO 4217.
originalPrice  {ObjetoObjeto do preço original
valueNumberValor original do produto, aceita até 4 casas decimais.
currency  },StringCódigo da moeda, com base na ISO 4217.
optionsPrice  {ObjetoObjeto de preço do adicional
valueNumberValor de preço adicional do produto, aceita até 4 casas decimais.
currency  },StringCódigo da moeda, com base na ISO 4217.
subtotalPrice  {ObjetoObjeto do preço do subtotal
valueNumberValor do preço do subtotal do produto, aceita até 4 casas decimais.
currency  },StringCódigo da moeda, com base na ISO 4217.
totalPrice  {ObjetoObjeto do preço total.
valueNumberValor original do produto, aceita até 4 casas decimais.
currency  },StringCódigo da moeda, com base na ISO 4217.
indoor   {ObjetoIndoor = Pedido pra o local.
productionPoint   },StringPonto de produção.
options   [ {ObjetoObjeto que contém os adicionais.
indexStringPosição do adicionar.
idStringIdentificador único do item.
nameStringNome do adicional.
externalCodeStringCódigo do produto.
unitStringUnidade de medida, Enum: UN - Unit
KG - Kilogram
L - Liter
OZ - Ounce
LB - Pound
GAL - Gallon
Em caso de pedido fracionado deveria passar um float example: 500 gramas = 0.5kg.
eanStringCódigo EAN.
quantityNumberQuantidade do item, em caso de pedido fracionado deveria passar um float example: 500 gramas = 0.5kg.
unitPrice   {ObjetoObjeto de preço unitário
valueNumberValor unitário do produto, aceita até 4 casas decimais.
currency   },StringCódigo da moeda, com base na ISO 4217.
originalPrice   {ObjetoObjeto do preço original
valueNumberValor original do produto, aceita até 4 casas decimais.
currency   },StringCódigo da moeda, com base na ISO 4217.
totalPrice   {ObjetoObjeto do preço total.
valueNumberValor original do produto, aceita até 4 casas decimais.
currency   },StringCódigo da moeda, com base na ISO 4217.
specialInstructions   } ] } ],StringInstruções extras.
OtherFees   [  {Lista de ObjetosEsse objeto contém dados sobre as taxas.
nameStringnome da taxa.
typeStringTipo de Taxa. Enum : [ DELIVERY_FEE, SERVICE_FEE, TIP ]
receivedByStringrecebido por. Enum: [ MARKETPLACE, MERCHANT, LOGISTIC_SERVICES ]
receivedDocumentStringObeigatório se o receivedBy for marketPlace.
price   {ObjetoObjeto do preço original
valueNumberValor original do produto, aceita até 4 casas decimais.
currency   },StringCódigo da moeda, com base na ISO 4217.
observation   } ],StringObservação.
discounts   [ {Lista de ObjetoContém os dados de disconto.
nameStringnome do desconto dado.
value   } ]Numbervalor do desconto.

total   {

ObjetoObjeto que contém todos os totais.
unitPrice   {ObjetoObjeto de preço unitário
valueNumberValor unitário do produto, aceita até 4 casas decimais.
currency   },StringCódigo da moeda, com base na ISO 4217.
otherFees   {ObjetoObjeto do preço original
valueNumberValor original do produto, aceita até 4 casas decimais.
currency   },StringCódigo da moeda, com base na ISO 4217.
discount   {ObjetoObjeto de preço do adicional
valueNumberValor de preço adicional do produto, aceita até 4 casas decimais.
currency   },StringCódigo da moeda, com base na ISO 4217.
orderAmount   {ObjetoObjeto do preço do subtotal
valueNumberValor do preço do subtotal do produto, aceita até 4 casas decimais.
currency   } },StringCódigo da moeda, com base na ISO 4217.
payments   {ObjetoObjeto que contém os dados de pagamento.
prepaidNumberValor pago antecipadamente.
pendingNumberValor pendente de pagamento.
methods   [ {Lista de Objetoslista de objetos com dados de pagamento.
valueNumbervalor do pagamento.
currencyStringCódigo da moeda, com base na ISO 4217.
typeString

Enum: Prepaid e Pending.

O Prepaind é quando algum pagamento já foi feito em outra plataforma.

O Pending é quando algum pagamento vai ser pago na entrega ou no dinheiro.

methodStringMétodos de pagamento: "CREDIT" "DEBIT" "MEAL_VOUCHER" "FOOD_VOUCHER" "DIGITAL_WALLET" "PIX" "CASH" "CREDIT_DEBIT" "COUPON" "REDEEM" "PREPAID_REDEEM" "OTHER"*
brandStringIndica a bandeira do cartão selecionado no método acima.
esse campo deve ser preechido se o método acima for CREDIT, DEBIT, CREDIT_DEBIT, MEAL_VOUCHER or FOOD_VOUCHER.
Se OTHER foi escolhido, é recomendado informar a bandeira no campo methodInfo. Enum: [ VISA, MASTERCARD, DINERS, AMEX, HIPERCARD, ELO, AURA, DISCOVER, VR_BENEFICIOS, SODEXO, TICKET, GOOD_CARD, BANESCARD, SOROCARD, POLICARD, VALECARD, AGICARD, JCB, CREDSYSTEM, CABAL, GREEN_CARD, VEROCHEQUE, AVISTA, OTHER ]
methodInfoStringInformação extra sobre o método.
transaction   {ObjetoObjeto com dados da transação.
authorizationCodeStringCartão de crédito e/ou subsidiária número da autorização da transação.
acquirerDocument   },StringDocumento da intermediária da transação( agência, plataforma de delivery, marketplace e outros) do serviço.
changeFor   } ] },NumberIndica o total que será pago em dinheiro pelo consumidor e será considerado para o calculo de troco.
(ex. o consumidor vai pagar um pedido de $43 com uma nota de $50. Então deve inserir $50.).
Obrigatório quando o método é CASH.
taxInvoice   {ObjetoObjeto com dados da nota.
issuesBoolInforma se a nota fiscal já foi emitida para esse pedido.
taxInvoiceURL   },StringURL da nota para ser baixada.
customer   {ObjetoDados do consumidor. Obrigatório se o tipo do pedido for delivery
idStringIdentificador único do consumidor.
nameStringNome do consumidor
documentNumberStringDocumento do consumidor. Documento poderá ser enviado para tratar de questões tributárias. 
phone   {ObjectObjeto com dados do telefone
numberStringNúmero de telefone.
extension   },StringExtensão do número.
emailStringE-mail do consumidor. E-mail poderá ser enviado para tratar de questões tributárias.
orderCountOnMerchant   },StringTotal de pedidos feito pelo consumidor na loja.
Schedule   {ObjetoObjeto de agendamento.
scheduledDateTimeStartStringData, formato = AAAA-MM-DDThh:mm:ss. O padrão é o mesmo tempo do order creation time(created at).
scheduledDateTimeEnd   },StringData, formato = AAAA-MM-DDThh:mm:ss. O padrão é o mesmo tempo do order creation time(created at).
orderPriorityStringDefine a prioridade do pedido em relação a outros pedidos com base na aplicação do pedido.
Quanto menor a prioridade, mas rápido deve ser atendido.
Note: Esse campo depende se a aplicação de pedidos e o pdv suportam a funcionalidade. Enum: [ PRIORITY1, PRIORITY2, PRIORITY3, PRIORITY4 ]
delivery   {ObjetoObjeto que contém os dados de delivery.
deliveredByStringEnum: [ MARKETPLACE, MERCHANT ]
deliveredAddress   {ObjetoObjeto do endereço.
countryStringCódigo do país de duas letras ISO 3166-1 alpha-2. 
stateStringEstado baseado na ISO 3166-2, Não é obrigatório mas sim recomendado.
cityStringNome da cidade.
districtStringDistrito ou município.
streetStringNome da rua.
numberStringNúmero.
complementStringComplemento do endereço.
referenceStringPonto de referência.
formattedAddressStringEndereço completo.
postalCodeStringCódigo Postal.
coordinates   {ObjetoObjeto de coordenadas
latitudeNumberLatitude em graus. Limitado pelos valores [[-90, 90]].
longitude   }  },NumberLongitude em graus. Limitado pelos valores [[-180, 180]].
estimatedDeliveryDateTimeStringData e hora estimada da entrega. Mesma data e hora apresentada na aplicação de pedido.
deliveryDateTimeStringData e hora em que a entrega aconteceu.
pickupCode   },StringCódigo para o entregador pegar o pacote. Não confundir com o código do consumidor pra receber.
takeout   {ObjetoObjeto que contém os dados de takeout.
modeStringEnum: [ DEFAULT, PICKUP_AREA ]
takeoutDateTime   }StringData e tempo em que o pedido está pronto. Pode ser calculado pelo aplicativo de entrega pelo tempo médio de preparo. Padrão é o mesmo horário do Creation Time
indoor   {ObjetoObjeto para pedidos feitos para consumir no local. 
modeString

Identificador Indoor Mode:
DEFAULT: Consumir dentro do estabelecimento.
PLACE: Consumir dentro do estabelecimento em lugar específico, como uma mesa.
TAB: Usado pra controlar pedidos via Tab ou cartão consumo. Enum:[ DEFAULT, PLACE, TAB, TERMINAL ]

indoorDateTimeStringData e hora que o pedido ficou pronto. Pode ser calculado pelo aplicativo de entrega pelo tempo médio de preparo. Padrão é o mesmo horário do Creation Time.
placeStringIdentificador do Place. Obrigatório quando o mode recebe o valor do Place.
seatStringIdentificador do Seat. Obrigatório quando o mode recebe o valor do Seat.
tabStringIdentificador do Tab. Obrigatório quando o mode recebe o valor do Tab.
waiterCode   },StringCódigo do garçom.
sendDeliveredBoolEste campo indica se é necessário que o Serviço de Software faça uma solicitação ao terminal para indicar ao Aplicativo de Pedido que o pedido foi entregue ao cliente. true: Indica que o Aplicativo de Pedido está aguardando uma solicitação. falso ou não informado: Não é obrigatório fazer solicitação.
sendPickedUpBoolEste campo indica se é necessário que o Serviço de Software faça uma solicitação ao endpoint para indicar ao Aplicativo de Pedido que o pedido foi retirado pelo cliente. true: Indica que o Aplicativo de Pedido está aguardando uma solicitação. falso ou não informado: Não é obrigatório fazer solicitação.
sendTrackingBoolEste campo indica se é necessário que o Serviço de Software faça uma solicitação ao terminal para informar o Aplicativo de Pedido sobre atualizações de entrega. true: Indica que o Aplicativo de Pedido está aguardando uma solicitação. falso ou não informado: Não é obrigatório fazer solicitação.
extraInfoStringInformação extra caso seja necessário.


05. RESPONSES

Status CodeResponse
200Your request has been accepted but not yet processed, wait a few moments and look for the status.
400

Bad request.

401Missing or invalid credentials.
403Missing Authentication Token.
404

One or more posted information could not be found.


{
  "errors": [
    {
      "key": "string",
      "message": "string"
    }
  ]
}