> For the complete documentation index, see [llms.txt](https://desenvolvedores.skyhub.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://desenvolvedores.skyhub.com.br/processo-de-homologacao/melhores-praticas-valid/pratica_produto.md).

# Produtos

### Quais as melhores práticas?

* Sempre utilizar o ***x-accountmanager-key*** fornecido no início do processo de homologação;
* O método <mark style="color:red;">POST</mark> deve ser utilizado exclusivamente para a <mark style="color:red;">criação</mark> do produto e qualquer <mark style="color:green;">alteração</mark> deve ser realizada através do <mark style="color:green;">PUT</mark>;
* Para a homologação, nas tarefas que solicitam a atualização de campos específicos, não serão aceitos os PUTs contendo a estrutura completa do item;
* A atualização de um produto simples é feita no endpoint PUT `/products/{sku}`;
* A atualização de uma variação deve ser feita em PUT `/variations/{sku}`;
* Todos os produtos criados devem conter a estrutura básica requerida (para mais detalhes, é possível acessar a seção [Validações: Produtos](/processo-de-homologacao/validacoes/produtos-validacao.md#o-que-sera-validado-durante-o-processo-de-homologacao));
* Para todas as tarefas que exigem criação de produtos serão analisados SKUs o mais próximo da realidade, portanto não serão aceitas evidências com informações genéricas (Exemplo: "Name": "Produto Teste", "Description": "Descrição Teste");
* As URLs das imagens devem estar com a hospedagem "HTTPS" aberta e não corrompida. O servidor não pode ter redirecionamentos, ou seja, o arquivo enviado precisa ser a própria imagem e não uma página intermediária como espelho;
* O peso do produto deve ser enviado em quilogramas (Kg);
* Dimensões devem ser enviadas em centímetros (cm);
* Em produtos com variação, deve ser enviado o qty (estoque) por variação;
* Deve ser respeitado o limite de requisições, caso contrário retornará erro <mark style="color:red;">429</mark>. Ao receber um retorno <mark style="color:red;">429</mark>, será necessário aguardar até o próximo minuto para realizar uma nova requisição;
* Caso receba um erro da família <mark style="color:red;">4XX</mark>, deve ser realizada uma nova tentativa e em paralelo é necessário tratar a mensagem de erro;
* Caso receba um erro da família <mark style="color:red;">5XX</mark>, deve ser realizada uma nova tentativa. Caso o erro persista, pedimos que entre em contato para que possamos analisar mais detalhadamente o retorno.
