Tratamento de Erros
Esta seção apresenta vários cenários de chamadas inadequadas ou erradas que resultam em mensagens de erro e resultados impróprios.
400 Solicitação Inválida
O código de status 400 é geralmente visto durante o desenvolvimento e a integração e não deve ser recebido durante operações normais. A resposta retornada contém as informações necessárias para corrigir o problema.
Muitos problemas podem causar um código de status 400 e os mais comuns estão listados na tabela abaixo.
Resposta | Resolução |
|---|---|
Retornado se o número do revendedor for inválido. {
"status": "400",
"id": "rrt-07cdd77f98c381924-d-ea-22529-1513654-1",
"title": "bad_request",
"meta": {
"service": "01",
"detail": "request validation failed",
"payload": {
"details": [
{
"message": "String \"22391888\" is too short (length: 8, required minimum: 10): []"
}
]
}
}
} | Se o revendedor estiver usando seu DMS, pode ser que ele não seja mais um revendedor BRP. Verifique com eles e desative as atualizações de inventário de peças. Certifique-se de que o número do revendedor tenha 10 caracteres. Se você estiver salvando o número do revendedor sem o '0' à frente, adicione o '0' à frente antes de chamar a API. O erro também é retornado se o revendedor não for um revendedor BRP ativo. |
Retornado se o VIN for muito longo. {
"status": "400",
"id": "rrt-02f0854d111e259f2-b-ea-25942-53476969-1.1",
"title": "bad_request",
"meta": {
"service": "12",
"detail": "Backend Error",
"payload": {
"filename": "dealer_retail_transaction_api_delta_20231220_203241Z_ace87b33-e774-4e48-bc1c-2566fec72f8e.json.gz",
"errors": [
{
"message": "[Path '/transactions/0/units/0/vin'] String \"1234567890abcdefghtyu\" is too long (length: 21, maximum allowed: 17): []",
"transaction_number": "32735233"
}
]
}
}
} | Seu DMS pode permitir mais caracteres para o VIN do que a API permite. Se o VIN inserido tiver mais de 17 caracteres, a mensagem de erro à esquerda será retornada. Para evitar o erro, se o VIN inserido tiver mais de 17 caracteres, ou não o inclua ou limite o comprimento a 17 caracteres. |
Retornado se uma propriedade estiver ausente. {
"status": "400",
"id": "rrt-07cdd77f98c381924-d-ea-22528-1535012-1.1",
"title": "bad_request",
"meta": {
"service": "12",
"detail": "Backend Error",
"payload": {
"filename": "dealer_retail_transaction_api_delta_20231027_190119Z_1b8ff76c-148d-4a74-beee-e233369d7f73.json.gz",
"errors": [
{
"message": "[Path '/transactions/0/header'] Object has missing required properties ([\"transaction_number\"]): []",
"transaction_number": ""
}
]
}
}
} | Adicione a propriedade ausente à carga. |
Retornado se uma data tiver um formato inválido. {
"status": "400",
"id": "rrt-07cdd77f98c381924-d-ea-22528-1535868-1.1",
"title": "bad_request",
"meta": {
"service": "12",
"detail": "Backend Error",
"payload": {
"filename": "dealer_retail_transaction_api_delta_20231027_190218Z_9e70b158-1070-4cef-8c16-f57e0f97e009.json.gz",
"errors": [
{
"message": "[Path '/transactions/0/header/transaction_open_date'] String \"Yesterday\" is invalid against requested date format(s) [yyyy-MM-dd'T'HH:mm:ssZ, yyyy-MM-dd'T'HH:mm:ss.[0-9]{1,12}Z]: []",
"transaction_number": "32578424"
}
]
}
}
} | Altere o formato da string de data para corresponder ao formato do payload. |
Retornado se um número tiver um formato inválido.
{
"status": "400",
"id": "rrt-0e20a46609994a8ad-c-ea-22693-1531658-1.1",
"title": "bad_request",
"meta": {
"service": "12",
"detail": "Backend Error",
"payload": {
"filename": "dealer_retail_transaction_api_delta_20231027_190254Z_994fbdea-10dd-4eea-93b1-138bc1977bf6.json.gz",
"errors": [
{
"message": "[Path '/transactions/0/parts/0/total_customer_price'] Numeric instance is greater than the required maximum (maximum: 10000000, found: 1.2345678901234E9)",
"transaction_number": "33511480"
},
{
"message": "[Path '/transactions/0/parts/0/total_customer_price'] Remainder of division is not zero (1.2345678901234E9 / 0.01): []",
"transaction_number": "33511480"
}
]
}
}
}
| Todos os valores na carga têm um formato de ±9999999,99. Altere o formato da propriedade para corresponder à carga útil. |
Retornado quando algo está faltando na carga útil. {
"status": "400",
"id": "rrt-07cdd77f98c381924-d-ea-22528-1535353-1.1",
"title": "bad_request",
"meta": {
"service": "12",
"detail": "Backend Error",
"payload": {
"filename": "dealer_retail_transaction_api_delta_20231027_190140Z_865da5e0-2909-44a0-930d-6ab558e8ff82.json.gz",
"errors": [
{
"message": "[Path '/transactions/0/header/customers/0'] Object has missing required properties ([\"customer_id\",\"recipient\"])",
"transaction_number": "32971812"
},
{
"message": "[Path '/transactions/0/jobs/0'] Object has missing required properties ([\"description\"])",
"transaction_number": "32971812"
},
{
"message": "[Path '/transactions/0/parts/0'] Object has missing required properties ([\"part_number\"])",
"transaction_number": "32971812"
},
{
"message": "[Path '/transactions/0/units/0'] Object has missing required properties ([\"vin\"]): []",
"transaction_number": "32971812"
}
]
}
}
} | Certifique-se de incluir todos os campos obrigatórios. |
401 Não Autorizado
The 401 Unauthorized error status code is returned when you try to call the API with an expired access_token.
You have to get a new access_token with a call to the Application Authentication API.
The 401 Unauthorized error status code is also returned if you didn't request access to the API by creating a ticket in the DCP Jira.
When you are ready to start working on an API, you must create a certification ticket in Jira, as described in the section Certification Activities with Jira.
If you already started work on an API and lost access, create a support ticket as described in the section Open a Support Ticket.
413 Entidade da Solicitação Muito Grande
O código de status 413 Entidade da Solicitação Muito Grande é retornado quando a carga útil excede o limite do APIGee de 10 MB.
Observe que o código de status 413 pode ser recebido mesmo que a carga útil que você está enviando tenha menos de 10 MB. A carga útil é processada antes de chamar uma API interna do BRP e pode ser essa API interna que está retornando o código de status 413.
Para corrigir o problema, divida as transações em muitas chamadas.