CONTEÚDO
01. VISÃO GE{
"success": true,
"error": null,
"integrationHubServiceId": "5ffec6b8-1c55-4a7d-985f-12d13685b553",
"orderKeyType": "TABLE",
"orderKey": [
"40"
],
"lastestUpdatedStatus": "2024-06-28 09:54:27",
"items": [
{
"id": "40",
"status": {
"code": 412,
"description": "NOT_FOUND"
},
"deliveryAgent": null,
"deliveryDateTime": null,
"cancellationReason": null,
"tableCardNumber": null
}
]
}RAL
...
01. VISÃO GERAL
Este endpoint é utilizado para obter informações detalhadas sobre os pedidos, fornecendo um retorno em formato JSON com diversos atributos relevantes. Ao enviar uma solicitação no formato especificado, como nos exemplos abaixo, o endpoint processa a 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
| Método | URL | Ambiente |
|---|
| POST | https://api-barramento.meuelevestage.com/order/getStatus | Homologação |
| POST | https://api-barramento.meueleve.com.br/order/getStatus | Produção |
...
03. EXEMPLO DE UTILIZAÇÃO
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 |
|---|
| title | JSON Para retornar o status de um pedido específico |
|---|
| linenumbers | true |
|---|
|
{
"integrationHubServiceId": "7056c970-cb11-400f-9d4f-9f30253f3b0b" |
02. ENDPOINT
...
03. EXEMPLO DE UTILIZAÇÃO
01. Retornar todos os estados dos pedidos:
| Bloco de código |
|---|
| title | JSON Para retornar todos os pedidos |
|---|
|
{
"integrationHubServiceId": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
"orderKeyType": "TABLE",
"orderKey": ["40"]
} |
02. Retornar um pedido específico:
| Bloco de código |
|---|
| title | JSON Para retornar um pedido específico |
|---|
|
{
"integrationHubServiceId": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
"orderKeyType": "TABLE",
"orderKey": ["40"]
} |
| Nota |
|---|
| title | Nota: 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.03. JSON de resposta do retorno de um pedido
| Bloco de código |
|---|
| title | JSON de resposta do retorno de um pedido específico HTTP Status Code = 208 |
|---|
| linenumbers | true |
|---|
|
{
"successerrors": true,
"error[
{
"key": null"orderKeyType_orderKey",
"integrationHubServiceIdmessage": "Order status request already exists: TABLE_40"
}
]
}
|
| Nota |
|---|
| title | Nota: 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.
| Bloco de código |
|---|
| title | JSON de resposta do retorno de um pedido |
|---|
| linenumbers | true |
|---|
|
{
"success": true,
"error1853f0ab-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,
"deliveryDateTimeintegrationHubServiceId": null"1853f0ab-faf7-47d6-a193-610b20807143",
"cancellationReasonorderKeyType": null"TABLE",
"tableCardNumberorderKey": "19"[
}"40"
]
} |
| Nota |
|---|
|
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.
|
04. Retornar múltiplos pedidos:
| Bloco de código |
|---|
| title | JSON Para retornar múltiplos pedidos |
|---|
|
{
"integrationHubServiceId": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
"orderKeyType": "TABLE",
"orderKey": ["40", "20"]
} |
,
"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": "40"
}
]
} |
| Nota |
|---|
| title | Nota: HTTP Status Code = 226 IM Used |
|---|
|
A solicitação foi processada com sucesso e o resultado foi retornado conforme esperado. |
...
3.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
05. JSON de resposta de múltiplos pedidos| Bloco de código |
|---|
| title | JSON Para retornar múltiplos pedidos |
|---|
| linenumbers | true |
|---|
|
{
"success": true,
"error": null,
"integrationHubServiceId": "647469f87056c970-b31bcb11-4fae400f-ba339d4f-99e04def555b9f30253f3b0b",
"orderKeyType": "TABLE",
"orderKey": [
"1840",
"1920"
],
"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
} |
| Nota |
|---|
| title | Nota: 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 |
|---|
| title | JSON de resposta do retorno de um pedido específico HTTP Status Code = 208 |
|---|
| linenumbers | true |
|---|
|
{
"errors": [
{
"key": "orderKeyType_orderKey",
"message": "Order status request already exists: TABLE_40, 20"
}
]
}
|
| Nota |
|---|
| title | Nota: 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 |
|---|
| title | JSON de retorno de múltiplos pedidos |
|---|
| linenumbers | true |
|---|
|
{
"success": true,
"error": null,
"integrationHubServiceId": "647469f8-b31b-4fae-ba33-99e04def555b",
"orderKeyType": "TABLE",
"orderKey": [
"40",
"20"
],
"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"
}
]
} |
| Nota |
|---|
| title | Nota: 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.
| Bloco de código |
|---|
| title | JSON Para retornar o status de todos os pedidos |
|---|
| linenumbers | true |
|---|
|
{
"integrationHubServiceId": "7056c970-cb11-400f-9d4f-9f30253f3b0b",
"orderKeyType": "TABLE",
"orderKey": []
} |
| Nota |
|---|
| title | Nota: 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 |
|---|
| title | JSON de resposta do retorno de um pedido específico HTTP Status Code = 208 |
|---|
| linenumbers | true |
|---|
|
{
"errors": [
{
"key": "orderKeyType_orderKey",
"message": "Order status request already exists: TABLE_"
}
]
}
|
| Nota |
|---|
| title | Nota: 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 |
|---|
| title | Resposta do JSON da requisição |
|---|
| linenumbers | true |
|---|
|
{
"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 |
|---|
| title | Nota: 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:
| Campo | Valor | Descrição |
|---|
| integrationHubServiceId * | string | Chave de identificação da integração no hub |
| orderKeyType | enum | Tipo de chave do pedido, que pode ser mesa, cartão ou ID do pedido |
| orderKey | string | Identificador do pedido, de acordo com o tipo definido em orderKeyType |
- Enumerações do campo
orderKeyType:
| Enum | Valor | Descrição |
|---|
| TABLE | TABLE | Identifica o pedido pelo número da mesa |
| CARD | CARD | Identifica o pedido pelo número do cartão |
| ORDER_ID | ORDER_ID | Identifica o pedido por um ID exclusivo do pedido |
| Dica |
|---|
|
Campos marcaos com o * (asteristico) o seu preenchimento é obrigatório |
...
04. 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 |
|---|
| title | JSON Inválido |
|---|
| linenumbers | true |
|---|
|
{
"integrationHubServiceId": "393d9572-2ec9-4cda-9ad3-5b69e02c988d",
"orderKeyType": "string",
"orderKey": ["string"]
} |
| Bloco de código |
|---|
| title | JSON Resposta |
|---|
| linenumbers | true |
|---|
|
{
"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 |
|---|
| title | JSON Inválido |
|---|
| linenumbers | true |
|---|
|
{
"integrationHubServiceId": "a5c4e135-aacd-49c1-b051-160a78a83b56"
} |
| Bloco de código |
|---|
| title | JSON Resposta |
|---|
| linenumbers | true |
|---|
|
{
"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 |
|---|
| title | JSON com o GUID inválido |
|---|
| linenumbers | true |
|---|
|
{
"integrationHubServiceId": "9a1cf326-c962-456f-8c49-c1bb2f340fc6A",
"orderKeyType": "TABLE",
"orderKey": []
} |
| Bloco de código |
|---|
| title | JSON Inválido GUID incorreto |
|---|
| linenumbers | true |
|---|
|
{
"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.
| Bloco de código |
|---|
| title | JSON com sem informar o código da orderKey |
|---|
| linenumbers | true |
|---|
|
{
"integrationHubServiceId": "808c143d-d6d4-4b95-8c37-efa3a934f222",
"orderKeyType": "TABLE",
"orderKey": [""]
} |
| Bloco de código |
|---|
| title | JSON Response |
|---|
| linenumbers | true |
|---|
|
{
"errors": [
{
"key": 0,
"message": "body.orderKey[0] is not allowed to be empty"
}
]
} |
| Nota |
|---|
| title | Nota: 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
| Â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.
| Nota |
|---|
| title | Nota: 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. |
...
- 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 por está tentando acessar uma URL incorreta
| Bloco de código |
|---|
| title | URL enviada incorreda |
|---|
|
https://api-barramento.meuelevestage.com/order/getStatuS |
| Bloco de código |
|---|
| title | JSON Response para URL incorreta |
|---|
| linenumbers | true |
|---|
|
{
"message": "Missing Authentication Token"
} |
| Nota |
|---|
| title | Nota: HTTP Status Code = 403 - Forbidden |
|---|
|
O cliente não enviou 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 integrationHubId está incorreto ou inválido.
| Bloco de código |
|---|
| title | Integration Hub Code Inválido |
|---|
| linenumbers | true |
|---|
|
{
"integrationHubServiceId": "f1b874af-96ab-4535-aac3-25118fe586cc",
"orderKeyType": "TABLE",
"orderKey": ["5"]
} |
| Bloco de código |
|---|
| title | JSON Response |
|---|
| linenumbers | true |
|---|
|
{
"errors": [
{
"key": "integrationHubServiceId",
"message": "Provider Merchant for integrationHubServiceId \"f1b874af-96ab-4535-aac3-25118fe586cc\" not found or disabled"
}
]
} |
| Aviso |
|---|
|
Para que a operação retorne com sucesso, é imprescindível que ao menos um pedido seja informado.
| Nota |
|---|
| title | Nota: HTTP Status Code = 404 - Not Found |
|---|
|
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 |
|---|
| sem informar o pedido |
{
"integrationHubServiceId": " 5ffec6b88f7949c3- 1c55cdd6- 4a7d4db0- 985f8746- 12d13685b553369e651026b4",
"orderKeyType": "TABLE",
"orderKey": []
} |
| Bloco de código |
|---|
| Retorno do JSON - | = 208
{
"errors": [
{
"key": "orderKeyType_orderKey",
"message": "Order status request already exists: TABLE_"
}
]
} |
| Bloco de código |
|---|
| title | Retorno do JSON - HTTP Status Code = 412 |
|---|
|
{
"message": "NOT_FOUND",
"code": 412
} |
| Informações |
|---|
|
integrationHubServiceId: é um código da integração da loja com o Integration Hub orderKey: é o código do pedido |
04. ERROS
| 412 = Precpndition Failed | | linenumbers | true |
|---|
|
{
"message": "NOT_FOUND",
"code": 412
} |
| Nota |
|---|
| title | Nota: HTTP Status Code = 412 Precondition Failed |
|---|
|
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
| Â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 implementadaA seguir alguns dos erros comuns que podem ser apresentados.
| Bloco de código |
|---|
| title | JSON Para pedido inexistenteda requisição |
|---|
| linenumbers | true |
|---|
|
{
"integrationHubServiceId": "5ffec6b87d7d205b-1c5583ba-4a7d47c5-985f91ba-12d13685b553e4f32a2bbd9e",
"orderKeyType": "TABLE",
"orderKey": ["999995"]
} |
| Bloco de código |
|---|
| title | Resposta da última execução |
|---|
| linenumbers | trueJSON Para pedido inexistente |
|---|
|
{
"success": true,
"error": null,
"integrationHubServiceId": "5ffec6b87d7d205b-1c5583ba-4a7d47c5-985f91ba-12d13685b553e4f32a2bbd9e",
"orderKeyType": "TABLE",
"orderKey": [
"40"
"5"
],
"lastestUpdatedStatus": "2024-0607-2802 0918:54:2728",
"items": [
{
{
"id": "40"de9fd388-c223-4325-a64d-08889250f839",
"status": {
"code": 412,
"code": 504,
"description": "NOTOPEN_FOUNDTABLE"
},
"deliveryAgent": null,
},
"deliveryAgent": null,
"deliveryDateTime": null,
"cancellationReason": null,
"tableCardNumber": null
}
"5"
}
]
} |
...
| Nota |
|---|
| title | Nota: 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. |
...
05. LINKS