CONTEÚDO


01. VISÃO GERAL

Este endpoint permite o envio de requisições para a criação de novos pedidos na API Order , especificamente para pedidos realizados em mesa, utilizando a barramento de serviços. A estrutura JSON apresentada ilustra um exemplo de payload para o endpoint newOrder, destinado ao registro de pedidos com itens de valor integral incluindo adicionais no pedido.



02. ENDPOINT


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



03. EXEMPLO DE UTILIZAÇÃO

Estrutura do corpo da requisição para criação de novos pedidos com itens de valor integral e adiconais

{
	"integrationHubServiceId": "5ffec6b8-1c55-4a7d-985f-12d13685b553",
	"data": {
		"id": "f4114e16-c2e4-4dc3-86f3-98a52bfd5d7d",
		"type": "TABLE",
		"displayId": "58",
		"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": "61",
				"index": "60",
				"name": "A FRANCESA",
				"externalCode": "1",
				"unit": "UN",
				"quantity": 1,
				"specialInstructions": "Teste",
				"unitPrice": {
					"value": 69.90,
					"currency": "R$"
				},
				"optionsPrice": {
					"value": 0.0,
					"currency": "R$"
				},
				"totalPrice": {
					"value": 69.90,
					"currency": "R$"
				},
				 "options": [
          {
            "index": "61",
            "id": "61",
            "name": "COMPOSICAO A",
            "externalCode": "201",
            "unit": "UN",
            "quantity": 1,
            "unitPrice": {
              "value": 1.00,
              "currency": "R$"
            },
            "originalPrice": {
              "value": 1.00,
              "currency": "R$"
            },
            "totalPrice": {
              "value": 1.00,
              "currency": "R$"
            },
            "productionPoint": "Teste"
          }
        ]
			}
		],
		"otherFees": [],
		"total": {
			"items": 70.90,
			"otherFees": 0,
			"discount": 0.0,
			"orderAmount": 70.90,
			"additionalFees": 0,
			"deliveryFee": 0
		},
		"payments": {
			"prepaid": 0.0,
			"pending": 0.0,
			"methods": [
				{
					"value": 70.90,
					"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": "57",
			"chairNumber": "1"
		},
		"card": null
	}
}

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

O JSON newOrder é utilizado para o envio dados no endpoint da API Order, para a criação de novos pedidos. Abaixo está uma explicação detalhada de cada campo presente no JSON:


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: "5ffec6b8-1c55-4a7d-985f-12d13685b553"

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

  • id (string, obrigatório)
    Descrição: Identificador único do pedido. Este ID é gerado pelo aplicativo de pedidos.
    Exemplo: "f4114e16-c2e4-4dc3-86f3-98a52bfd5d7d"

  • 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: "TABLE"

  • displayId (string, obrigatório)
    Descrição: ID de exibição do pedido. Pode ser usado para identificar o pedido de forma amigável.
    Exemplo: "58"

  • createdAt (string, obrigatório)
    Descrição: Data e hora de criação do pedido.
    Exemplo: "2024-06-24T17:35:00"

  • orderTiming (string, obrigatório)
    Descrição: Momento em que o pedido foi feito.
    Exemplo: "2024-06-24T17:40:24"

  • preparationStartDateTime (string, obrigatório)
    Descrição: Data e hora de início da preparação do pedido.
    Exemplo: "2024-06-24T18:00:00"

  • merchant (objeto, obrigatório)
    Descrição: Informações sobre o comerciante.

    • id (string, obrigatório)
      Descrição: Identificador único do comerciante.
      Exemplo: "c312d2ff-1a8f-40ad-8eed-9ae9a908df6e"

    • name (string, obrigatório)
      Descrição: Nome do comerciante.
      Exemplo: "BOTECO DO ALBINO"

  • items (array de objetos, obrigatório)
    Descrição: Lista de itens incluídos no pedido.

    • id (string, obrigatório)
      Descrição: Identificador único do item no pedido.
      Exemplo: "61"

    • index (string, obrigatório)
      Descrição: Índice do item na lista de itens do pedido.
      Exemplo: "60"

    • name (string, obrigatório)
      Descrição: Nome do item.
      Exemplo: "A FRANCESA"

    • externalCode (string, obrigatório)
      Descrição: Código externo do item, utilizado para integração com sistemas externos.
      Exemplo: "1"

    • unit (string, obrigatório)
      Descrição: Unidade de medida do item.
      Exemplo: "UN"

    • quantity (number, obrigatório)
      Descrição: Quantidade do item solicitada no pedido.
      Exemplo: 1

    • specialInstructions (string, opcional)
      Descrição: Instruções especiais para a preparação do item.
      Exemplo: "Teste"

    • unitPrice (objeto, obrigatório)
      Descrição: Preço unitário do item.

      • value (number, obrigatório)
        Descrição: Valor do preço unitário.
        Exemplo: 69.90

      • currency (string, obrigatório)
        Descrição: Moeda do preço unitário.
        Exemplo: "R$"

    • optionsPrice (objeto, opcional)
      Descrição: Preço das opções adicionais do item.

      • value (number, obrigatório)
        Descrição: Valor das opções adicionais.
        Exemplo: 0.0

      • currency (string, obrigatório)
        Descrição: Moeda das opções adicionais.
        Exemplo: "R$"

    • totalPrice (objeto, obrigatório)
      Descrição: Preço total do item, incluindo as opções adicionais.

      • value (number, obrigatório)
        Descrição: Valor total do item.
        Exemplo: 69.90

      • currency (string, obrigatório)
        Descrição: Moeda do valor total.
        Exemplo: "R$"

    • options (array de objetos, opcional)
      Descrição: Lista de opções adicionais para o item.

      • index (string, obrigatório)
        Descrição: Índice da opção na lista de opções do item.
        Exemplo: "61"

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

      • name (string, obrigatório)
        Descrição: Nome da opção.
        Exemplo: "COMPOSICAO A"

      • externalCode (string, obrigatório)
        Descrição: Código externo da opção, utilizado para integração com sistemas externos.
        Exemplo: "201"

      • unit (string, obrigatório)
        Descrição: Unidade de medida da opção.
        Exemplo: "UN"

      • quantity (number, obrigatório)
        Descrição: Quantidade da opção solicitada.
        Exemplo: 1

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

        • value (number, obrigatório)
          Descrição: Valor do preço unitário da opção.
          Exemplo: 1.00

        • currency (string, obrigatório)
          Descrição: Moeda do preço unitário da opção.
          Exemplo: "R$"

      • originalPrice (objeto, opcional)
        Descrição: Preço original da opção antes de descontos ou promoções.

        • value (number, obrigatório)
          Descrição: Valor original da opção.
          Exemplo: 1.00

        • currency (string, obrigatório)
          Descrição: Moeda do valor original.
          Exemplo: "R$"

      • totalPrice (objeto, obrigatório)
        Descrição: Preço total da opção.

        • value (number, obrigatório)
          Descrição: Valor total da opção.
          Exemplo: 1.00

        • currency (string, obrigatório)
          Descrição: Moeda do valor total.
          Exemplo: "R$"

      • productionPoint (string, opcional)
        Descrição: Ponto de produção onde a opção será preparada.
        Exemplo: "Teste"

  • otherFees (array de objetos, opcional)
    Descrição: Lista de outras taxas aplicáveis ao pedido.

  • total (objeto, obrigatório)
    Descrição: Total do pedido, incluindo valores de itens, taxas e descontos.

    • items (number, obrigatório)
      Descrição: Valor total dos itens do pedido.
      Exemplo: 70.90

    • otherFees (number, obrigatório)
      Descrição: Valor total de outras taxas aplicáveis ao pedido.
      Exemplo: 0

    • discount (number, obrigatório)
      Descrição: Valor total dos descontos aplicáveis ao pedido.
      Exemplo: 0.0

    • orderAmount (number, obrigatório)
      Descrição: Valor total do pedido, incluindo itens, taxas e descontos.
      Exemplo: 70.90

    • additionalFees (number, opcional)
      Descrição: Valor de taxas adicionais aplicáveis ao pedido.
      Exemplo: 0

    • deliveryFee (number, obrigatório)
      Descrição: Valor da taxa de entrega do pedido.
      Exemplo: 0

  • payments (objeto, obrigatório)
    Descrição: Informações sobre os pagamentos do pedido.

    • prepaid (number, obrigatório)
      Descrição: Valor pré-pago do pedido.
      Exemplo: 0.0

    • pending (number, obrigatório)
      Descrição: Valor pendente do pedido.
      Exemplo: 0.0

    • methods (array de objetos, obrigatório)
      Descrição: Métodos de pagamento utilizados no pedido.

      • value (number, obrigatório)
        Descrição: Valor pago utilizando este método.
        Exemplo: 70.90

      • currency (string, obrigatório)
        Descrição: Moeda utilizada no pagamento.
        Exemplo: "BRL"

      • type (string, obrigatório)
        Descrição: Tipo de pagamento.
        Valores possíveis: "PREPAID", "PENDING"
        Exemplo: "PREPAID"

      • method (string, obrigatório)
        Descrição: Método de pagamento utilizado.
        Exemplo: "credit"

      • methodInfo (string, opcional)
        Descrição: Informações adicionais sobre o método de pagamento.
        Exemplo: "Visa"

      • changeFor (number, opcional)
        Descrição: Valor do troco solicitado, caso o pagamento seja em dinheiro.
        Exemplo: 0.0

  • delivery (objeto, opcional)
    Descrição: Informações sobre a entrega do pedido. Pode ser nulo se não aplicável.

  • extraInfo (string, opcional)
    Descrição: Informações adicionais sobre o pedido.
    Exemplo: "Teste"

  • schedule (objeto, opcional)
    Descrição: Informações sobre o agendamento do pedido. Pode ser nulo se não aplicável.

  • indoor (objeto, opcional)
    Descrição: Informações sobre consumo interno. Pode ser nulo se não aplicável.

  • takeout (objeto, opcional)
    Descrição: Informações sobre retirada do pedido. Pode ser nulo se não aplicável.

  • table (objeto, opcional)
    Descrição: Informações sobre a mesa onde o pedido foi realizado.

    • waiterCode (string, obrigatório)
      Descrição: Código do garçom que atendeu o pedido.
      Exemplo: "9999"

    • tableNumber (string, obrigatório)
      Descrição: Número da mesa onde o pedido foi realizado.
      Exemplo: "57"

    • chairNumber (string, obrigatório)
      Descrição: Número da cadeira onde o cliente estava sentado.
      Exemplo: "1"

  • card (objeto, opcional)
    Descrição: Informações sobre pagamento com cartão. Pode ser nulo se não aplicável.





04. ERROS

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