Páginas filhas
  • API Order Mesa - Get Status

Versões comparadas

Chave

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

CONTEÚDO

  • Visão Geral
  • Endpoint
  • Exemplo de Utilização
  • Erros
    • Links

    01. VISÃO GERAL


    01. VISÃO GERAL
    Âncora
    ver_geral
    ver_geral

    Este endpoint é utilizado para obter Esse endpoint possibilita retorno dos status dos pedidos.
    Este endpoint é utilizado para obter informações detalhadas sobre os pedidos, fornecendo um retorno em formato JSON com diversos atributos relevantes. Ao enviar um pedido uma solicitação no formato especificado, como nos exemplos abaixo. O , o endpoint processa a solicitação requisição e retorna um conjunto de dados que inclui o status mais recente do pedido, a identificação do serviço, a chave do pedido e detalhes específicos de cada item relacionado ao pedido.


    ...

    02. ENDPOINT
    Âncora
    endpoint
    endpoint


    MétodoURLAmbiente
    POSThttps://api-barramento.meuelevestage.com/order/getStatus

    ...

    Homologação
    POSThttps://api-barramento.meueleve.com.br/order/getStatusProdução


    ...

    03. EXEMPLO DE UTILIZAÇÃO

    01. Retornar todos os estados dos pedidos: VERIFICAR COM O KENNEDY

    Âncora
    utilizar
    utilizar

    3.1 - Request - Obter detalhes de um pedido específico:

    Essa requisição é utilizada para buscar informações detalhadas sobre um pedido específico:

    Âncora
    detalhes_pedido_especifico
    detalhes_pedido_especifico

    Bloco de código
    titleJSON Para retornar o status de um pedido específico
    linenumbers
    Bloco de código
    titleJSON Para retornar todos os pedidos
    linenumberstrue
    {
      "integrationHubServiceId": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
      "orderKeyType": "TABLE",
      "orderKey": ["40"]
    }

    02. Obter detalhes de um pedido específico:

    Bloco de código
    titleJSON Para envio de um pedido específico
    linenumberstrue
    {
      "integrationHubServiceId": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
      "orderKeyType": "TABLE",
      "orderKey": ["40"]
    }
    Nota
    titleNota: HTTP Status Code = 202 Accepted

    A solicitação foi aceita, mas ainda não foi processada. É necessário aguardar alguns momentos e, em seguida, entrar em contato no mesmo endereço para obter o status do pedido solicitado.

    Nota
    titleNota: HTTP Status Code = 202 Accepted

    A solicitação foi aceita, mas ainda não foi processada. É necessário aguardar alguns momentos e, em seguida, entrar em contato no mesmo endereço para obter o status do pedido solicitado.


    ...


    3.2 - Request - Ao reenviar a solicitação, a resposta será a seguinte:

    Ao reenviar a requisição, você receberá uma resposta contendo o status atualizado e os detalhes do pedido.

    Bloco de código
    titleJSON de
    Bloco de código
    titleJSON de resposta do retorno de um pedido específico HTTP Status Code = 208
    linenumberstrue
    {
    	"errors": [
    		{
    			"key": "orderKeyType_orderKey",
    			"message": "Order status request already exists: TABLE_40"
    		}
    	]
    }  
     
    Nota
    titleNota: HTTP Status Code = 208 Already Reported

    A solicitação já foi enviada. É necessário aguardar alguns momentos e, em seguida, entrar em contato no mesmo endereço para obter o status do pedido solicitado.


    ...


    3.3 - Request - Reenvio da solicitação, resposta de processamento:

    Reenviando a solicitação, o sistema processará o pedido e fornecerá a resposta com o status do processamento. 03. Retorno detalhado de um pedido específico. Fornece todas as informações relevantes sobre um pedido.

    Bloco de código
    titleJSON de resposta do retorno de um pedido
    linenumberstrue
    {
    	"success": true,
    	"error": null,
    	"integrationHubServiceId": "1853f0ab-faf7-47d6-a193-610b20807143",
    	"orderKeyType": "TABLE",
    	"orderKey": [
    		"1940"
    	],
    	"lastestUpdatedStatus": "2024-06-28 09:04:06",
    	"items": [
    		{
    			"id": "50425147-5d06-4b87-a05b-4586f2dccc71",
    			"status": {
    				"code": 505,
    				"description": "TABLE_IN_USE"
    			},
    			"deliveryAgent": null,
    			"deliveryDateTime": null,
    			"cancellationReason": null,
    			"tableCardNumber": "1940"
    		}
    	]
    }
    Nota
    titleNota: HTTP Status Code = 226 IM Used

    A solicitação foi processada com sucesso e o resultado foi retornado conforme esperado.


    ...


    043.4 - Request - Retornar o status de múltiplos pedidos:

    Essa requisição é utilizada para obter o status atualizado de diversos pedidos simultaneamente. O sistema retornará as informações detalhadas de cada pedido

    Âncora
    multiplos
    multiplos

    Bloco de código
    title
    Bloco de código
    titleJSON Para retornar múltiplos pedidos
    linenumberstrue
    {
      "integrationHubServiceId": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
      "orderKeyType": "TABLE",
      "orderKey": ["40", "20"]
    }

    05. JSON de resposta de múltiplos pedidos

    Bloco de códigonote
    titleJSON Para retornar múltiplos pedidosNota: HTTP Status Code = 202 Accepted

    A solicitação foi aceita, mas ainda não foi processada. É necessário aguardar alguns momentos e, em seguida, entrar em contato no mesmo endereço para obter o status do pedido solicitado.


    ...


    3.5 - Request - Ao reenviar a solicitação, a resposta será a seguinte:

    Ao reenviar a requisição, receberá uma resposta contendo o status atualizado e os detalhes dos pedidos.

    Bloco de código
    titleJSON de resposta do retorno de um pedido específico HTTP Status Code = 208
    linenumberstrue
    {
    	"errors{
    	"success": true,
    	"error": null,
    	"integrationHubServiceId": "647469f8-b31b-4fae-ba33-99e04def555b",
    	"orderKeyType": "TABLE",
    	"orderKey": [
    		"18",{
    			"19"
    	],
    	"lastestUpdatedStatus"key": "orderKeyType_orderKey",
    			"message": "Order status request already exists: TABLE_40, 20"
    		}
    	]
    }  
     
    Nota
    titleNota: HTTP Status Code = 208 Already Reported

    A solicitação já foi enviada. É necessário aguardar alguns momentos e, em seguida, entrar em contato no mesmo endereço para obter o status do pedido solicitado.


    ...


    3.6 - Request - Reenvio da solicitação, resposta de processamento:

    Reenviando a solicitação, o sistema processará o pedido e fornecerá a resposta com o status do processamento. 

    Bloco de código
    titleJSON de retorno de múltiplos pedidos
    linenumberstrue
    {
    	"success": true,
    	"error2024-06-28 09:13:46",
    	"items": [
    		{
    			"id": "8c3752a1-ae15-42a1-bafb-189ca95f0211",
    			"status": {
    				"code": 505,
    				"description": "TABLE_IN_USE"
    			},
    			"deliveryAgent": null,
    			"deliveryDateTime": null,
    			"cancellationReason": null,
    			"tableCardNumberintegrationHubServiceId": "18"
    		},
    		{
    			"id647469f8-b31b-4fae-ba33-99e04def555b",
    	"orderKeyType": "5ebf990f-9075-462c-b675-a8c57a350d61TABLE",
    			"statusorderKey": {[
    				"code40": 504,
    		"20"
    	],
    	"descriptionlastestUpdatedStatus": "OPEN_TABLE"
    			},2024-06-28 09:13:46",
    	"items": [
    		{
    			"deliveryAgentid": null"8c3752a1-ae15-42a1-bafb-189ca95f0211",
    			"deliveryDateTimestatus": null,{
    				"cancellationReasoncode": null505,
    				"tableCardNumberdescription": "19TABLE_IN_USE"
    			},
    	]
    }
    Informações
    titleNota:

    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.
    Informações
    titleInformação:

    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:

    • HTTP Status Code - 400 - Bad Request — Solicitação Inválida

    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": "393d9572-2ec9-4cda-9ad3-5b69e02c988d",
    	  "orderKeyType": "string",
    		"orderKey": ["string"]
    }
    Bloco de código
    titleJSON Resposta
    {
    	"errors": [
    		{
    			"key": "orderKeyType",
    			"message": "body.orderKeyType must be one of [ORDER_ID, TABLE, CARD]"
    		}
    	]
    }

    02. JSON enviando faltando um ou mais campos.

    Bloco de código
    titleJSON Inválido
    linenumberstrue
    {
        "integrationHubServiceId": "a5c4e135-aacd-49c1-b051-160a78a83b56"
    }
    Bloco de código
    titleJSON Resposta
    {
    	"errors": [
    		{
    			"key": "orderKeyType",
    			"message": "body.orderKeyType is required"
    		},
    		{
    			"key": "orderKey",
    			"message": "body.orderKey is required"
    		}
    	]
    }

    ...

    			"deliveryAgent": null,
    			"deliveryDateTime": null,
    			"cancellationReason": null,
    			"tableCardNumber": "18"
    		},
    		{
    			"id": "5ebf990f-9075-462c-b675-a8c57a350d61",
    			"status": {
    				"code": 504,
    				"description": "OPEN_TABLE"
    			},
    			"deliveryAgent": null,
    			"deliveryDateTime": null,
    			"cancellationReason": null,
    			"tableCardNumber": "19"
    		}
    	]
    }
    Nota
    titleNota: HTTP Status Code = 226 IM Used

    A solicitação foi processada com sucesso e o resultado foi retornado conforme esperado.


    ...


    3.7 - Request - Retornar o status de múltiplos pedidos:

    Essa requisição é utilizada para obter o status atualizado de diversos pedidos simultaneamente. O sistema retornará as informações detalhadas de cada pedido.

    Âncora
    todos_status
    todos_status

    Bloco de código
    titleJSON Para retornar o status de todos os pedidos
    linenumberstrue
    {
      "integrationHubServiceId": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
      "orderKeyType": "TABLE",
      "orderKey": []
    }
    Nota
    titleNota: HTTP Status Code = 202 Accepted

    A solicitação foi aceita, mas ainda não foi processada. É necessário aguardar alguns momentos e, em seguida, entrar em contato no mesmo endereço para obter o status do pedido solicitado.


    ...


    3.8 - Request - Ao reenviar a solicitação, a resposta será a seguinte:

    Ao reenviar a requisição, receberá uma resposta contendo o status atualizado e os detalhes dos pedidos.

    Bloco de código
    titleJSON de resposta do retorno de um pedido específico HTTP Status Code = 208
    linenumberstrue
    {
    	"errors": [
    		{
    			"key": "orderKeyType_orderKey",
    			"message": "Order status request already exists: TABLE_"
    		}
    	]
    }  
     
    Nota
    titleNota: HTTP Status Code = 208 Already Reported

    A solicitação já foi enviada. É necessário aguardar alguns momentos e, em seguida, entrar em contato no mesmo endereço para obter o status do pedido solicitado.


    ...


    3.9 - Request - Ao reenviar a solicitação, a resposta será a seguinte:

    Ao reenviar a requisição, receberá uma resposta contendo o status atualizado e os detalhes dos pedidos.

    Bloco de código
    titleResposta do JSON da requisição
    linenumberstrue
    {
    	"success": true,
    	"error": null,
    	"integrationHubServiceId": "ab3e5b94-3a02-423a-8500-bbb5292fb13a",
    	"orderKeyType": "TABLE",
    	"orderKey": [],
    	"lastestUpdatedStatus": "2024-09-24 17:35:52",
    	"items": [
    		{
    			"id": "f217d261-126c-456a-86d5-d92eda8fbd1a",
    			"status": {
    				"code": 504,
    				"description": "OPEN_TABLE"
    			},
    			"deliveryAgent": null,
    			"deliveryDateTime": null,
    			"cancellationReason": null,
    			"tableCardNumber": "204"
    		},
    		{
    			"id": "1730ccab-ba9e-4b0b-b7f2-ad2652659d0a",
    			"status": {
    				"code": 504,
    				"description": "OPEN_TABLE"
    			},
    			"deliveryAgent": null,
    			"deliveryDateTime": null,
    			"cancellationReason": null,
    			"tableCardNumber": "500"
    		},
    		{
    			"id": "dbd9bc55-6c26-4160-bee3-e74822d8b81b",
    			"status": {
    				"code": 504,
    				"description": "OPEN_TABLE"
    			},
    			"deliveryAgent": null,
    			"deliveryDateTime": null,
    			"cancellationReason": null,
    			"tableCardNumber": "503"
    		}
    	]
    }
    Nota
    titleNota: HTTP Status Code = 226 IM Used

    A solicitação foi processada com sucesso e o resultado foi retornado conforme esperado.


    ...


    Dicionário de Requisição


    Essa requisição permite consultar o status atualizado de um pedido, retornando informações detalhadas sobre cada item associado ao pedido e possíveis erros ocorridos durante o processo. A integração é identificada de forma única através da integrationHubServiceId


    • Detalhamento dos campos da requisição:
    CampoValorDescrição
    integrationHubServiceId *stringChave de identificação da integração no hub
    orderKeyTypeenum Tipo de chave do pedido, que pode ser mesa, cartão ou ID do pedido
    orderKeystringIdentificador do pedido, de acordo com o tipo definido em orderKeyType


    • Enumerações do campo orderKeyType:
    EnumValorDescrição
    TABLETABLEIdentifica o pedido pelo número da mesa
    CARDCARDIdentifica o pedido pelo número do cartão
    ORDER_IDORDER_IDIdentifica o pedido por um ID exclusivo do pedido
    Dica
    titleCampos obrigatórios

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


    ...

    04. ERROS
    Âncora
    erros
    erros

    Quando a requisição for reenviada, o sistema processará a solicitação e retornará uma resposta com o status atualizado, juntamente com os detalhes de cada pedido solicitado. Isso garante que qualquer modificação ou atualização recente seja refletida na resposta.
    A seguir, alguns dos erros comuns que podem ser apresentados ao lidar com requisições HTTP e suas respectivas respostas:

    • HTTP Status Code - 400 - Bad Request
      Âncora
      status_code_400
      status_code_400

    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.

    4.1 - Formato inválido do JSON esperado:

    A requisição foi enviada com um JSON malformado ou inválido, o que impede o sistema de interpretá-la corretamente. Isso ocorre quando a estrutura JSON contém erros de sintaxe, como chaves ou colchetes incorretos.

    Bloco de código
    titleJSON Inválido
    linenumberstrue
    {
        "integrationHubServiceId": "393d9572-2ec9-4cda-9ad3-5b69e02c988d",
    	  "orderKeyType": "string",
    	   "orderKey": ["string"]
    }
    Bloco de código
    titleJSON Resposta
    linenumberstrue
    {
    	"errors": [
    		{
    			"key": "orderKeyType",
    			"message": "body.orderKeyType must be one of [ORDER_ID, TABLE, CARD]"
    		}
    	]
    }


    ...


    4.2 - JSON enviado com a ausência de um ou mais campos obrigatórios:

    Se a requisição estiver faltando um ou mais campos obrigatórios, o servidor responderá com um erro 400. Cada campo requerido deve estar presente para que a operação seja processada corretamente.

    Bloco de código
    titleJSON Inválido
    linenumberstrue
    {
        "integrationHubServiceId": "a5c4e135-aacd-49c1-b051-160a78a83b56"
    }
    Bloco de código
    titleJSON Resposta
    linenumberstrue
    {
    	"errors": [
    		{
    			"key": "orderKeyType",
    			"message": "body.orderKeyType is required"
    		},
    		{
    			"key": "orderKey",
    			"message": "body.orderKey is required"
    		}
    	]
    }


    ...


    4.3 - GUID incorreto:

    O GUID (Identificador Globalmente Único) enviado na requisição está incorreto ou malformado, o que pode resultar em um erro. Um GUID é uma sequência específica que deve seguir o padrão correto.

    Bloco de código
    titleJSON com o GUID inválido
    linenumberstrue
    {
        "integrationHubServiceId": "9a1cf326-c962-456f-8c49-c1bb2f340fc6A",
    	  "orderKeyType": "TABLE",
    	  "orderKey": []
    }
    Bloco de código
    titleJSON Inválido GUID incorreto
    linenumberstrue
    {
    	"errors": [
    		{
    			"key": "integrationHubServiceId",
    			"message": "body.integrationHubServiceId must be a valid GUID"
    		}
    	]
    }


    ...


    4.4 - Requisição enviada sem informar o orderKey corretamente:

    Caso a requisição seja enviada sem o campo orderKey ou com o valor incorreto, o sistema não conseguirá identificar o pedido, resultando em um erro 400. O orderKey deve estar corretamente preenchido e de acordo com o orderKeyType informado.04. Enviando uma requisição sem informar o código da orderKey corretamente

    Bloco de código
    titleJSON com sem informar o código da orderKey
    linenumberstrue
    {
        "integrationHubServiceId": "808c143d-d6d4-4b95-8c37-efa3a934f222",
    	  "orderKeyType": "TABLE",
    		  "orderKey": [""]
    }
    Bloco de código
    titleJSON Response
    linenumberstrue
    {
    	"errors": [
    		{
    			"key": 0,
    			"message": "body.orderKey[0] is not allowed to be empty"
    		}
    	]
    }
    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.


    ...

    • HTTP Status Code 401 - Unauthorized — Não autorizado HTTP Status Code 401 - Unauthorized
      Âncora
      status_code_401
      status_code_401
       

    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.

    ...

    • HTTP Status Code 403 - Forbidden
      Âncora
      status_code_403
      status_code_403

    O código de status HTTP 403, conhecido como "Forbidden" (Proibido), indica que o servidor não entendeu a requisição do cliente , mas está se recusando a cumpri-la. Isso geralmente ocorre quando o cliente não possui permissões adequadas para acessar o recurso solicitado, mesmo que as credenciais de autenticação tenham sido fornecidas corretamente.por está tentando acessar uma URL incorreta


    Bloco de código
    titleURL enviada incorreda
    https://api-barramento.meuelevestage.com/order/getStatuS
    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 incluiu um token de autenticação válido no cabeçalho da requisiçãoenviou uma requisição para a URL  incorreta.


    ...

    • HTTP Status Code 404 - Not Found
      Âncora
      status_code_404
      status_code_404

    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 URL fornecido integrationHubId  está incorreto , o recurso foi removido permanentemente ou não está disponível no momento da requisiçãoou inválido.


    Bloco de código
    titleIntegration Hub Code Inválido
    linenumberstrue
    {
        "integrationHubServiceId": "f1b874af-96ab-4535-aac3-25118fe586cc",
    	  "orderKeyType": "TABLE",
    		  "orderKey": ["5"]
    }
    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

    Uma ou mais informações enviadas não puderam ser encontradas.IntegrationHubId incorreto ou inválido


    ...

    • HTTP Status Code 412 - Precondition Failed
      Âncora
      status_code_412
      status_code_412

    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
    }

    ...

    • HTTP Status Code 429 - Too Many Requests
      Âncora
      status_code_429
      status_code_429

    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.

    ...

    Bloco de código
    titleResposta da última execução
    linenumberstrue
    {
    	"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"
    		}
    	]
    }
    Nota
    titleNota: HTTP Status Code = 429 - Too Many Requests

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

    ...




    Templatedocumentos