Operações Massivas de Produtos
Boas Práticas para massividade em Produtos na API Pública
Boas Práticas para massividade em Produtos na API Pública
Esta seção estabelece as diretrizes e boas práticas para a utilização da API de Produtos, visando otimizar a performance, garantir a integridade dos dados e facilitar a integração.
1. Endpoints de Manipulação de Dados (Criação, Atualização e Exclusão)
- Atualizações em Lote: Para modificar o preço ou estoque de múltiplos produtos, utilize os endpoints em lote (Atualiza o preço de vários produtos, Atualiza o estoque de vários produtos). Isso minimiza o número de requisições e a carga no servidor.
- Limite de Requisições: As operações em lote têm um limite de 50 produtos por requisição. Respeitar este limite é crucial para evitar erros e garantir a estabilidade do sistema.
- Atualização Parcial: Para atualizar apenas um campo de um produto, utilize o endpoint Atualiza parcialmente um produto ou endpoints específicos, como Atualiza a imagem de estampa do produto. Isso é mais eficiente do que enviar o objeto completo do produto.
- Exclusão em Lote: A exclusão de múltiplos produtos deve ser feita através do endpoint Deleta um conjunto de produtos por SKU ou ProdutoVarianteId.
2. Endpoints de Consulta de Dados (Leitura)
- Consulta Direta: Para buscar um produto específico, utilize o endpoint Retorna um produto buscando pelo seu identificador. É possível especificar o tipo de identificador (SKU ou ProdutoVarianteId) e os campos adicionais que devem ser retornados.
- Consultas Específicas: Priorize os endpoints que retornam dados específicos em vez de buscar o objeto completo do produto e filtrar os dados localmente. Por exemplo, use Retorna o precoDe e precoPor de um produto para obter apenas as informações de preço.
- Informações de Estoque: Para obter dados de estoque detalhados, utilize o endpoint Retorna o estoque total e o estoque por centro de distribuição.
- Listas: Os endpoints que retornam listas, como Retorna todos os produtos e Retorna todas as categorias de um produto, devem ser utilizados para obter conjuntos de dados.
3. Exemplos de Massividade para Economizar Rate Limits
A utilização correta dos endpoints de manipulação em lote é a maneira mais eficaz de otimizar o uso da API e evitar a limitação de taxa de requisições.
Cenário 1: Atualização de Preço de 150 Produtos
Abordagem Ineficiente (sem massividade):
- Seriam necessárias 150 requisições individuais, uma para cada produto, usando um endpoint de atualização unitária. Isso gasta rapidamente o rate limit.
Abordagem Eficiente (com massividade):
- Divida a lista de 150 produtos em 3 lotes de 50.
- Utilize o endpoint Atualiza o preço de vários produtos.
- Envie 3 requisições ao total, cada uma contendo 50 produtos. Isso representa uma economia de 147 requisições.
Cenário 2: Exclusão de 100 Produtos
Abordagem Ineficiente (sem massividade):
- Seriam necessárias 100 requisições individuais, uma para cada produto.
Abordagem Eficiente (com massividade):
- Divida a lista de 100 produtos em 2 lotes de 50.
- Utilize o endpoint Deleta um conjunto de produtos por SKU ou ProdutoVarianteId.
- Envie 2 requisições ao total, cada uma contendo 50 produtos. Isso resulta em uma economia de 98 requisições.
4. Atualização Parcial: Otimização e Eficiência
O endpoint Atualiza parcialmente um produto é uma ferramenta fundamental para otimizar as requisições e reduzir a carga de dados. Diferente de uma atualização completa (PUT), a atualização parcial (PATCH) exige que o cliente envie apenas os campos que serão modificados.
Vantagens
- Redução do Payload: Ao enviar apenas os campos alterados, o tamanho do corpo da requisição é significativamente menor, o que resulta em transferências de dados mais rápidas.
- Economia de Banda: Diminui a quantidade de dados transmitidos, sendo especialmente útil em ambientes com largura de banda limitada.
- Eficiência de Processamento: O servidor não precisa processar todos os campos do objeto, apenas os que foram submetidos, resultando em uma execução mais ágil.
- Diminuição de Erros: Reduz o risco de erros acidentais, já que o usuário final ou o sistema de integração só precisa se preocupar com os dados que realmente precisam de alteração.
Exemplo de Uso
Para atualizar o nome e a descrição de um produto sem alterar outras informações (como preço, estoque ou imagens), a requisição parcial seria a seguinte:
{
"titulo": "Nome Novo do Produto",
"texto": "Uma descrição mais detalhada.",
"tipoInformacao": "Informacoes"
}
O endpoint processará apenas esses dois campos, deixando todos os outros atributos do produto intactos.
5 Diretrizes de Uso
- Integridade dos Dados: Sempre valide os dados de entrada antes de enviar uma requisição para a API. Isso evita erros de processamento e garante a consistência das informações na base de dados.
- Códigos de Resposta: Monitore os códigos de resposta HTTP. Um código 200 OK indica sucesso, enquanto códigos 4xx (erro do cliente) ou 5xx (erro do servidor) exigem tratamento adequado.
- Segurança: Garanta que as requisições à API estejam devidamente autenticadas e que os tokens de acesso sejam geridos e armazenados de forma segura.
6 Atualizações de Produtos em Tempo Real
A melhor abordagem para manter sua base de produtos e variantes atualizada em tempo real é através da assinatura de Webhooks. Essa prática elimina a necessidade de consultas constantes e massivas à API, garantindo a performance da sua integração.
Para isso, inscreva-se nos seguintes tópicos:
- Produto: Para receber notificações de alterações, criação ou exclusão de produtos. A notificação inclui o
produtoId
, permitindo a consulta dos dados detalhados do produto alterado. - Produto Variante: Para receber notificações de alterações, criação ou exclusão de variantes de produtos. A notificação inclui o
produtoVarianteId
, o que possibilita atualizar apenas as informações específicas da variante alterada.
Updated about 2 hours ago