Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

CONTEÚDO

...


01. VISÃO GERAL
Âncora
ver_geral
ver_geral

Este endpoint é utilizado para enviar requisições de novos pedidos de mesa via barramento na API Order, focado em consumo no local. Ele permite gerenciar pedidos associados a mesas específicas, incluindo informações de itens, descontos, extras, métodos de pagamento, e identificação de mesa.


...

02. ENDPOINT
Âncora
endpoint
endpoint


...

Este endpoint é utilizado para envio de requisição para novos pedidos na API Order mesa via barrament.

...

MétodoURL
MétodoURLAmbiente
POSThttps://api-barramento.meuelevestage.com/order/newOrderHomogação
POSThttps://api-barramento.
meuelevestage
meueleve.com.br/order/newOrderProdução


...


03. EXEMPLO DE UTILIZAÇÃO
Âncora
utilizar
utilizar

Corpo requerido na solicitação01. Corpo da requisição de envio de novo pedidos inteiro: Âncorapedido_inteiropedido_inteiro


Bloco de código
titleJSON para pedido com inteiroCorpo requerido na solicitação
linenumberstrue
{
   "integrationHubServiceId":"933aadb4-c33b-40b8-8285-bf1e575d8b38", "string",
   "data": {
      "id":"9ec389e5-7582-4768-875b-ee7c309aa34f "string",
      "type": "TABLEDELIVERY",
      "displayId": "29string",
      "createdAtsourceAppId":"2024-06-24T17:35:00 "string",
      "orderTimingsalesChannel":"2024-06-24T17:40:24 "string",
      "preparationStartDateTimecreatedAt":"2024-06-24T18:00:00 "string",
      "merchantlastEvent":{
 "CREATED",
    "orderTiming": "INSTANT",
    "idpreparationStartDateTime":"c312d2ff-1a8f-40ad-8eed-9ae9a908df6e "string",
    "merchant": {
      "nameid":"BOTECO DO ALBINO "string",
      "name": "string"
      },
      "items": [
         {
            "id": "3973594021string",
            "index": "21string",
            "name": "MARACUJAstring",
            "externalCode": "58string",
            "unit": "UN",
        "ean": "string",
        "quantity":1. 0,
            "specialInstructions": "Testestring",
            "unitPrice": {
               "value":61.00 0,
               "currency": "R$string"
            },
            "optionsPriceoriginalPrice": {
               "value": 0.0,
               "currency": "R$string"
            },
            "totalPriceoptionsPrice": {
               "value":61.00 0,
               "currency": "R$string"
            },
            "otherFeestotalPrice":[] {
         }
 "value": 0,
    ],
      "totalcurrency":{ "string"
         "items":61.00},
         "otherFeesoptions":0, [
          "discount":0.00,
{
            "orderAmountindex":61.00 "string",
            "additionalFeesid":0 "string",
            "deliveryFeename":0 "string",
      },
      "paymentsexternalCode":{ "string",
            "prepaidunit":0.0 "UN",
            "pendingean":0.0 "string",
            "methodsquantity":[ 0,
            {"unitPrice": {
               "value":61.00 0,
               "currency": "BRLstring",
               "type":"PREPAID"},
               "methodoriginalPrice":"credit",
  {
              "methodInfovalue":"Visa" 0,
              "currency": "changeForstring":0.0
            },
         ]
   "totalPrice": {
  },
      "delivery":null,
      "extraInfovalue":"Teste" 0,
      "schedule":null,
        "indoorcurrency":null, "string"
      "takeout":null,
      "table":{},
            "waiterCodespecialInstructions": "9999string",
            "tableNumberproductionPoint": "29",
 string"
          }
        ],
        "chairNumberproductionPoint": "1string"
      },
    ],
    "cardotherFees":null [
   }
}
Nota
titleNota: HTTP Status Code = 200 OK

Sua solicitação foi aceita mas ainda não processada, aguarde alguns instantes e procure o status.

Informações
titleNota:

JSON de RequestOrderNewOrder Este JSON é utilizado para enviar informações de um novo pedido, incluindo detalhes do pedido, itens, cliente, pagamentos e outras taxas associadas. Ele serve como um formato padronizado para criar pedidos através de um sistema de integração.

Campos:

integrationHubServiceId (string, obrigatório)

  • Descrição: Chave de identificação da integração. Este campo é essencial para identificar de forma única a integração em questão.
  • Exemplo: "string"

data (objeto, obrigatório)

  • Descrição: Objeto contendo informações detalhadas sobre o pedido.

    Campos do data:

    • id (string, obrigatório)

      • Descrição: Identificador único do pedido. Este ID é gerado pelo aplicativo de pedidos.
      • Exemplo: "string"
    • type (string, obrigatório)

      • Descrição: Tipo do pedido, indicando a modalidade de entrega ou consumo.
      • Valores possíveis: "DELIVERY", "TAKEOUT", "INDOOR", "TABLE", "CARD", "COUNTER"
      • Exemplo: "DELIVERY"
    • displayId (string, obrigatório)

      • Descrição: ID do pedido exibido na interface do aplicativo de pedidos para o cliente.
      • Exemplo: "string"
    • sourceAppId (string)

      • Descrição: ID do aplicativo de pedidos que originou o pedido. Ajuda a identificar o aplicativo dentro de um Hub de integração.
      • Exemplo: "string"
    • salesChannel (string)

      • Descrição: Canal de vendas pelo qual o pedido foi originado.
      • Exemplo: "string"
    • createdAt (string, obrigatório)

      • Descrição: Data e hora de criação do pedido no formato ISO timestamp.
      • Exemplo: "2024-08-09T14:52:00Z"
    • lastEvent (string)

      • Descrição: Último evento válido do pedido, seja ele confirmado ou não.
      • Valores possíveis: "CREATED", "CONFIRMED", "DISPATCHED", "READY_FOR_PICKUP", "PICKUP_AREA_ASSIGNED", "DELIVERED", "CONCLUDED", "CANCELLATION_REQUESTED", "CANCELLATION_REQUEST_DENIED", "CANCELLED", "ORDER_CANCELLATION_REQUEST", "CANCELLED_DENIED"
      • Exemplo: "CREATED"
    • orderTiming (string, obrigatório)

      • Descrição: Indica se o pedido será entregue imediatamente ou em horário agendado.
      • Valores possíveis: "INSTANT", "SCHEDULED"
      • Exemplo: "INSTANT"
    • preparationStartDateTime (string, obrigatório)

      • Descrição: Sugestão de horário de início da preparação após a criação do pedido. Pode ser usado para informar ao estabelecimento sobre um atraso na preparação.
      • Exemplo: "2024-08-09T15:00:00Z"

merchant (objeto, obrigatório)

  • Descrição: Objeto contendo informações sobre o estabelecimento.

    Campos do merchant:

    • id (string, obrigatório)

      • Descrição: Identificador único do estabelecimento. Deve ser gerado pelo sistema de software do estabelecimento.
      • Exemplo: "string"
    • name (string, obrigatório)

      • Descrição: Nome público do estabelecimento.
      • Exemplo: "string"

items (array de objetos, obrigatório)

  • Descrição: Lista dos itens do pedido.

    Campos do items:

    • id (string, obrigatório)

      • Descrição: Identificador único do item.
      • Exemplo: "string"
    • index (string)

      • Descrição: Posição do item no pedido.
      • Exemplo: "1"
    • name (string, obrigatório)

      • Descrição: Nome do produto.
      • Exemplo: "Pizza Margherita"
    • externalCode (string, obrigatório)

      • Descrição: Código externo do produto.
      • Exemplo: "123456"
    • unit (string, obrigatório)

      • Descrição: Unidade de medida do item.
      • Valores possíveis: "UN", "KG", "L", "OZ", "LB", "GAL"
      • Exemplo: "UN"
    • ean (string)

      • Descrição: Código de barras padrão do item (EAN).
      • Exemplo: "7891234567890"
    • quantity (number, obrigatório)

      • Descrição: Quantidade de itens.
      • Exemplo: 2
    • specialInstructions (string)

      • Descrição: Instruções especiais sobre os itens.
      • Exemplo: "Sem cebola"
    • unitPrice (objeto, obrigatório)

      • Descrição: Preço por unidade do item.

      Campos do unitPrice:

      • value (number, obrigatório)

        • Descrição: Valor do preço. Aceita até 4 casas decimais.
        • Exemplo: 20.00
      • currency (string, obrigatório)

        • Descrição: Código da moeda no formato ISO 4217.
        • Exemplo: "BRL"
    • originalPrice (objeto)

      • Descrição: Preço original do produto antes de qualquer desconto. Apenas para fins informativos.

      Campos do originalPrice:

      • value (number, obrigatório)

        • Descrição: Valor do preço original.
        • Exemplo: 25.00
      • currency (string, obrigatório)

        • Descrição: Código da moeda no formato ISO 4217.
        • Exemplo: "BRL"
    • optionsPrice (objeto)

      • Descrição: Soma dos preços de todas as opções escolhidas para o item.

      Campos do optionsPrice:

      • value (number, obrigatório)

        • Descrição: Valor do preço das opções.
        • Exemplo: 5.00
      • currency (string, obrigatório)

        • Descrição: Código da moeda no formato ISO 4217.
        • Exemplo: "BRL"
    • totalPrice (objeto, obrigatório)

      • Descrição: Preço total do item, calculado como a quantidade multiplicada pelo preço unitário somado ao preço das opções.

      Campos do totalPrice:

      • value (number, obrigatório)

        • Descrição: Valor do preço total.
        • Exemplo: 45.00
      • currency (string, obrigatório)

        • Descrição: Código da moeda no formato ISO 4217.
        • Exemplo: "BRL"
    • options (array de objetos)

      • Descrição: Extras opcionais escolhidos pelo consumidor, relacionados a este item.

      Campos do options:

      • index (string)

        • Descrição: Posição da opção no pedido.
        • Exemplo: "1"
      • id (string, obrigatório)

        • Descrição: Identificador único da opção.
        • Exemplo: "string"
      • name (string, obrigatório)

        • Descrição: Nome da opção.
        • Exemplo: "Queijo Extra"
      • externalCode (string, obrigatório)

        • Descrição: Código externo do produto da opção.
        • Exemplo: "789456123"
      • unit (string, obrigatório)

        • Descrição: Unidade de medida da opção.
        • Valores possíveis: "UN", "KG", "L", "OZ", "LB", "GAL"
        • Exemplo: "UN"
      • ean (string)

        • Descrição: Código de barras padrão da opção (EAN).
        • Exemplo: "7891236547890"
      • quantity (number, obrigatório)

        • Descrição: Quantidade de opções.
        • Exemplo: 1
      • unitPrice (objeto, obrigatório)

        • Descrição: Preço por unidade da opção.

        Campos do unitPrice:

        • value (number, obrigatório)

          • Descrição: Valor do preço. Aceita até 4 casas decimais.
          • Exemplo: 2.00
        • currency (string, obrigatório)

          • Descrição: Código da moeda no formato ISO 4217.
          • Exemplo: "BRL"
      • originalPrice (objeto)

        • Descrição: Preço original da opção antes de qualquer desconto. Apenas para fins informativos.

        Campos do originalPrice:

        • value (number, obrigatório)

          • Descrição: Valor do preço original.
          • Exemplo: 2.50
        • currency (string, obrigatório)

          • Descrição: Código da moeda no formato ISO 4217.
          • Exemplo: "BRL"
      • totalPrice (objeto, obrigatório)

        • Descrição: Preço total da opção, calculado como a quantidade multiplicada pelo preço unitário.
        • Exemplo: 2.00
Informações
titleInformação:

integrationHubServiceId: é um código da integração da loja com o Integration Hub

orderKey: é o código do pedido

Dica
titleDica

Para obter informações detalhadas sobre como enviar uma requisição para a API Order  no endpoint payment para a criação de um pedido completo, incluindo itens adicionais, consulte a documentação clicando aqui.

04. ERROS

A seguir, alguns dos erros comuns que podem ser apresentados ao lidar com requisições HTTP e suas respectivas respostas:

...

   {
        "name": "string",
        "type": "DELIVERY_FEE",
        "receivedBy": "MARKETPLACE",
        "receiverDocument": "string",
        "price": {
          "value": 0,
          "currency": "string"
        },
        "observation": "string"
      }
    ],
    "discounts": [
      {
        "value": 0,
        "target": "CART",
        "targetId": "string",
        "sponsorshipValues": [
          {
            "name": "MARKETPLACE",
            "value": 0
          }
        ]
      }
    ],
    "total": {
      "items": 0,
      "otherFees": 0,
      "discount": 0,
      "orderAmount": 0,
      "additionalFees": 0,
      "deliveryFee": 0
    },
    "payments": {
      "prepaid": 0,
      "pending": 0,
      "methods": [
        {
          "value": 0,
          "currency": "string",
          "type": "OFFLINE",
          "method": "CREDIT",
          "brand": "VISA",
          "methodInfo": "string",
          "changeFor": 0
        }
      ]
    },
    "customer": {
      "id": "string",
      "name": "string",
      "documentNumber": "string",
      "phone": {
        "number": "string",
        "extension": "string"
      },
      "email": "string",
      "ordersCountOnMerchant": "string"
    },
    "schedule": {
      "scheduledDateTimeStart": "string",
      "scheduledDateTimeEnd": "string"
    },
    "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"
    },
    "takeout": {
      "mode": "DEFAULT",
      "takeoutDateTime": "string"
    },
    "indoor": {
      "mode": "DEFAULT",
      "indoorDateTime": "string",
      "place": "string",
      "tab": "string"
    },
    "table": {
      "waiterCode": 0,
      "tableNumber": 0,
      "chairNumber": 0
    },
    "card": {
      "waiterCode": 0,
      "cardNumber": 0,
      "deliveryTableNumber": 0
    },
    "sendDelivered": true,
    "sendTracking": true,
    "extraInfo": "string"
  }
}


...

04. DICIONÁRIO
Âncora
dicionario
dicionario


  • Estrutura newOrder:

Campo

Valor

Descrição

integrationHubServiceId *stringChave de identificação de integração

data *

arrayDados necessário para o pedido


Tabela de auxiliares e enumerações:

  • Estrutura newOrder (dentro de data):

Campo

Valor

Descrição

id *

string

O identificador exclusivo do pedido. O ID do pedido é gerado pelo Aplicativo de Pedidos

type *

enum

Tipo de pedido (veja na tabela type)

displayId *

string

ID do pedido mostrado na interface do aplicativo de pedidos do cliente

sourceAppId

string

Este campo deverá ser preenchido com o AppId do Aplicativo de Pedido que originou o pedido. Este campo serve para auxiliar as aplicações que funcionarão como Hub, intermediando as solicitações da Aplicação de Pedido com o Serviço de Software

salesChannel

string

Você pode indicar por qual canal de vendas este pedido foi originado

createdAt *

string

Data e hora de criação do pedido (data e hora UTC no formato de carimbo de data/hora ISO). **

lastEvent

string

O último evento válido pesquisado (reconhecido ou não) ou enviado via webhook.** (veja na tabela lastEvent)

orderTiming *

string

Tempo do pedido. Indica se o PEDIDO terá entrega imediata ou programada (veja na tabela orderTiming)

preparationStartDateTime *

string

Sugestão de horário de início da preparação após a criação do Pedido. Isso pode ser usado pelo Aplicativo de Pedidos para informar o estabelecimento comercial sobre o atraso no início da preparação por qualquer motivo. O padrão é o mesmo horário de criação do pedido

merchant *

string

Informações do comerciante (veja na merchant)

items

array

Encomendar itens (veja na tabela items)

otherFees

array

Outras taxas que podem ser aplicadas (veja na tabela otherFees)

discounts

array

Quaisquer descontos que possam ser aplicados (veja na tabela discounts)

total

array

Conjunto de campos com a soma dos valores descritos anteriormente no pedido (veja na tabela total)

payments

string

Toda a descrição do pagamento, como formas, pré-pagamentos, troco, etc. (veja na tabela payments)

customer

string

Informações relacionadas ao cliente. OBRIGATÓRIO se o tipo escolhido for DELIVERY (veja na tabela customer)

schedule

string

Informações para pedidos agendados. OBRIGATÓRIO se orderTiming estiver AGENDADO (veja na tabela schedule)

delivery

string

Informações para pedidos DELIVERY. OBRIGATÓRIO se o tipo escolhido for DELIVERY (veja na tabela delivery)

takeout

string

Informações para pedidos TAKEOUT. OBRIGATÓRIO se o tipo escolhido for TAKEOUT (veja na tabela takeout)

indoor

string

Informações para pedidos INDOOR. OBRIGATÓRIO se o tipo escolhido for INTERIOR (veja na tabela indoor)

table

string

Informações para pedidos de TABLE. OBRIGATÓRIO se o tipo escolhido for TABLE (veja na tabela table)

card

string

Informações para pedidos CARD. OBRIGATÓRIO se o tipo escolhido for CARTÃO (vejna na tabela card)

sendDelivered

boolean

Este 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.

sendTracking

boolean

Este 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.

extraInfo

string

Informações extras, se necessário


  • Estrutura Data (dentro de type):
    Âncora
    table_type
    table_type
EnumValorDescrição
DELIVERY DELIVERY 
Para pedidos que serão entregues no endereço do cliente.
TAKEOUT TAKEOUT 
Pedidos que serão retirados no estabelecimento pelo cliente.
INDOOR INDOOR 
Pedidos que serão consumidos dentro do estabelecimento.
TABLE TABLE 
Pedidos que serão consumidos à mesa.
CARD CARD 
Pedidos que terão seu consumo alocado no cartão do estabelecimento.
COUNTER COUNTER 
Pedidos que serão atendidos no balcão do estabelecimento.*


  • Estrutura Enumeração lastEvent (dentro de data):
    Âncora
    table_lastEvent
    table_lastEvent
EnumValueDescrição
CREATEDCREATEDCriado o pedido foi criado no sistema
CONFIRMEDCONFIRMEDConfirmado o pedido foi confirmado pelo estabelecimento
DISPATCHEDDISPATCHEDDespachado o pedido foi enviado para entrega
READY_FOR_PICKUPREADY_FOR_PICKUPPronto para Retirada o pedido está pronto para ser retirado
PICKUP_AREA_ASSIGNEDPICKUP_AREA_ASSIGNEDÁrea de Retirada Atribuída uma área específica para retirada foi designada para o pedido
DELIVEREDDELIVERED

Entregue o pedido foi entregue ao cliente

CONCLUDEDCONCLUDEDConcluído o pedido foi totalmente processado e finalizado
CANCELLATION_REQUESTEDCANCELLATION_REQUESTEDCancelamento Solicitado um pedido de cancelamento foi feito
CANCELLATION_REQUEST_DENIEDCANCELLATION_REQUEST_DENIEDSolicitação de Cancelamento Negada o pedido de cancelamento foi negado
CANCELLEDCANCELLEDCancelado: o pedido foi cancelado
ORDER_CANCELLATION_REQUESTORDER_CANCELLATION_REQUESTSolicitação de Cancelamento de Pedido uma solicitação de cancelamento do pedido foi enviada
CANCELLED_DENIED CANCELLED_DENIED Cancelamento Negado o cancelamento do pedido foi negado


  • Estrutura Enumeração orderTiming (dentro de data):
    Âncora
    table_orderTiming
    table_orderTiming
EnumValueDescrição
INSTANTINSTANTInstantâneo pedido será processado e entregue imediatamente
SCHEDULEDSCHEDULEDAgendado pedido foi programado para ser entregue em um horário específico no futuro


  • Estrutura Data (dentro de merchant):
    Âncora
    table_merchant
    table_merchant
CampoValorDescrição
id *stringIdentificador Único. Identifica o estabelecimento comercial nos diferentes sistemas com os quais o estabelecimento comercial irá se comunicar.
Este ID deve ser gerado pelo Software Service do comerciante.
Para evitar duplicatas entre diferentes comerciantes, é recomendado que o software crie o MerchantId usando:
Documento do comerciante + UUID. Se isso não for possível, recomenda-se usar pelo menos um UUID.
name *stringNome público do comerciante


  • Estrutura Data (dentro de items):
    Âncora
    table_items
    table_items
CampoValorDescrição
id *stringIdentificador único do item
indexstringPosição do item (opcional)
name *stringNome do produto
externalCode *stringCódigo externo do produto (opcional)
unit *enumUnidade de medida do item. Utilize valores fracionários para quantidades menores que a unidade de medida: Exemplo: 500 gramas = 0,5 KG (veja na tabela unit)
eanstringCódigo de barras EAN do item (opcional)
quantity *numberQuantidade de itens. Utilize valores fracionários para quantidades menores que a unidade de medida: Exemplo: 500 gramas = 0,5 KG
specialInstructionsstringInstruções especiais sobre o item (opcional)
unitPrice *arrayPreço por unidade. Este é o preço que o cliente está pagando e será considerado para cálculos totais do pedido (veja tabela de unitPrice)
originalPrice arrayPreço original do produto. Este preço é meramente informativo e deve ser utilizado para informar o preço de um item antes de aplicar descontos no preço de tabela.
Descontos aplicados durante o pedido, como cupons e vouchers, não devem ser considerados aqui. Estes devem ser informados no objeto descontos.
ESTE PREÇO NÃO SERÁ CONSIDERADO PARA CÁLCULOS DE TOTAIS DO PEDIDO. (opcional) (veja tabela de originalPrice)
optionsPrice *arrayA soma dos preços totais de todas as opções do item (opcional) (veja tabela de optionsPrice)
totalPrice *numberPreço total do item. (quantidade * (preço unitário + preço opções)) (veja tabela de totalPrice)
optionsarrayExtras opcionais escolhidos pelo consumidor. (veja na tabela de options)
productionPoint *stringPonto de produção do produto


  • Estrutura Enumeração Consumption - items (dentro de unit):
    Âncora
    table_unit
    table_unit
EnumValorDescrição
UNUNUnidade de medida simples
KGKGQuilograma
LLLitro
OZOZOnça
LBLBLibra
GALGALGalão


  • Estrutura Consumption - items (dentro de unitPrice):
    Âncora
    table_unitPrice
    table_unitPrice
CampoValorDescrição
value *numberValor do preço
currency *stringCódigo da moeda ISO 4217


  • Estrutura Consumption - items (dentro de originalPrice):
    Âncora
    table_originalPrice
    table_originalPrice
CampoValorDescrição
valuenumberValor do preço
currencystringCódigo da moeda ISO 4217


  • Estrutura Consumption - items (dentro de optionsPrice):
    Âncora
    table_optionsPrice
    table_optionsPrice
CampoValorDescrição
valuenumberValor do preço. São aceitas 4 casas decimais
currencystringO código de moeda ISO 4217 de três letras
  • Estrutura Consumption - items (dentro de totalPrice):
    Âncora
    table_totalPrice
    table_totalPrice
CampoValorDescrição
value *numberValor do preço
currency *stringCódigo da moeda ISO 4217


  • Estrutura Data - items (dentro de options):
    Âncora
    table_options
    table_options
CampoValorDescrição
indexstringPosição da opção (opcional)
idstringIdentificador único da opção
namestringNome da opção

externalCode

stringCódigo do produto externo
unitenumUnidade de medida da opção (veja na tabela unit)
eanstringEAN é o padrão de código de barras usado nos itens.
quantitynumberQuantidade de itens opcionais
unitPricearrayPreço por unidade, considerando 4 casas decimais (veja tabela de unitPrice).

originalPrice

arrayPreço original do produto (opcional) (veja tabela de originalPrice).
totalPricearrayPreço total da opção (veja tabela de totalPrice)
specialInstructionsstringInstruções especiais sobre a opção (opcional)
productionPointstringPonto de produção da opção (opcional)


  • Estrutura Data (dentro de otherFees):
    Âncora
    table_otherFees
    table_otherFees
CampoValorDescrição
name *stringNome relacionado às taxas
type *enumTipo da taxa (veja na tabela type)
receivedBy *enumPedido recebido por (veja na tabela receivedBy)
receiverDocumentstringDocumento do receptor de outras taxas
price *arrayPreço da taxa(veja tabela de price).
observationarrayObservação de outras taxas. Quaisquer comentários extras


  • Estrutura Enumeração Data - otherFees (dentro de type):
    Âncora
    table_OrderFeesType
    table_OrderFeesType
EnumValorDescrição
DELIVERY_FEEDELIVERY_FEETaxa de entrega
SERVICE_FEESERVICE_FEETaxa de serviço
TIPTIPGorjeta


  • Estrutura Enumeração Data - otherFees (dentro de receivedBy):
    Âncora
    table_receivedBy
    table_receivedBy
EnumValorDescrição
MARKETPLACEMARKETPLACEEntidade que recebeu o pedido é o marketplace
MERCHANTMERCHANTEntidade que recebeu o pedido é o comerciante
LOGISTIC_SERVICESLOGISTIC_SERVICESEntidade que recebeu o pedido é a logística


  • Estrutura Data - otherFees (dentro de price):
    Âncora
    table_price
    table_price
CampoValorDescrição
value *numberValor do preço
currency *stringO código de moeda ISO 4217 de três letras


  • Estrutura Data (dentro de discounts):
    Âncora
    table_discounts
    table_discounts
CampoValorDescrição
value *numberValor do preço. São aceitas 4 casas decimais
target *enumDestino do desconto (vejna na tabela de cart)
targetIdstring

Identificador do alvo (obrigatório quando target = ITEM).

sponsorshipValues *

arrayValores patrocinados por qualquer uma das partes. A soma dos valores listados neste atributo deverá corresponder ao valor informado no atributo valor acima (veja na tabela sponsorshipValue)


  • Estrutura Data - discounts - (dentro de target):
    Âncora
    table_price
    table_price
EnumValorDescrição
CARTCARTCarrinho o desconto aplica-se ao valor total do carrinho
DELIVERY_FEEDELIVERY_FEETaxa de entrega o desconto aplica-se ao valor da taxa de entrega. Código da moeda ISO 4217
ITEM ITEM Item o desconto aplica-se a um item específico do pedido. Obrigatório apenas para target = ITEM


  • Estrutura Data - discounts - (dentro de sponsorshipValues):
    Âncora
    table_sponsorship
    table_sponsorship
EnumValorDescrição
name *stringNome do patrocínio do pedido
value *enumValor do desconto concedido pelo patrocinador. (Veja dentro da tabela value)


  • Estrutura Enumeração Data - discounts(dentro de sponsorshipValues):
    Âncora
    table_sponsorshipValues
    table_sponsorshipValues
EnumValorDescrição
MARKETPLACEMARKETPLACEEntidade responsável pela entrega é o marketplace
MERCHANTMERCHANTEntidade responsável pela entrega é o comerciante


  • Estrutura Data (dentro de total):
    Âncora
    table_total
    table_total
CampoValorDescrição
itemsnumberSoma do preço total dos itens listados no atributo itens
otherFeesnumberSoma do valor total das demais taxas listadas no atributo otherFees. Se não houver, use 0
discountnumberSoma de quaisquer descontos que possam estar listados no atributo descontos. Se não houver, use 0
orderAmount *numberO valor final da encomenda (itens + outrasTaxas +Taxas adicionais +Taxa de entrega - descontos)
additionalFeesnumberSoma do valor total das taxas adicionais listadas no atributo adicionalFees. Se não houver, use 0
deliveryFeenumberSoma do valor total da taxa de entrega listada no atributo deliveryFee. Se não houver, use 0


  • Estrutura Data (dentro de payment):
    Âncora
    table_payments
    table_payments
CampoValorDescrição

prepaid *

numberValor pago antecipadamente

pending *

numberValor que ainda será pago

methods *

arrayA forma de pagamento utilizada. Seja online, na entrega, cartão de crédito, voucher, dinheiro, etc. (veja tabela methods)


  • Estrutura Data - payment (dentro de methodos):
    Âncora
    table_methods
    table_methods
CampoValorDescrição
value *numberValor do preço. São aceitas 4 casas decimais
currency *stringO código de moeda ISO 4217 de três letras
type *enumTipo de método de pagamento (Veja na tabela type)
method *enumMétodo (Veja na tabela method)
brandenumBandeira (Veja na tabela brand)
methodInfostringInformações sobre método de métodos de pagamento de pedidos. Informações adicionais sobre a forma de pagamento.
Pode ser utilizado para indicar algumas informações úteis do meio de pagamento escolhido, como o nome da carteira ou um número de autorização.
Este campo pode ser utilizado para qualquer método informado, mas é altamente recomendável preenchê-lo quando o método escolhido for OTHER.
changeFornumberMétodos de pagamento de pedidos alterados para. Indica o total que será pago à vista pelo cliente e que deverá ser considerado para o cálculo do troco
(ex. o cliente pagará um pedido de $ 43 com uma nota de $ 50. Em seguida, 50,00 devem ser inseridos).
Obrigatório apenas quando o método for CASH


  • Estrutura Enumeração Data - payment (dentro de type):
    Âncora
    table_type_payment
    table_type_payment
CampoValorDescrição
OFFLINEOFFLINETipo de método de pagamento offiline
ONLINE ONLINE Tipo de método de pagamento online


  • Estrutura Enumeração Data - payment (dentro de methodos):
    Âncora
    table_method
    table_method
EnumValorDescrição

CREDIT

CREDITCrédito pagamento realizado com cartão de crédito

DEBIT

DEBITDébito pagamento realizado com cartão de débito

MEAL_VOUCHER

MEAL_VOUCHERVale-refeição pagamento realizado com um vale-refeição

FOOD_VOUCHER

FOOD_VOUCHERVale-alimentação pagamento realizado com um vale-alimentação

DIGITAL_WALLET

DIGITAL_WALLET

Carteira digital pagamento realizado via uma carteira digital.

PIX

PIXPix pagamento realizado via o sistema de pagamento instantâneo Pix

CASH

CASHDinheiro pagamento realizado em espécie

CREDIT_DEBIT

CREDIT_DEBITCrédito/Débito combinação de cartão de crédito e débito

COUPON

COUPONCupom pagamento realizado com um cupom de desconto

REDEEM

REDEEMResgatar pagamento feito através de um programa de recompensas

PREPAID_REDEEM

PREPAID_REDEEMResgatar pré-pago pagamento feito com valores pré-pagos em um programa de recompensas

OTHER

OTHEROutro pagamento realizado com outro método que não está listado


  • Estrutura Enumeração Data - payment (dentro de brand):
    Âncora
    table_brand
    table_brand
CampoValorDescrição
VISAVISABadeira do cartão de crédito / débito
MASTERCARDMASTERCARDBadeira do cartão de crédito / débito
DINERSDINERSBadeira do cartão de crédito / débito
AMEXAMEXBadeira do cartão de crédito / débito
HIPERCARDHIPERCARDBadeira do cartão de crédito / débito
ELOELOBadeira do cartão de crédito / débito
AURAAURABadeira do cartão de crédito / débito
DISCOVERDISCOVERBadeira do cartão de crédito / débito
VR_BENEFICIOSVR_BENEFICIOSBadeira do cartão de crédito / débito
SODEXOSODEXOBadeira do cartão de crédito / débito
TICKETTICKETBadeira do cartão de crédito / débito
GOOD_CARDGOOD_CARDBadeira do cartão de crédito / débito
BANESCARDBANESCARDBadeira do cartão de crédito / débito
SOROCARDSOROCARDBadeira do cartão de crédito / débito
POLICARDPOLICARDBadeira do cartão de crédito / débito
VALECARDVALECARDBadeira do cartão de crédito / débito
AGICARDAGICARDBadeira do cartão de crédito / débito
JCBJCBBadeira do cartão de crédito / débito
CREDSYSTEMCREDSYSTEMBadeira do cartão de crédito / débito
CABALCABALBadeira do cartão de crédito / débito
GREEN_CARDGREEN_CARDBadeira do cartão de crédito / débito
VEROCHEQUEVEROCHEQUEBadeira do cartão de crédito / débito
AVISTAAVISTABadeira do cartão de crédito / débito
OTHER"OTHER"
Indica a marca do cartão selecionado no campo método.
Este campo só deverá ser preenchido se o método for CREDIT, DEBIT, CREDIT_DEBIT, MEAL_VOUCHER ou FOOD_VOUCHER.
Se OTHER for escolhido, é recomendado que você descreva o nome da marca no campo methodInfo


  • Estrutura Data (dentro de customer):
    Âncora
    table_customer
    table_customer
CampoValorDescrição

id *

stringUm identificador exclusivo relacionado ao consumidor. Caso o Aplicativo de Pedidos não possua um Id para o cliente, este Id poderá ser gerado no momento da criação do pedido

name *

stringNome do cliente

documentNumber

stringDocumento do cliente. Este documento poderá ser enviado para tratar de questões tributárias

phone *

arrayTelefone do cliente. Aqui você pode inserir diretamente o número de telefone do cliente (desde que o cliente tenha dado permissão para que esses dados sejam compartilhados, de acordo com as políticas locais) ou outro número de telefone (como o número de telefone da central de atendimento do aplicativo de pedidos) onde o comerciante possa se comunicar sobre problemas do pedido que afetam o cliente (como problemas de saúde) (veja tabela phone)

email

stringE-mail do cliente. Este documento poderá ser enviado para tratar de questões tributárias

ordersCountOnMerchant *

stringNúmero total de pedidos que o cliente já fez no estabelecimento


  • Estrutura Data - customer (dentro de phone):
    Âncora
    table_phone
    table_phone
CampoValorDescrição
number *stringNúmero de telefone do cliente do pedido
extensionstringSolicitar extensão de telefone do cliente


  • Estrutura Data (dentro de schedule):
    Âncora
    table_schedule
    table_schedule
CampoValorDescrição

scheduledDateTimeStart *

stringData e hora em que o pedido estará pronto. Pode ser calculado pelo Aplicativo de Pedidos utilizando o tempo médio de preparo dos pratos. O padrão é o mesmo horário de criação do pedido

scheduledDateTimeEnd *

stringData e hora em que o pedido estará pronto. Pode ser calculado pelo Aplicativo de Pedidos utilizando o tempo médio de preparo dos pratos. O padrão é o mesmo horário de criação do pedido


  • Estrutura Data (dentro de delevery):
    Âncora
    table_delivery
    table_delivery
CampoValorDescrição

deliveredBy *

enumSolicitar entrega por (veja na tabela de deliveredBy)

deliveryAddress *

arrayO endereço onde o pedido será entregue (veja na tabela deliveryAddress)

estimatedDeliveryDateTime *

stringData e hora estimada de entrega. A mesma data mostrada ao cliente, na interface do Aplicativo de Pedidos

deliveryDateTime

stringData de entrega. A data e hora em que a entrega realmente ocorreu.


  • Estrutura Enumeração Data - delivery (dentro de deliveredBy):
    Âncora
    table_deliveredBy
    table_deliveredBy
EnumValorDescrição
MARKETPLACEMARKETPLACEEntidade responsável pela entrega é o marketplace
MERCHANTMERCHANTEntidade responsável pela entrega é o comerciante


  • Estrutura Data - delivery (dentro de deliveryAddress):
    Âncora
    table_deliveryAddress
    table_deliveryAddress
CampoValorDescição

country *

stringTipo de pedido País do endereço de entrega. *Código de país ISO 3166-1 alfa-2 de duas letras.

state *

stringSubdivisão de estado ou país. É recomendado (mas não obrigatório) que você use a representação ISO 3166-2

city *

stringNome da cidade

district *

stringBairro ou Distrito

street *

stringNome da rua

number *

stringNúmero da rua

complement

stringComplemento de endereço

reference 

stringReferência de endereço

formattedAddress *

stringTexto de endereço totalmente formatado

postalCode *

stringCódigo postal

coordinates *

arrayTipo de pedido Endereço de entrega Coordenadas latitude (veja na tabela coordinates)


  • Estrutura Data - delivery - deliveryAddress (dentro de coordinates):
    Âncora
    table_coordinates
    table_coordinates
CampoValorDescrição

latitude *

numberLatitude em graus. Os valores estão restritos ao intervalo [[-90, 90]]

longitude *

numberLongitude em graus. Os valores estão restritos ao intervalo [[-180, 180]]


  • Estrutura Data (dentro de takeout):
    Âncora
    table_takeout
    table_takeout
CampoValorDescrição
mode *enum Esse campo especifica o modo de retirada do pedido, ou seja, como o cliente fará a retirada (Veja na tabela mode)

takeoutDateTime *

stringData e hora em que o pedido estará pronto. Pode ser calculado pelo Aplicativo de Pedidos utilizando o tempo médio de preparo dos pratos. O padrão é o mesmo horário de criação do pedido


  • Estrutura Enumeração Data - takeout (dentro de mode):
    Âncora
    table_takeout_mode
    table_takeout_mode
CampoValorDescrição
DEFAULT*DEFAULTIndica que o pedido será retirado pelo cliente sem um local específico de coleta, ou seja, de maneira padrão no estabelecimento

PICKUP_AREA*

PICKUP_AREAIndica que o pedido será retirado em uma área de coleta designada dentro do estabelecimento


  • Estrutura Data (dentro de indoor):
    Âncora
    table_indoor
    table_indoor
CampoValorDescrição
mode *enumInformações para pedidos INDOOR.
OBRIGATÓRIO se o tipo escolhido for INDOOR  (Veja na tabela mode)

indoorDateTime *

stringData e hora em que o pedido estará pronto. Pode ser calculado pelo Aplicativo de Pedidos utilizando o tempo médio de preparo dos pratos. O padrão é o mesmo horário de criação do pedido

place *

stringO identificador do local (obrigatório se o modo for PLACE)

tab *

stringA guia ou identificador do cartão de controle (obrigatório se o modo for TAB)


  • Estrutura Enumeração Data - indoor (dentro de mode):
    Âncora
    table_indoor_mode
    table_indoor_mode
EnumValorDescrição
DEFAULTDEFAULTPadrão isado para pedidos feitos no Aplicativo de Pedido para serem consumidos dentro do estabelecimento sem uma localização específica
PLACEPLACELugar usado para pedidos feitos no Aplicativo de Pedido para serem consumidos dentro do estabelecimento em uma localização específica já informada, como uma mesa ou balcão
TABTABComanda usado para estabelecimentos que controlam pedidos por meio de comandas ou cartões de controle (pode ser usado junto com o campo de localização)


  • Estrutura Consumption (dentro de table):
    Âncora
    table_table
    table_table
CampoValorDescrição

waiterCode *

numberO identificador do garçom

tableNumber *

numberO identificador da tabela

chairNumber *

numberO identificador do presidente


  • Estrutura Consumption (dentro de card):
    Âncora
    table_card
    table_card
CampoValorDescrição

waiterCode *

numberO identificador do garçom

tableNumber *

numberO identificador da tabela

deliveryTableNumber *

numberO identificador da mesa
Dica
titleCampos obrigatórios

Campos marcaos com o * (asteristico) o seu preenchimento é obrigatório

Nota
titleNota - pedido item valor integral

Para mais detalhes sobre como enviar uma requisição para o endpoint New Order Mesa - Item com Valor Integral, consulte a documentação

Nota
titleNota - pedido itens fracionandos

Para mais detalhes sobre como enviar uma requisição para o endpoint New Order Mesa - Itens Fracionandos, consulte a documentação

Nota
titleNota - pedido vários items

Para mais detalhes sobre como enviar uma requisição para o endpoint New Order Mesa - Pedido Vários Itens, consulte a documentação

...

O código de status HTTP 400, conhecido como "Bad Request" (Requisição Inválida), indica que o servidor não pôde processar a requisição do cliente devido a uma sintaxe inválida, estrutura malformada ou dados inválidos presentes na requisição.

01. Formando inválido do JSON esperado.

Bloco de código
titleJSON Inválido
linenumberstrue
{
	"integrationHubServiceId": "9b6f45cb-effb-4b0c-b782-f934b45c109e",
	"data": {
		"id": "80137319-c82d-499c-af0f-00118ec06f91",
		"type": "TABLE",
		"displayId": 55,
		"createdAt": "2024-06-24T17:35:00",
		"orderTiming": "2024-06-24T17:40:24",
		"preparationStartDateTime": "2024-06-24T18:00:00",
		"merchant": {
			"id": "c312d2ff-1a8f-40ad-8eed-9ae9a908df6e",
			"name": "BOTECO DO ALBINO"
		},
		"items": [
			{
				"id": "54",
				"index": "54",
				"name": "MARACUJA",
				"externalCode": "58",
				"unit": "UN",
				"quantity": 1.0,
				"specialInstructions": "Teste",
				"unitPrice": {
					"value": 61.00,
					"currency": "R$"
				},
				"optionsPrice": {
					"value": 0.0,
					"currency": "R$"
				},
				"totalPrice": {
					"value": 61.00,
					"currency": "R$"
				}
			}
		],
		"otherFees": [],
		"total": {
			"items": 61.0,
			"otherFees": 0,
			"discount": 0.0,
			"orderAmount": 61.0,
			"additionalFees": 0,
			"deliveryFee": 0
		},
		"payments": {
			"prepaid": 0.0,
			"pending": 0.0,
			"methods": [
				{
					"value": 61.0,
					"currency": "BRL",
					"type": "PREPAID",
					"method": "credit",
					"methodInfo": "Visa",
					"changeFor": 0.0
				}
			]
		},
		"delivery": null,
		"extraInfo": "Teste",
		"schedule": null,
		"indoor": null,
		"takeout": null,
		"table": {
			"waiterCode": "9999",
			"tableNumber": "54",
			"chairNumber": "1"
		},
		"card": null
	}
}
Bloco de código
titleJSON Resposta
linenumberstrue
{
	"errors": [
		{
			"key": "displayId",
			"message": "body.data.displayId must be a string"
		}
	]
}

02. JSON enviando faltando um ou mais campos.

Bloco de código
titleJSON Inválido
linenumberstrue
{
	"integrationHubServiceId": "6e7d1a42-9d59-4dd8-9976-8d8edc2a106a",
	"data": {
		"id": "f1bddb3f-63c4-4b2f-be53-e4527275ad9d",
		"type": "TABLE",
		"displayId": "55",
		"createdAt": "2024-06-24T17:35:00",
		"orderTiming": "2024-06-24T17:40:24",
		"preparationStartDateTime": "2024-06-24T18:00:00",
		"items": [
			{
				"id": "54",
				"index": "54",
				"name": "MARACUJA",
				"externalCode": "58",
				"unit": "UN",
				"quantity": 1.0,
				"specialInstructions": "Teste",
				"unitPrice": {
					"value": 61.00,
					"currency": "R$"
				},
				"optionsPrice": {
					"value": 0.0,
					"currency": "R$"
				},
				"totalPrice": {
					"value": 61.00,
					"currency": "R$"
				}
			}
		],
		"otherFees": [],
		"total": {
			"items": 61.0,
			"otherFees": 0,
			"discount": 0.0,
			"orderAmount": 61.0,
			"additionalFees": 0,
			"deliveryFee": 0
		},
		"payments": {
			"prepaid": 0.0,
			"pending": 0.0,
			"methods": [
				{
					"value": 61.0,
					"currency": "BRL",
					"type": "PREPAID",
					"method": "credit",
					"methodInfo": "Visa",
					"changeFor": 0.0
				}
			]
		},
		"delivery": null,
		"extraInfo": "Teste",
		"schedule": null,
		"indoor": null,
		"takeout": null,
		"table": {
			"waiterCode": "9999",
			"tableNumber": "54",
			"chairNumber": "1"
		},
		"card": null
	}
}
Bloco de código
titleJSON Resposta
linenumberstrue
{
	"errors": [
		{
			"key": "orderKeyType",
			"message": "body.orderKeyType is required"
		},
		{
			"key": "orderKey",
			"message": "body.orderKey is required"
		}
	]
}
Nota
titleNota: HTTP Status Code = 400 Bad Request

A solicitação é inválida e não pôde ser processada devido a erros na entrada fornecida. Verifique os dados enviados e tente novamente.

...

O código de status HTTP 401, conhecido como "Unauthorized" (Não Autorizado), indica que a requisição não foi aplicada porque carece de credenciais de autenticação válidas para o recurso alvo. Diferente do código 403 (Forbidden), que significa que o servidor entendeu a requisição, mas se recusa a autorizá-la, o 401 é usado especificamente quando a autenticação é necessária e falhou ou ainda não foi fornecida.

Nota
titleNota: HTTP Status Code = 401 Unauthorized

A solicitação não pôde ser processada porque o usuário não possui as permissões necessárias. Verifique suas credenciais e tente novamente.

...

O código de status HTTP 403, conhecido como "Forbidden" (Proibido), indica que o servidor não entendeu a requisição do cliente por está tentando acessar uma URL incorreta

Bloco de código
titleURL enviada incorreda
https://api-barramento.meuelevestage.com/order/paymentS
Bloco de código
titleJSON Response para URL incorreta
linenumberstrue
{
	"message": "Missing Authentication Token"
}
Nota
titleNota: HTTP Status Code = 403 - Forbidden

O cliente não enviou uma requisição para a URL  incorreta.

...

O código de status HTTP 404, conhecido como "Not Found" (Não Encontrado), indica que o servidor não encontrou o recurso solicitado. Isso pode ocorrer quando o integrationHubId  está incorreto ou inválido.

Bloco de código
titleIntegration Hub Code Inválido
linenumberstrue
{
	"integrationHubServiceId": "3fea8768-bbd9-454b-9e7b-40841e9a681A",
	"data": {
		"id": "f1bddb3f-63c4-4b2f-be53-e4527275ad9d",
		"type": "TABLE",
		"displayId": "55",
		"createdAt": "2024-06-24T17:35:00",
		"orderTiming": "2024-06-24T17:40:24",
		"preparationStartDateTime": "2024-06-24T18:00:00",
		"merchant": {
			"id": "c312d2ff-1a8f-40ad-8eed-9ae9a908df6e",
			"name": "BOTECO DO ALBINO"
		},
		"items": [
			{
				"id": "54",
				"index": "54",
				"name": "MARACUJA",
				"externalCode": "58",
				"unit": "UN",
				"quantity": 1.0,
				"specialInstructions": "Teste",
				"unitPrice": {
					"value": 61.00,
					"currency": "R$"
				},
				"optionsPrice": {
					"value": 0.0,
					"currency": "R$"
				},
				"totalPrice": {
					"value": 61.00,
					"currency": "R$"
				}
			}
		],
		"otherFees": [],
		"total": {
			"items": 61.0,
			"otherFees": 0,
			"discount": 0.0,
			"orderAmount": 61.0,
			"additionalFees": 0,
			"deliveryFee": 0
		},
		"payments": {
			"prepaid": 0.0,
			"pending": 0.0,
			"methods": [
				{
					"value": 61.0,
					"currency": "BRL",
					"type": "PREPAID",
					"method": "credit",
					"methodInfo": "Visa",
					"changeFor": 0.0
				}
			]
		},
		"delivery": null,
		"extraInfo": "Teste",
		"schedule": null,
		"indoor": null,
		"takeout": null,
		"table": {
			"waiterCode": "9999",
			"tableNumber": "54",
			"chairNumber": "1"
		},
		"card": null
	}
}
Bloco de código
titleJSON Response
linenumberstrue
{
	"errors": [
		{
			"key": "integrationHubServiceId",
			"message": "Provider Merchant for integrationHubServiceId \"3fea8768-bbd9-454b-9e7b-40841e9a681A\" not found or disabled"
		}
	]
}
Nota
titleNota: HTTP Status Code = 404 - Not Found

IntegrationHubId incorreto ou inválido

...

O código de status HTTP 412, conhecido como "Precondition Failed" (Pré-condição Falhou), indica que o servidor não atendeu a uma das pré-condições que o cliente colocou no cabeçalho da requisição. 

Bloco de código
titleJSON
linenumberstrue
{
    "integrationHubServiceId": "8f7949c3-cdd6-4db0-8746-369e651026b4",
	  "orderKeyType": "TABLE",
	  "orderKey": []
}
Bloco de código
titleHTTP Status Code 412 = Precpndition Failed
linenumberstrue
{
	"message": "NOT_FOUND",
	"code": 412
}
Nota
titleNota: HTTP Status Code = 412 Precondition Failed

Alguma regra necessária para a execução da solicitação não foi atendida. É necessário analisar o conteúdo da resposta retornada para identificar os motivos.


...




Templatedocumentos