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 envio de requisição para novos pedidos na API Order  mesa via barramento. Para envio de requisições para pedidos em geral para Mesa. Onde o consumo será realizado no local.


...

02. ENDPOINT
Âncora
endpoint
endpoint

...

MétodoURL
POSThttps://api-barramento.meuelevestage.com/order/newOrder


...

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

Corpo da requisição de envio de novo: 


Informações
titleNota:

JSON de RequestOrderNewOrder

Este JSON é utilizado para enviar informações de criar 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

passando informações detalhadas sobre o pedido, como identificação da integração, tipos de pedido, origem do pedido, e eventos associados. Ele é composto pelos seguintes campos:

  • integrationHubServiceId (string, obrigatório)
    Descrição: Chave de identificação da integração. Este campo é

    essencial

    utilizado para identificar de

    forma

    maneira única

    a integração em questão

    o serviço de integração responsável pela criação do pedido.
    Exemplo: "string"

  • data (objeto, obrigatório)
    Descrição: Objeto contendo informações detalhadas sobre o os detalhes completos do pedido.

    Campos do dentro de data:

    • id (string, obrigatório)
      Título: Data.id
      Descrição: Identificador único do pedido. Este ID é gerado pelo aplicativo de pedidos e deve ser utilizado para identificar o pedido em todo o sistema.
      Exemplo: "string"

    • type (stringOrderType, obrigatório)
      Título: OrderType
      Descrição: Tipo

      do

      de pedido, indicando a modalidade de entrega ou consumo do pedido.
      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"
      • DELIVERY - Pedidos que serão entregues no endereço do cliente.
      • TAKEOUT - Pedidos que serão retirados pelo cliente no estabelecimento.
      • INDOOR - Pedidos que serão consumidos dentro do estabelecimento.
      • TABLE - Pedidos que serão consumidos em uma mesa no local.
      • CARD - Pedidos cuja o consumo será alocado ao cartão do estabelecimento.
      • COUNTER - Pedidos que serão preparados para consumo no balcão do estabelecimento.
        Exemplo: "DELIVERY"
    • displayId (string, obrigatório)
      Título: Data.displayId
      Descrição: Identificação do pedido que será exibida na interface do Aplicativo de Pedidos para o cliente

      salesChannel (string)

      Descrição: Canal de vendas pelo qual o pedido foi originado

      .
      Exemplo: "string"

    • createdAt sourceAppId (string, obrigatório)

      Descrição

      Título: 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)

    • .sourceAppId
      Descrição: Este campo deve ser preenchido com o AppId do Aplicativo de Pedidos que originou o pedido. Ele é útil para os aplicativos que atuam como um Hub, intermediando os pedidos entre o Aplicativo de Pedidos e o Serviço de Software.
      Exemplo: "string"

    • salesChannel (string)
      Título: Data.salesChannel
      Descrição: Canal de vendas pelo qual o pedido foi originado, como website, aplicativo, ou outros canais.
      Exemplo: "string"

    • createdAt (string, obrigatório)
      Título: Data.createdAt
      Descrição: Data e hora de criação do pedido, no formato de data e hora UTC, conforme padrão ISO.
      Exemplo: "2023-08-12T12:34:56Z"

    • lastEvent (OrderLastEvent, opcional)
      Título: OrderLastEvent
      Descrição: O último evento válido do pedido, que pode ter sido confirmado, enviado via webhook ou não reconhecido.
      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
    • orderTiming (OrderTiming, obrigatório)
      Título: OrderTiming
      Descrição: Tempo de entrega do pedido, indicando se o pedido terá entrega imediata ou agendada.
      Valores possíveis:

      • INSTANT - Entrega imediata.
      • SCHEDULED - Entrega agendada.
    • preparationStartDateTime (string, obrigatório)
      Título: Data.preparationStartDateTime
      Descrição: Sugestão de horário de início da preparação do pedido após sua criação. O padrão é o mesmo horário da criação do pedido, mas pode ser ajustado para atrasar o início por qualquer motivo.
      Exemplo: "2023-08-12T13:00:00Z"

    • merchant (objeto, obrigatório)
      Descrição: Contém as informações do estabelecimento (merchant) relacionado ao pedido.

      Campos dentro de merchant:

      • id (string, obrigatório)
        Título: Merchant.id
        Descrição: Identificador único do estabelecimento nos diferentes sistemas com os quais ele se comunica. Esse ID deve ser gerado pelo Serviço de Software do estabelecimento. Para evitar duplicação entre diferentes estabelecimentos, recomenda-se criar o merchantId usando:
        Documento do Estabelecimento + UUID.
        Caso não seja possível, recomenda-se pelo menos usar um UUID.

      • name (string, obrigatório)
        Título: Merchant.name
        Descrição: Nome público do estabelecimento.
        Exemplo: "Loja Exemplo"

    • items (array de objetos, obrigatório)
      Descrição: Contém a lista de itens do pedido, detalhando cada produto ou serviço solicitado.

      Campos dentro de items:

      • id (string, obrigatório)
        Título: OrderItems.id
        Descrição: Identificador único de cada item no pedido.
        Exemplo: "item123"

      • index (string, opcional)
        Título: OrderItems.index
        Descrição: Posição do item no pedido, caso o número da posição seja relevante.
        Exemplo: "1"

      • name (string, obrigatório)
        Título: OrderItems.name
        Descrição: Nome do produto ou serviço solicitado no pedido.
        Exemplo: "Hambúrguer Clássico"

      • externalCode (string, obrigatório)
        Título: OrderItems.externalCode
        Descrição: Código externo do produto, utilizado para referência em sistemas de controle de estoque ou catálogos de produtos.
        Exemplo: "EXT00123"

      • unit (string, obrigatório)
        Título: Unit
        Descrição: Unidade de medida do item.
        Valores possíveis:

        • UN - Unidade
        • KG - Quilograma
        • L - Litro
        • OZ - Onça
        • LB - Libra
        • GAL - Galão
          Exemplo: "UN"
      • ean (string, opcional)
        Título: OrderItems.ean
        Descrição: O código de barras EAN usado nos itens.
        Exemplo: "7891234567890"

      • quantity (número, obrigatório)
        Título: OrderItems.quantity
        Descrição: Quantidade de itens solicitados. Valores fracionados são permitidos para unidades menores, como gramas ou mililitros.
        Exemplo: "2"

      • specialInstructions (string, opcional)
        Título: OrderItems.specialInstructions
        Descrição: Instruções especiais relacionadas ao item, como pedidos personalizados ou restrições alimentares.
        Exemplo: "Sem cebola"

      • unitPrice (objeto, obrigatório)
        Descrição: Preço por unidade do item, considerando o valor pago pelo cliente e utilizado no cálculo dos totais do pedido.

        Campos dentro de unitPrice:

        • value (número, obrigatório)
          Título: UnitPrice.value
          Descrição: Valor unitário do item. São aceitos valores com até 4 casas decimais.
          Exemplo: "10.50"

        • currency (string, obrigatório)
          Título: UnitPrice.currency
          Descrição: Código da moeda, seguindo o padrão ISO 4217 (código de 3 letras).
          Exemplo: "BRL"

      • originalPrice (objeto, opcional)
        Descrição: Preço original do produto, antes de quaisquer descontos ou promoções aplicadas. Utilizado apenas para fins informativos.

        Campos dentro de originalPrice:

        • value (número, obrigatório)
          Título: OriginalPrice.value
          Descrição: Valor original do item. São aceitos valores com até 4 casas decimais.
          Exemplo: "12.00"

        • currency (string, obrigatório)
          Título: OriginalPrice.currency
          Descrição: Código da moeda, conforme o padrão ISO 4217.
          Exemplo: "BRL"

      • optionsPrice (objeto, opcional)
        Descrição: Soma dos preços de todas as opções ou adicionais selecionados para o item.

        Campos dentro de optionsPrice:

        • value (número, obrigatório)
          Título: OptionsPrice.value
          Descrição: Valor das opções adicionais. São aceitos valores com até 4 casas decimais.
          Exemplo: "1.50"

        • currency (string, obrigatório)
          Título: OptionsPrice.currency
          Descrição: Código da moeda, conforme o padrão 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 valor das opções (se houver).

        Campos dentro de totalPrice:

        • value (número, obrigatório)
          Título: TotalPrice.value
          Descrição: Valor total do item.
          Exemplo: "21.00"

        • currency (string, obrigatório)
          Título: TotalPrice.currency
          Descrição: Código da moeda, conforme o padrão

    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 (objetooptions (array de objetos, opcional)
        Descrição:

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

        Lista de opções adicionais selecionadas para o item.

        Campos do originalPricedentro de options:

        • value id (numberstring, obrigatório)
          Título: OrderItemsOptions.id
          Descrição:

          Valor do preço original

          Identificador único da opção adicional selecionada.
          Exemplo: "option001"

        • name

          2.50

          currency (string, obrigatório)
          Título: OrderItemsOptions.name
          Descrição:

          Código da moeda no formato ISO 4217

          Nome da opção adicional.
          Exemplo: "

          BRL

          Adicional de Queijo"

        totalPrice
        • quantity (

        objeto
        • número, obrigatório)
          Título: OrderItemsOptions.quantity
          Descrição:

          Preço total

          Quantidade da opção

          , calculado como a quantidade multiplicada pelo preço unitário

          selecionada.
          Exemplo:

          2.00

          "1"

        • unitPrice (objeto, obrigatório)
          Descrição: Preço unitário da opção adicional.

          Campos dentro de unitPrice:

          • value (número, obrigatório)
            Título: UnitPrice.value
            Descrição: Valor unitário da opção.
            Exemplo: "2.00"

          • currency (string, obrigatório)
            Título: UnitPrice.currency
            Descrição: Código da moeda.
            Exemplo: "BRL"

        • specialInstructions (string, opcional)
          Título: OrderItemsOptions.specialInstructions
          Descrição: Instruções especiais relacionadas à opção selecionada.
          Exemplo: "Queijo extra derretido"

      • productionPoint (string, obrigatório)
        Título: OrderItems.productionPoint
        Descrição: Ponto de produção do item dentro do estabelecimento.
        Exemplo: "Cozinha"

    • otherFees (array de objetos, opcional)
      Descrição: Outras taxas que podem ser aplicadas ao pedido, como taxa de entrega, taxa de serviço, ou gorjeta.

      Campos dentro de otherFees:

      • name (string, obrigatório)
        Título: OtherFees.name
        Descrição: Nome relacionado à taxa aplicada.
        Exemplo: "Taxa de Entrega"

      • type (string, obrigatório)
        Título: OrderFeesType
        Descrição: Tipo da taxa aplicada. Pode ser uma taxa de entrega, serviço, ou gorjeta.
        Valores possíveis:

        • DELIVERY_FEE - Taxa de entrega
        • SERVICE_FEE - Taxa de serviço
        • TIP - Gorjeta
          Exemplo: "DELIVERY_FEE"
      • receivedBy (string, obrigatório)
        Título: OrderReceivedBy
        Descrição: Define quem recebe a taxa aplicada, podendo ser o marketplace, o próprio estabelecimento ou um serviço de logística.
        Valores possíveis:

        • MARKETPLACE - Marketplace recebe
        • MERCHANT - Estabelecimento recebe
        • LOGISTIC_SERVICES - Serviços de logística recebem
          Exemplo: "MARKETPLACE"
      • receiverDocument (string, opcional)
        Título: OtherFees.receiverDocument
        Descrição: Documento do recebedor da taxa. Obrigatório em casos de marketplace.
        Exemplo: "123.456.789-00"

      • price (objeto, obrigatório)
        Descrição: Preço da taxa aplicada.

        Campos dentro de price:

        • value (número, obrigatório)
          Título: OtherFeesPrice.value
          Descrição: Valor da taxa. São aceitos valores com até 4 casas decimais.
          Exemplo: "5.00"

        • currency (string, obrigatório)
          Título: OtherFeesPrice.currency
          Descrição: Código da moeda, conforme padrão ISO 4217 (código de 3 letras).
          Exemplo: "BRL"

      • observation (string, opcional)
        Título: OtherFees.observation
        Descrição: Comentários ou observações adicionais sobre a taxa.
        Exemplo: "Taxa adicional por área remota"

        • total (objeto, obrigatório)
          Descrição: Conjunto de campos que contém a soma dos valores previamente descritos no pedido.

          Campos dentro de total:

          • items (número, obrigatório)
            Título: Total.items
            Descrição: Soma do preço total dos itens listados no atributo items.
            Exemplo: "150.00"

          • otherFees (número, opcional)
            Título: Total.otherFees
            Descrição: Soma do valor total de outras taxas listadas no atributo otherFees. Se não houver, use 0.
            Exemplo: "10.00"

          • discount (número, opcional)
            Título: Total.discount
            Descrição: Soma de quaisquer descontos listados no atributo discounts. Se não houver, use 0.
            Exemplo: "5.00"

          • orderAmount (número, obrigatório)
            Título: Total.orderAmount
            Descrição: Valor final do pedido (itens + otherFees + additionalFees + deliveryFee - descontos).
            Exemplo: "155.00"

          • additionalFees (número, opcional)
            Título: Total.additionalFees
            Descrição: Soma do valor total das taxas adicionais listadas no atributo additionalFees. Se não houver, use 0.
            Exemplo: "0.00"

          • deliveryFee (número, opcional)
            Título: Total.deliveryFee
            Descrição: Soma do valor total da taxa de entrega listada no atributo deliveryFee. Se não houver, use 0.
            Exemplo: "5.00"

        • payments (objeto, obrigatório)
          Descrição: Todos os detalhes sobre o pagamento, como métodos, pré-pagamentos, troco, etc.

          Campos dentro de payments:

          • prepaid (número, obrigatório)
            Título: OrderPayments.prepaid
            Descrição: Quantidade paga antecipadamente.
            Exemplo: "50.00"

          • pending (número, obrigatório)
            Título: OrderPayments.pending
            Descrição: Quantidade que ainda precisa ser paga.
            Exemplo: "105.00"

          • methods (array de objetos, obrigatório)
            Descrição: Métodos de pagamento usados. Se foi pago online, na entrega, por cartão de crédito, voucher, dinheiro, etc.

            Campos dentro de methods:

            • value (número, obrigatório)
              Título: OrderPaymentsMethods.value
              Descrição: Valor do pagamento. São aceitos valores

        • integrationHubServiceId (string): Chave de identificação da integração utilizada.
          Exemplo: "933aadb4-c33b-40b8-8285-bf1e575d8b38"

        • data (object): Objeto que contém os detalhes completos do pedido.

          • id (string): Identificador único do pedido, gerado pela aplicação de pedidos.
            Exemplo: "9ec389e5-7582-4768-875b-ee7c309aa34f"
          • type (string): Tipo do pedido, por exemplo, "TABLE" para pedidos realizados em mesa.
            Exemplo: "TABLE"
          • displayId (string): Identificador de exibição usado para controle interno.
            Exemplo: "29"
          • createdAt (string): Data e hora de criação do pedido.
            Exemplo: "2024-06-24T17:35:00"
          • orderTiming (string): Data e hora estimadas para o pedido.
            Exemplo: "2024-06-24T17:40:24"
          • preparationStartDateTime (string): Data e hora de início da preparação do pedido.
            Exemplo: "2024-06-24T18:00:00"
          • merchant (object): Informações sobre o estabelecimento que está recebendo o pedido.
            • id (string): Identificador único do estabelecimento.
              Exemplo: "c312d2ff-1a8f-40ad-8eed-9ae9a908df6e"
            • name (string): Nome do estabelecimento.
              Exemplo: "BOTECO DO ALBINO"
          • items (array of objects): Lista de itens incluídos no pedido.
            • id (string): Identificador único do item.
              Exemplo: "3973594021"
            • index (string): Índice do item na lista.
              Exemplo: "21"
            • name (string): Nome do item.
              Exemplo: "MARACUJA"
            • externalCode (string): Código externo do item.
              Exemplo: "58"
            • unit (string): Unidade de medida do item.
              Exemplo: "UN"
            • quantity (number): Quantidade do item.
              Exemplo: 1.0
            • specialInstructions (string): Instruções especiais relacionadas ao item.
              Exemplo: "Teste"
            • unitPrice (object): Preço unitário do item.
              • value (number): Valor unitário do item.
                Exemplo: 61.00
              • currency (string): Código da moeda no formato ISO 4217.
                Exemplo: "R$"
            • optionsPrice (object): Preço das opções associadas ao item.
              • value (number): Valor total das opções.
                Exemplo: 0.0
              • currency (string): Código da moeda no formato ISO 4217.
                Exemplo: "R$"
            • totalPrice (object): Preço total do item, incluindo todas as opções.
              • value (number): Valor total do item.
                Exemplo: 61.00
              • currency (string): Código da moeda no formato ISO 4217.
                Exemplo: "R$"
            • productionPoint (string): Ponto de produção do item.
              Exemplo: "Cozinha Principal"
          • otherFees (array of objects): Lista de outras taxas que podem ser aplicadas ao pedido.
            • name (string): Nome relacionado à taxa adicional.
              Exemplo: "DELIVERY_FEE"
            • type (enum): Tipo de taxa, com possíveis valores "DELIVERY_FEE", "SERVICE_FEE", ou "TIP".
              Exemplo: "SERVICE_FEE"
            • receivedBy (enum): Parte responsável por receber a taxa, podendo ser "MARKETPLACE", "MERCHANT" ou "LOGISTIC_SERVICES".
              Exemplo: "MERCHANT"
            • receiverDocument (string): Documento do receptor, obrigatório para marketplaces.
              Exemplo: "12345678901"
            • price (object): Valor da taxa.value (number): Valor da taxa

              com até 4 casas decimais.
              Exemplo:

              5

              "105.00"

            • currency (string, obrigatório)
              Título: OrderPaymentsMethods.currency
              Descrição: Código da moeda

              no formato

              , conforme padrão ISO 4217 (código de 3 letras).
              Exemplo: "BRL"

            • observation

              type (string, obrigatório)

              : Comentários ou observações adicionais sobre a taxa.
              Exemplo: "Taxa de serviço aplicada conforme política da casa."
          • discounts (array of objects): Lista de descontos aplicados ao pedido.
            • value (number): Valor do desconto aplicado.
              Exemplo: 10.00
            • target (enum): Alvo do desconto, podendo ser "CART", "DELIVERY_FEE", ou "ITEM".
              Exemplo: "ITEM"
            • targetId (string): Identificador do item para o qual o desconto é aplicado, obrigatório se target for "ITEM".
              Exemplo: "3973594021"
            • sponsorshipValues (array of objects): Valores patrocinados por terceiros, que devem somar ao valor total do desconto.
              • name (enum): Nome do patrocinador, podendo ser "MARKETPLACE" ou "MERCHANT".
                Exemplo: "MERCHANT"
              • value (number): Valor do desconto patrocinado.
                Exemplo: 5.00
          • total (object): Resumo financeiro do pedido.
            • items (number): Valor total dos itens.
              Exemplo: 61.00
            • otherFees (number): Valor total de outras taxas aplicadas.
              Exemplo: 0.0
            • discount (number): Valor total dos descontos aplicados.
              Exemplo: 10.00
            • orderAmount (number): Valor total do pedido, após a aplicação de taxas e descontos.
              Exemplo: 51.00
            • additionalFees (number): Taxas adicionais aplicadas ao pedido.
              Exemplo: 0.0
            • deliveryFee (number): Taxa de entrega, se aplicável.
              Exemplo: 0.0
          • payments (object): Detalhes sobre os pagamentos realizados.
            • prepaid (number): Valor pré-pago, se houver.
              Exemplo: 0.0
            • pending (number): Valor pendente de pagamento.
              Exemplo: 0.0
            • methods (array of objects): Métodos de pagamento utilizados.
              • value (number): Valor pago através deste método.
                Exemplo: 61.00
              • currency (string): Código da moeda no formato ISO 4217.
                Exemplo: "BRL"
              • type (enum): Tipo de pagamento, como "PREPAID" ou "ON_DELIVERY".
                Exemplo: "PREPAID"
              • method (string): Método de pagamento específico, como "credit" ou "debit".
                Exemplo: "credit"
              • methodInfo (string): Informações adicionais sobre o método de pagamento, como o nome do cartão.
                Exemplo: "Visa"
              • changeFor (number): Troco para o pagamento, se aplicável.
                Exemplo: 0.0
          • delivery (object): Detalhes sobre a entrega, caso o pedido envolva entrega.
          • extraInfo (string): Informações adicionais sobre o pedido.
            Exemplo: "Teste"
          • schedule (object): Informações de agendamento, caso o pedido seja programado para uma data futura.
          • indoor (object): Informações adicionais para pedidos realizados no interior do estabelecimento.
          • takeout (object): Detalhes sobre a retirada do pedido, se aplicável.
          • table (object): Informações sobre a mesa e o garçom responsável.
            • waiterCode (string): Código do garçom que atendeu o pedido.
              Exemplo: "9999"
            • tableNumber (string): Número da mesa onde o pedido foi realizado.
              Exemplo: "29"
            • chairNumber (string): Número da cadeira, se aplicável.
              Exemplo: "1"
          • card (object): Informações sobre o cartão, caso o pagamento seja realizado via cartão.

...

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

...


            • Título: PaymentMethodType
              Descrição: Indica se o pagamento foi feito online ou offline.
              Valores possíveis:

              • ONLINE
              • OFFLINE
                Exemplo: "ONLINE"
            • method (string, obrigatório)
              Título: Method
              Descrição: Método de pagamento escolhido.
              Valores possíveis:

              • CREDIT - Crédito
              • DEBIT - Débito
              • MEAL_VOUCHER - Vale-refeição
              • FOOD_VOUCHER - Vale-alimentação
              • DIGITAL_WALLET - Carteira digital
              • PIX - PIX
              • CASH - Dinheiro
              • CREDIT_DEBIT - Cartão de crédito/débito
              • COUPON - Cupom
              • REDEEM - Resgate
              • PREPAID_REDEEM - Resgate pré-pago
              • OTHER - Outro
                Exemplo: "CREDIT"
            • brand (string, opcional)
              Título: Brand
              Descrição: Indica a bandeira do cartão escolhido no campo method. Este campo deve ser preenchido somente se method for CREDIT, DEBIT, CREDIT_DEBIT, MEAL_VOUCHER, ou FOOD_VOUCHER.
              Valores possíveis:

              • VISA
              • MASTERCARD
              • DINERS
              • AMEX
              • HIPERCARD
              • ELO
              • OUTRAS
                Exemplo: "VISA"
            • methodInfo (string, opcional)
              Título: OrderPaymentsMethods.methodInfo
              Descrição: Informações adicionais sobre o método de pagamento. Pode ser usado para indicar algo útil, como o nome da carteira digital ou número de autorização. Este campo é recomendado quando o método escolhido for OTHER.
              Exemplo: "Autorização 123456"

            • changeFor (número, opcional)
              Título: OrderPaymentsMethods.changeFor
              Descrição: Indica o total que será pago em dinheiro pelo cliente e que deve ser considerado para o cálculo do troco (ex: cliente pagará um pedido de R$ 43 com uma nota de R$ 50). Este campo é obrigatório quando o método for CASH.
              Exemplo: "50.00"

              • schedule (objeto, obrigatório se o orderTiming for SCHEDULED)
                Descrição: Informações para pedidos agendados.

                Campos dentro de schedule:

                • scheduledDateTimeStart (string, obrigatório)
                  Título: Schedule.scheduledDateTimeStart
                  Descrição: Data e hora para quando o pedido estará pronto. Pode ser calculado pelo Aplicativo de Pedido com base no tempo médio de preparação dos pratos. O padrão é o mesmo horário da criação do pedido.

                • scheduledDateTimeEnd (string, obrigatório)
                  Título: Schedule.scheduledDateTimeEnd
                  Descrição: Data e hora para quando o pedido estará pronto. Pode ser calculado pelo Aplicativo de Pedido com base no tempo médio de preparação dos pratos. O padrão é o mesmo horário da criação do pedido.customer (objeto, obrigatório se o tipo escolhido for DELIVERY)

                  • Descrição: Informações relacionadas ao cliente.

                    Campos dentro de customer:

                    • id (string, obrigatório)
                      Título: OrderCustomer.id
                      Descrição: Um identificador exclusivo relacionado ao cliente. Se o aplicativo de pedido não tiver um Id para o cliente, este Id pode ser gerado ao criar o pedido.

                    • name (string, obrigatório)
                      Título: OrderCustomer.name
                      Descrição: Nome do cliente.

                    • documentNumber (string, opcional)
                      Título: OrderCustomer.documentNumber
                      Descrição: Documento do cliente. Este documento pode ser enviado para tratar de questões fiscais.

                    • phone (objeto, obrigatório)
                      Descrição: Telefone do cliente. Pode-se inserir o número do cliente diretamente (desde que o cliente tenha dado permissão para o compartilhamento de seus dados, conforme as políticas locais), ou outro número de telefone (como o número do call center do aplicativo de pedidos) onde o comerciante pode se comunicar sobre problemas no pedido.

                      Campos dentro de phone:

                      • number (string, obrigatório)
                        Título: OrderCustomerPhone.number
                        Descrição: Número de telefone do cliente.

                      • extension (string, opcional)
                        Título: OrderCustomerPhone.extension
                        Descrição: Ramal de telefone, se aplicável.

                    • email (string, opcional)
                      Título: OrderCustomer.email
                      Descrição: E-mail do cliente. Este dado pode ser enviado para tratar de questões fiscais.

                    • ordersCountOnMerchant (string, obrigatório)
                      Título: OrderCustomer.ordersCountOnMerchant
                      Descrição: Total de pedidos que o cliente já fez no comerciante.

              • delivery (objeto, obrigatório se o tipo escolhido for DELIVERY)
                Descrição: Informações para pedidos de entrega.

                Campos dentro de delivery:

                • deliveredBy (string, obrigatório)
                  Título: OrderDeliveryBy
                  Descrição: Quem é responsável pela entrega do pedido.
                  Valores possíveis:

                  • MARKETPLACE
                  • MERCHANT
                • deliveryAddress (objeto, obrigatório)
                  Descrição: O endereço para o qual o pedido será entregue.

                  Campos dentro de deliveryAddress:

                  • country (string, obrigatório)
                    Título: OrderTypeDeliveryAddress.country
                    Descrição: Código de dois dígitos do país, conforme a norma ISO 3166-1 alpha-2.

                  • state (string, obrigatório)
                    Título: OrderTypeDeliveryAddress.state
                    Descrição: Estado ou subdivisão do país. Recomenda-se (mas não é obrigatório) usar a representação ISO 3166-2.

                  • city (string, obrigatório)
                    Título: OrderTypeDeliveryAddress.city
                    Descrição: Nome da cidade.

                  • district (string, obrigatório)
                    Título: OrderTypeDeliveryAddress.district
                    Descrição: Bairro ou distrito.

                  • street (string, obrigatório)
                    Título: OrderTypeDeliveryAddress.street
                    Descrição: Nome da rua.

                  • number (string, obrigatório)
                    Título: OrderTypeDeliveryAddress.number
                    Descrição: Número da rua.

                  • complement (string, opcional)
                    Título: OrderTypeDeliveryAddress.complement
                    Descrição: Complemento do endereço.

                  • reference (string, opcional)
                    Título: OrderTypeDeliveryAddress.reference
                    Descrição: Referência do endereço.

                  • formattedAddress (string, obrigatório)
                    Título: OrderTypeDeliveryAddress.formattedAddress
                    Descrição: Endereço completo formatado.

                  • postalCode (string, obrigatório)
                    Título: OrderTypeDeliveryAddress.postalCode
                    Descrição: Código postal.

                  • coordinates (objeto, obrigatório)
                    Descrição: Coordenadas do endereço de entrega.

                    Campos dentro de coordinates:

                    • latitude (número, obrigatório)
                      Título: OrderTypeDeliveryAddressCoordinates.latitude
                      Descrição: Latitude em graus, com valores limitados à faixa [-90, 90].

                    • longitude (número, obrigatório)
                      Título: OrderTypeDeliveryAddressCoordinates.longitude
                      Descrição: Longitude em graus, com valores limitados à faixa [-180, 180].

                • estimatedDeliveryDateTime (string, obrigatório)
                  Título: OrderTypeDelivery.estimatedDeliveryDateTime
                  Descrição: Data e hora estimadas de entrega. A mesma data exibida ao cliente na interface do Aplicativo de Pedido.

                • deliveryDateTime (string, opcional)
                  Título: OrderTypeDelivery.deliveryDateTime
                  Descrição: Data de entrega. A data e hora em que a entrega realmente ocorreu.

                  • sendTracking (booleano)
                    Título: Data.sendTracking
                    Descrição: Este campo indica se é necessário que o serviço de software faça uma requisição ao endpoint para informar o Aplicativo de Pedido sobre atualizações de entrega.
                    • true: O Aplicativo de Pedido está aguardando uma requisição.
                    • false ou não informado: Não é necessário fazer a requisição.sendDelivered (booleano)
                      • Título: Data.sendDelivered
                        Descrição: Este campo indica se é necessário que o serviço de software faça uma requisição ao endpoint para indicar ao Aplicativo de Pedido que o pedido foi entregue ao cliente.
                        • true: O Aplicativo de Pedido está aguardando uma requisição.
                        • false ou não informado: Não é necessário fazer a requisição.card (objeto, obrigatório se o tipo escolhido for CARD)
                          • Descrição: Informações para pedidos feitos com cartões de controle.

                            Campos dentro de card:

                            • waiterCode (número, obrigatório)
                              Título: OrderTypeCard.waiterCode
                              Descrição: Identificador do garçom.

                            • cardNumber (número, obrigatório)
                              Título: OrderTypeCard.cardNumber
                              Descrição: Identificador do cartão de controle.

                              • indoor (objeto, obrigatório se o tipo escolhido for INDOOR)
                                Descrição: Informações para pedidos a serem consumidos no local.

                                Campos dentro de indoor:

                                • mode (string, obrigatório)
                                  Título: OrderIndoorMode
                                  Descrição: Identificador de modo interno.
                                  Valores possíveis:

                                  • DEFAULT: Para pedidos feitos no Aplicativo de Pedido e consumidos dentro do estabelecimento, sem localização específica.
                                  • PLACE: Para pedidos feitos no Aplicativo de Pedido e consumidos dentro do estabelecimento em um local específico (mesa ou balcão).
                                  • TAB: Para estabelecimentos que controlam pedidos via tabs ou cartões de controle (pode ser usado em conjunto com o campo place).
                                • indoorDateTime (string, obrigatório)
                                  Título: OrderTypeIndoor.indoorDateTime
                                  Descrição: Data e hora para quando o pedido estará pronto. Pode ser calculado pelo Aplicativo de Pedido com base no tempo médio de preparação dos pratos. O padrão é o mesmo horário da criação do pedido.

                                • place (string, obrigatório se mode for PLACE)
                                  Título: OrderTypeIndoor.place
                                  Descrição: O identificador do local (mesa ou balcão).

                                  • Campos dentro de takeout:

                                    • mode (string, obrigatório)
                                      Título: OrderTakeoutMode
                                      Descrição: Identificador de modo de retirada.
                                      Valores possíveis:
                                      • DEFAULT
                                      • PICKUP_AREA
                                    • takeoutDateTime (string, obrigatório)
                                      Título: OrderTypeTakeout.takeoutDateTime
                                      Descrição: Data e hora para quando o pedido estará pronto. Pode ser calculado pelo Aplicativo de Pedido com base no tempo médio de preparação dos pratos. O padrão é o mesmo horário da criação do pedido.deliveryTableNumber (número, obrigatório)
                                      Título: OrderTypeCard.deliveryTableNumber
                                      Descrição: Identificador da mesa para entrega.takeout (objeto, obrigatório se o tipo escolhido for TAKEOUT)tab (string, obrigatório se mode for TAB)
                                      Título: OrderTypeIndoor.tab
                                      Descrição: Identificador do cartão de controle ou tab.Descrição: Informações para pedidos de retirada.
                              • table (objeto, obrigatório se o tipo escolhido for TABLE)
                                Descrição: Informações para pedidos feitos em mesa.

                                Campos dentro de table:

                                • waiterCode (número, obrigatório)
                                  Título: OrderTypeTable.waiterCode
                                  Descrição: Identificador do garçom.

                                • tableNumber (número, obrigatório)
                                  Título: OrderTypeTable.tableNumber
                                  Descrição: Identificador da mesa.

                                • chairNumber (número, obrigatório)
                                  Título: OrderTypeTable.chairNumber
                                  Descrição: Identificador da cadeira.

                  • extraInfo (string, opcional)
                    Título: Data.extraInfo
                    Descrição: Informações adicionais, se necessário.

...

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": "3fea8768-bbd9-454b-9e7b-40841e9a6812",
	"data": {
		"id": "b1e26dd8-0a1b-486e-bf62-65e80ddce2f4",
		"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": "299f76ba-3ac3-4cc1-abaf-fac5a2510d8c",
	"data": {
		"id": "fa3a2d45-3a29-4136-95e7-692d93db8b2b",
		"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": "merchant",
			"message": "body.data.merchant 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/newOrderS
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-40841e9a6812",
	"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 \"f1b874af-96ab-4535-aac3-25118fe586cc\" not found or disabled"
		}
	]
}
Nota
titleNota: HTTP Status Code = 404 - Not Found
IntegrationHubId incorreto ou inválido
Dica
titleSaiba mais!

Para obter detalhes técnicos sobre o envio de requisições ao endpoint newOrder, incluindo a estrutura do corpo da requisição para itens com valor integral e adicionais  acesse a documentação clicando aqui.

...

Dica
titleSaiba mais!

Para obter detalhes técnicos sobre o envio de requisições ao endpoint newOrder, incluindo a estrutura do corpo da requisição para itens com valor integral, adicionais, descontos e taxa  acesse a documentação clicando aqui.

...


...


...