CONTEÚDO
- Visão Geral
- Endpoint
- Exemplo de Utilização
- Retornar todos os estados dos pedidos
- Retornar um pedido específico
- Erros
- Links
01. VISÃO GERAL
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 no formato especificado, como nos exemplos abaixo. O endpoint processa a solicitaçã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
Método | URL |
---|
POST | https://api-barramento.meuelevestage.com/order/getStatus |
03. EXEMPLO DE UTILIZAÇÃO
01. Retornar todos os estados dos pedidos: VERIFICAR COM O KENNEDY
{
"integrationHubServiceId": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
"orderKeyType": "TABLE",
"orderKey": []
} |
02. Obter detalhes de um pedido específico:
{
"integrationHubServiceId": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
"orderKeyType": "TABLE",
"orderKey": ["40"]
} |
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. |
{
"errors": [
{
"key": "orderKeyType_orderKey",
"message": "Order status request already exists: TABLE_40"
}
]
}
|
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. |
03. Retorno detalhado de um pedido específico. Fornece todas as informações relevantes sobre um pedido.
{
"success": true,
"error": null,
"integrationHubServiceId": "1853f0ab-faf7-47d6-a193-610b20807143",
"orderKeyType": "TABLE",
"orderKey": [
"19"
],
"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": "19"
}
]
} |
A solicitação foi processada com sucesso e o resultado foi retornado conforme esperado. |
04. Retornar múltiplos pedidos:
{
"integrationHubServiceId": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
"orderKeyType": "TABLE",
"orderKey": ["40", "20"]
} |
05. JSON de resposta de múltiplos pedidos
{
"success": true,
"error": null,
"integrationHubServiceId": "647469f8-b31b-4fae-ba33-99e04def555b",
"orderKeyType": "TABLE",
"orderKey": [
"18",
"19"
],
"lastestUpdatedStatus": "2024-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,
"tableCardNumber": "18"
},
{
"id": "5ebf990f-9075-462c-b675-a8c57a350d61",
"status": {
"code": 504,
"description": "OPEN_TABLE"
},
"deliveryAgent": null,
"deliveryDateTime": null,
"cancellationReason": null,
"tableCardNumber": "19"
}
]
} |
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:
- 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.
{
"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
{
"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. |
- HTTP Status Code 401 - Unauthorized — Não autorizado
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. |
- HTTP Status Code 403 - Forbidden
O código de status HTTP 403, conhecido como "Forbidden" (Proibido), indica que o servidor 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.
https://api-barramento.meuelevestage.com/order/getStatuS |
{
"message": "Missing Authentication Token"
} |
O cliente não incluiu um token de autenticação válido no cabeçalho da requisição. |
- HTTP Status Code 404 - Not Found
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 está incorreto, o recurso foi removido permanentemente ou não está disponível no momento da requisição.
{
"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"
}
]
} |
Uma ou mais informações enviadas não puderam ser encontradas. |
- HTTP Status Code 412 - Precondition Failed
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. |
- HTTP Status Code 429 - Too Many Requests
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
