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)

2. Endpoints de Consulta de Dados (Leitura)

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):

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.