Ligar a sua loja a um fornecedor por API: stock, tarifas e imagens em dia
Importar o catálogo de um fornecedor uma vez é fácil; mantê-lo em dia é que é difícil. Revemos o que implica ligar a sua loja à API de um fornecedor, que dados sincronizar e com que frequência, e os erros que mais custam.
Importar o catálogo de um fornecedor uma vez é um trabalho de dias. Mantê-lo em dia é um trabalho que nunca acaba: mudam os preços, esgota-se o stock, saem cores novas, retiram-se referências. Se o fizer à mão, a sua loja vai sempre atrás, e vende o que já não há ou a um preço que já não é.
Quando o fornecedor oferece uma API, a loja pode consultá-la de forma contínua. Este artigo trata dessa sincronização permanente; se o seu fornecedor só lhe dá ficheiros CSV ou XML, temos outro guia dedicado a esse caso.
O que muda com uma API face a um ficheiro
- Dados no momento: o stock é consultado quando é preciso, não quando o fornecedor gera o ficheiro.
- Consultas parciais: pode pedir-se só o stock ou só os preços, sem descarregar o catálogo inteiro.
- Dados ricos: muitos fornecedores publicam na API coisas que não cabem num CSV: tarifas por escalões, técnicas de personalização, imagens por cor, textos em vários idiomas.
- Mais exigente: é preciso gerir autenticação, limites de pedidos, erros de rede e mudanças de versão da API.
O que sincronizar e com que frequência
| Dado | Quanto muda | Frequência razoável |
|---|---|---|
| Stock | Constantemente | A cada poucas horas ou mais |
| Preços de custo e tarifas | Periodicamente | Diária |
| Produtos novos e retirados | Por temporadas | Diária ou semanal |
| Textos e imagens | Pouco | Semanal, ou ao criar o produto |
O que não faz sentido é descarregar todo o catálogo a cada hora: sobrecarrega o servidor do fornecedor e o seu, e arrisca ultrapassar os limites dele.
Preço de custo não é preço de venda
O fornecedor dá-lhe a sua tarifa; você decide o seu preço. A ligação precisa de regras claras:
- Margem por categoria, marca ou escalão de preço, não uma única para tudo.
- Escalões por quantidade: em setores como o têxtil ou o artigo promocional, o custo desce muito a partir de certo volume. Esses escalões devem ser convertidos em preços por quantidade na sua loja.
- Arredondamentos que não deixem preços como 12,37 €.
- Preços em que não se mexe: se baixou um produto à mão para uma campanha, a sincronização não o deveria substituir sem avisar.
Stock: o seu e o do fornecedor
Se também tem mercadoria no seu armazém, misturar o seu stock com o do fornecedor num só número engana o cliente: não é o mesmo «tenho e sai hoje» e «encomendo à fábrica e demora uma semana». O correto é separá-los e mostrar um prazo diferente consoante de onde sai cada unidade. E decidir o que fazer quando se pede mais do que a soma dos dois: bloquear a venda ou pedir que entre em contacto para um orçamento.
Combinações, idiomas e imagens
- Cores e tamanhos devem ser convertidos em combinações do PrestaShop emparelhadas com os atributos que já tem, não em atributos novos duplicados («Vermelho», «vermelho», «VERMELHO»).
- Imagens por cor, associadas à sua combinação.
- Textos em cada idioma ativo da sua loja, se o fornecedor os publicar.
- Categorias: a árvore do fornecedor não é a sua. É preciso emparelhar as categorias dele com as suas.
- Características (material, medidas) como características do PrestaShop, para que funcionem nos filtros.
Personalização
No artigo promocional ou no têxtil personalizado, o produto não se vende sozinho: vende-se com uma marcação. O fornecedor publica técnicas, zonas, número de cores e custos (muitas vezes com custos fixos de preparação). Levar isso para a loja permite que o cliente escolha a técnica e veja o preço final calculado, em vez de pedir orçamento para tudo.
Erros frequentes
- Substituir o que melhorou: textos SEO ou fotos próprias que a sincronização volta a trocar pelos do fornecedor.
- Não registar o que muda: sem histórico, não sabe porque um preço subiu.
- Sincronizar em horas de ponta e tornar a loja mais lenta.
- Não avisar quando a API falha: a sincronização para e ninguém nota até se vender algo esgotado.
- Credenciais no código: as chaves da API vão na configuração, nunca em ficheiros que se copiam ou se enviam para um repositório.
Checklist
- Sabe claramente que dados a API dá e com que limites.
- Regras de preço por categoria e escalões por quantidade.
- Stock próprio e do fornecedor separados, com prazos diferentes.
- Produtos retirados são desativados, não eliminados.
- Atributos e categorias emparelhados com os seus.
- Histórico de alterações e aviso se a sincronização falhar.
Como resolvê-lo no PrestaShop
RKR Conector Makito é um exemplo deste tipo de ligação: um pacote com um hub que compara e escreve na loja, o conector com a API da Makito, um módulo opcional de múltiplos de venda e RKR Supplier Stock (opcional, PrestaShop 9). Traz os quatro escalões de tarifa do fornecedor (por unidade e a partir de 500, 2.000 e 5.000 unidades) convertidos em preço de venda com as suas regras e em preços por quantidade, os textos, cores e características nos sete idiomas que a Makito publica, e permite que o cliente adicione ao carrinho o produto com a sua marcação e o preço já calculado. Com RKR Supplier Stock, o seu stock e o da Makito são guardados em separado, por combinação, com mensagens e prazos diferentes para cada caso, e por defeito não se vende mais do que a soma dos dois. Sem esse módulo, o conector funciona em PrestaShop 1.7.6 a 9.x. Para outros fornecedores, os conectores à medida que acompanham este artigo seguem a mesma abordagem.