CONTEÚDO


01. VISÃO GERAL

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



02. ENDPOINT


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



03. EXEMPLO DE UTILIZAÇÃO

01. Corpo da requisição de envio de novo pedidos inteiro:

{
   "integrationHubServiceId":"933aadb4-c33b-40b8-8285-bf1e575d8b38",
   "data":{
      "id":"9ec389e5-7582-4768-875b-ee7c309aa34f",
      "type":"TABLE",
      "displayId":"29",
      "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":"3973594021",
            "index":"21",
            "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.00,
         "otherFees":0,
         "discount":0.00,
         "orderAmount":61.00,
         "additionalFees":0,
         "deliveryFee":0
      },
      "payments":{
         "prepaid":0.0,
         "pending":0.0,
         "methods":[
            {
               "value":61.00,
               "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":"29",
         "chairNumber":"1"
      },
      "card":null
   }
}

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




02. Corpo da requisição para envio de vários itens no mesmo pedido:

{
	"integrationHubServiceId": "ff932717-fab5-4636-a294-a2035f774445",
	"data": {
		"id": "c5f0f7d9-88fa-471d-904d-d8920ac866e7",
		"type": "TABLE",
		"displayId": "4",
		"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": "5",
				"index": "5",
				"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$"
				}
			},
			{
				"id": "6",
				"index": "6",
				"name": "BRIGADEIRO TRADICIONAL CX",
				"externalCode": "7",
				"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": "4",
			"chairNumber": "1"
		},
		"card": null
	}
}

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



02. Corpo da requisição de envio de novo pedidos fracionando:

{
   "integrationHubServiceId":"a13ea12d-1ffc-4f4c-a3e8-a384fe0e9e05",
   "data":{
      "id":"f853a079-d0cb-4612-847f-430460485c02",
      "type":"TABLE",
      "displayId":"29",
      "createdAt":"2024-06-24T17:35:00",
      "orderTiming":"2024-06-24T17:40:24",
      "preparationStartDateTime":"2024-06-24T18:00:00",
      "merchant":{
         "id":"3d0cbd44-a6c4-469c-8ab3-c83700672ee1",
         "name":"BOTECO DO ALBINO"
      },
      "items":[
         {
            "id":"3973594022",
            "index":"22",
            "name":"MARACUJA",
            "externalCode":"58",
            "unit":"UN",
            "quantity":0.5,
            "specialInstructions":"Teste",
            "unitPrice":{
               "value":61.00,
               "currency":"R$"
            },
            "optionsPrice":{
               "value":0.0,
               "currency":"R$"
            },
            "totalPrice":{
               "value":30.50,
               "currency":"R$"
            },
            "otherFees":[]
         }
      ],
      "total":{
         "items":30.50,
         "otherFees":0,
         "discount":0.00,
         "orderAmount":20.50,
         "additionalFees":0,
         "deliveryFee":0
      },
      "payments":{
         "prepaid":0.0,
         "pending":0.0,
         "methods":[
            {
               "value":30.50,
               "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":"29",
         "chairNumber":"1"
      },
      "card":null
   }
}

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



03. Corpo da requisição de envio de novo pedidos com desconto sobre o item:

{
  "integrationHubServiceId":"4c9952fd-90d6-46f1-afd2-381c21e73cfc",
  "data":{
     "id":"4c9952fd-90d6-46f1-afd2-381c21e73cfc",
     "type":"TABLE",
     "displayId":"9",
     "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":"9",
           "index":"9",
           "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":[],
     "discounts":[
        {
           "value":10.0,
           "target":"ITEM",
           "targetId":"9",
           "sponsorshipValues":[
              {
                 "name":"MARKETPLACE",
                 "value":0.0
              }
           ]
        }
     ],
     "total":{
        "items":61.00,
        "otherFees":0,
        "discount":10.0,
        "orderAmount":51.00,
        "additionalFees":0,
        "deliveryFee":0
     },
     "payments":{
        "prepaid":0.0,
        "pending":0.0,
        "methods":[
           {
              "value":51.00,
              "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":"9",
        "chairNumber":"1"
     },
     "card":null
  }
}




04. Corpo do envio de pedido com descontro no item, fracionando:

{
	"integrationHubServiceId": "72ec722e-b643-4076-b1cd-ef388901ba66",
	"data": {
		"id": "57e20fc5-bea5-4372-9bfc-126e1961d99b",
		"type": "TABLE",
		"displayId": "9",
		"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": "10",
				"index": "10",
				"name": "MARACUJA",
				"externalCode": "58",
				"unit": "UN",
				"quantity": 0.5,
				"specialInstructions": "Teste",
				"unitPrice": {
					"value": 61.00,
					"currency": "R$"
				},
				"optionsPrice": {
					"value": 0.0,
					"currency": "R$"
				},
				"totalPrice": {
					"value": 30.50,
					"currency": "R$"
				}
			}
		],
		"otherFees": [],
		"discounts": [
			{
				"value": 10.0,
				"target": "ITEM",
				"targetId": "10",
				"sponsorshipValues": [
					{
						"name": "MARKETPLACE",
						"value": 0.0
					}
				]
			}
		],
		"total": {
			"items": 30.50,
			"otherFees": 0,
			"discount": 10.0,
			"orderAmount": 20.50,
			"additionalFees": 0,
			"deliveryFee": 0
		},
		"payments": {
			"prepaid": 0.0,
			"pending": 0.0,
			"methods": [
				{
					"value": 20.50,
					"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": "10",
			"chairNumber": "1"
		},
		"card": null
	}
}



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

Neste exemplo, os dados retornados incluem:

  • success: Indica se a operação foi bem-sucedida.
  • error: Contém informações sobre erros, se houver.
  • integrationHubServiceId: O identificador do serviço de integração.
  • orderKeyType: O tipo da chave do pedido (neste caso, "TABLE").
  • orderKey: A chave do pedido, que pode ser uma lista de identificadores.
  • lastestUpdatedStatus: A data e hora da última atualização do status do pedido.
  • items: Uma lista de itens relacionados ao pedido, onde cada item inclui:
    • id: O identificador do item.
    • status: O status atual do item, incluindo um código e uma descrição.
    • deliveryAgent: Informações sobre o agente de entrega, se aplicável.
    • deliveryDateTime: Data e hora de entrega, se aplicável.
    • cancellationReason: Motivo do cancelamento, se aplicável.
    • tableCardNumber: O número da mesa associada ao pedido.

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

orderKey: é o código do pedido



04. ERROS

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


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.

{
    "integrationHubServiceId": "393d9572-2ec9-4cda-9ad3-5b69e02c988d",
	  "orderKeyType": "string",
	   "orderKey": ["string"]
}
{
	"errors": [
		{
			"key": "orderKeyType",
			"message": "body.orderKeyType must be one of [ORDER_ID, TABLE, CARD]"
		}
	]
}



02. JSON enviando faltando um ou mais campos.

{
    "integrationHubServiceId": "a5c4e135-aacd-49c1-b051-160a78a83b56"
}
{
	"errors": [
		{
			"key": "orderKeyType",
			"message": "body.orderKeyType is required"
		},
		{
			"key": "orderKey",
			"message": "body.orderKey is required"
		}
	]
}



03. GUID incorreto 

{
    "integrationHubServiceId": "9a1cf326-c962-456f-8c49-c1bb2f340fc6A",
	  "orderKeyType": "TABLE",
	  "orderKey": []
}
{
	"errors": [
		{
			"key": "integrationHubServiceId",
			"message": "body.integrationHubServiceId must be a valid GUID"
		}
	]
}




04. Enviando uma requisição sem informar o código da orderKey corretamente

{
    "integrationHubServiceId": "808c143d-d6d4-4b95-8c37-efa3a934f222",
	  "orderKeyType": "TABLE",
	  "orderKey": [""]
}
{
	"errors": [
		{
			"key": 0,
			"message": "body.orderKey[0] is not allowed to be empty"
		}
	]
}

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.


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


https://api-barramento.meuelevestage.com/order/getStatuS
{
	"message": "Missing Authentication Token"
}

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.


{
    "integrationHubServiceId": "f1b874af-96ab-4535-aac3-25118fe586cc",
	  "orderKeyType": "TABLE",
	  "orderKey": ["5"]
}
{
	"errors": [
		{
			"key": "integrationHubServiceId",
			"message": "Provider Merchant for integrationHubServiceId \"f1b874af-96ab-4535-aac3-25118fe586cc\" not found or disabled"
		}
	]
}

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. 


{
    "integrationHubServiceId": "8f7949c3-cdd6-4db0-8746-369e651026b4",
	  "orderKeyType": "TABLE",
	  "orderKey": []
}
{
	"message": "NOT_FOUND",
	"code": 412
}

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.




O código de status HTTP 429, conhecido como "Too Many Requests" (Muitas Requisições), indica que o cliente excedeu o limite de requisições permitido para um determinado período de tempo. Esse limite é definido pelo servidor e pode variar de acordo com a política de limitação de taxa implementada.


{
    "integrationHubServiceId": "7d7d205b-83ba-47c5-91ba-e4f32a2bbd9e",
	  "orderKeyType": "TABLE",
		"orderKey": ["5"]
}
{
	"success": true,
	"error": null,
	"integrationHubServiceId": "7d7d205b-83ba-47c5-91ba-e4f32a2bbd9e",
	"orderKeyType": "TABLE",
	"orderKey": [
		"5"
	],
	"lastestUpdatedStatus": "2024-07-02 18:54:28",
	"items": [
		{
			"id": "de9fd388-c223-4325-a64d-08889250f839",
			"status": {
				"code": 504,
				"description": "OPEN_TABLE"
			},
			"deliveryAgent": null,
			"deliveryDateTime": null,
			"cancellationReason": null,
			"tableCardNumber": "5"
		}
	]
}

Alguma regra para atender ao seu pedido não foi cumprida; analise o corpo da resposta para descobrir as razões.


05. LINKS


NÃO MEXE API Order Mesa - New Order
API Order Mesa - Status
API Order Mesa - Get Consumption
API Order Mesa - Consumption
API Order Mesa - Payment
API Order Mesa - Payment Result
API Order Mesa - Get Cancelled Items
API Order Mesa - Cancelled Items