Produtos (SKUs)
Descrição​
API para o gerenciamento de produtos do embarcador.
Finalidade​
Fornecer uma interface unificada para a manipulação de informações dos produtos do embarcador.
Objetivos​
Permitir que sejam expostas operações para que o gerenciamento de produtos do embarcador seja flexÃvel, permitindo que seja possÃvel armazenar, editar, remover e visualizar os seus produtos por meio de uma API e também exportar dados por uma interface de relatórios
Stakeholders (envolvidos)​
- Embarcadores
- Suporte
Serviços Correlacionados (outras aplicações)​
- API de cotação
- Sincronizar os produtos do embarcador
- API de relatórios
- Gerar reports sobre os produtos do embarcador
- API interna
- Receber atualizações dos produtos vindas do painel e CMS
- API externa
- Consultar dados básicos(token e CNPJ) dos embarcadores para validação inicial
- MongoDB Atlas
- Banco de dados
- NATS
- Serviço de mensageria para atualização de dados do embarcador
- Redis
- Ratelimiter compartilhado entre aplicações (120 RPM)
- MS Teams
- Logger padrão para erros HTTP 500+
Response padrão em caso de erro (JSON)​
{
"error": ["string"],
"message": "string"
}
Rotas​
-
POST /products - Armazena uma lista de produtos
-
Query params
Name Validation Type Description token required string Token de integração do embarcador -
Payload (JSON):
Name Validation Type Description products required; max:1000 array Lista de produtos a serem salvos  origin optional string Origem da requisição (apenas para chamadas internas)  sku required string SKU do produto  category required;positive int Código da categoria do produto na Frete Rápido  description optional string Descrição do produto  volumes required array Volumes que compõem o produto   description optional string Detalhamento do volume   tag optional string Tag para agrupamento ou identificação do volume   amount required number Quantidade   height required number Altura (em m)   width required number Largura (em m)   length required number Comprimento (em m)   weight required number Peso unitário (em kg)   price optional number Valor unitário   consolidate required boolean Pode consolidar   overlaid required boolean Pode sobrepor   rotate required boolean Pode rotacionar {
"products": [
{
"origin": "",
"sku": "",
"category": 0,
"description": "",
"volumes": [
{
"description": "",
"tag": "",
"amount": 0,
"height": 0,
"width": 0,
"length": 0,
"weight": 0,
"price": 0,
"consolidate": false,
"overlaid": false,
"rotate": false
}
]
}
]
}
-
-
GET /products
-
Realiza a consulta dos produtos de um embarcador de acordo com os parâmetros informados via query params
-
Query params
Name Validation Type Description token required string Token de integração do embarcador tag optional string Tag de detalhamento do volume sku optional string SKU do produto para consulta onlyInvalids optional boolean Listar apenas produtos inválidos description optional string Buscar pela descrição do produto category optional;positive int Categoria dos produtos page required;min:1 int Página atual perPage required;max:100 int Quantidade de registros por página
-
{
"total": 0,
"products": [
{
"shipperCnpj": "",
"sku": "",
"active": true,
"category": 0,
"categoryDescription": "Acessório para decoração (com vidro)"
"description": "",
"origin": "",
"updatedAt": "2021-08-27T19:22:20.564Z",
"volumes": [
{
"description": "VOLUME 1/2",
"tag": "",
"amount": 0,
"width": 0,
"height": 0,
"length": 0,
"weight": 0,
"price": 0,
"consolidate": false,
"overlaid": false,
"rotate": false
},
{
"description": "VOLUME 2/2",
"tag": "",
"amount": 0,
"width": 0,
"height": 0,
"length": 0,
"weight": 0,
"price": 0,
"consolidate": false,
"overlaid": false,
"rotate": false
}
]
}
]
}
-
GET /reports
-
Gera um relatório com todos os produtos utilizados pelo embarcador. O processamento é assÃncrono e será disponiblizado via e-mail
-
Query params
Name Validation Type Description token required string Token de integração do embarcador receivers required string Lista dos destinatários separada por ponto e vÃrgula(;)
-
-
DELETE /products
-
Remove produtos de um embarcador de acordo com os parâmetros especificados nos query params
-
Atenção: Caso nenhum parâmetro seja especificado, TODOS os produtos serão excluÃdos
-
Query params
Name Validation Type Description token required string Token de integração do embarcador tag optional string Tag dos produtos a serem removidos skus optional string Lista de SKUs separadas por ponto e vÃrgula(;) category optional;positive number Categoria dos produtos a serem removidos
-
-
GET /categories
-
Retorna todas as categorias disponÃveis para os produtos
-
Query params
Name Validation Type Description token required string Token de integração do embarcador -
Response
[
{
"id": 0,
"description": ""
}
] -