27/06/2022 - Validação da quantidade de volumes
Mudança de validação na API de cotação
1 – Nova propriedade TotalPackages na rota /simula-cotacao.
Será adicionada uma nova propriedade na rota /simula-cotacao.A propriedade TotalPackages deve ser usada para indicar o total de pacotes que irão compor a cotação, essa propriedade já existe na rota /gera-cotacao e será validada nas duas rotas conforme o item 2 desse documento.
Quando as dimensões do pacote forem informadas na propriedade Packs a propriedade já existente AmountPackages deve ser usada para indicar quantos pacotes possuem determinadas dimensões, uma nova validação acontecerá para confirmar as informações preenchidas, conforme item 2 deste documento.
A propriedade Packs pode ficar vazia (por exemplo: Packs: []), caso não tenha as dimensões do produto. Nesta situação, a quantidade total de pacotes precisa ser informada na nova propriedade TotalPackages.
/*Exemplo de payload para a rota /simula-cotacao:*/
{
"OriginZipCode":"string",
"OriginCityId":"Int32",
"DestinationZipCode":"string",
"DestinationCityId":"Int32",
"TotalPackages":"Int32", /*Nova propriedade*/
"TotalWeight":"decimal",
"EletronicInvoiceValue":"decimal",
"CustomerTaxIdRegistration":"string",
"Packs":
[
{
"AmountPackages":"Int32",
"Weight":"decimal",
"Length":"decimal",
"Height":"decimal",
"Width":"decimal"
}
]
}
2 – Validação na quantidade de pacotes.
Ao realizar o envio nas rotas /gera-cotacao e /simula-cotacao, será validado a quantidade de pacotes informado no payload. Não será válido quantidade zerado, pois será realizado a validação de duas maneiras conforme payload enviado para a API. Veja a seguir:Validação 1 – Dimensões do produto não foram informadas:
Nesses casos o array Packs ficará vazio (por exemplo: Packs:[]) e a propriedade TotalPackages deverá ser preenchida informando a quantidade total de pacotes que farão parte da cotação, não sendo válido quantidades inferiores a 1. Caso o payload enviado seja inválido a mensagem de retorno conterá o HTTP Status 400 (bad request) e o seguinte retorno no corpo da resposta:{
"Message": "Não é possível calcular a cotação com a quantidade de pacote menor ou igual a 0. Por favor informe a quantidade correta."
}
Validação 2 – Dimensões do produto foram informadas:
As dimensões do produto são informadas através da propriedade Packs (array de objeto). Nesse cenário a quantidade de pacotes deve ser informada na propriedade já existente AmountPackages. Caso o payload enviado seja inválido a mensagem de retorno conterá o HTTP Status 400 (bad request) e o seguinte retorno no corpo da resposta:{
"Message": "Existem mercadorias que possuem quantidade de pacote menor ou igual 0. Por favor informe a quantidade correta."
}