Oito feeds à entrada, um catálogo à saída
Cada ambiente de venda deste setor começa pela mesma pergunta: de onde vêm os dados de produto e ainda estão certos? O nosso PIM recolhe os feeds dos grandes fornecedores, iguala-os e mantém-nos atualizados — hoje 74.136 produtos e 61.693 variantes.

A situação
Cada fornecedor entrega de outra maneira. Um, um feed JSON de 200 MB; outro, um Excel por marca; o terceiro, uma API por língua. As cores chamam-se de forma diferente em toda a parte, os tamanhos também, e as fotografias estão ainda noutro sítio.
Quem faz isso à mão aguenta meio ano. Depois a loja online fica parada no dia em que alguém vai de férias, e já ninguém se atreve a dizer qual das duas listas é a certa. Não é falta de cuidado: é simplesmente demasiado trabalho para se manter à mão.
O desafio
Não se trata de importar uma vez, mas todas as noites de novo, sem que se percam artigos ou apareçam em duplicado. Um artigo que hoje desaparece tem de sair do ambiente de venda, mas não do histórico de encomendas. Um artigo que muda de nome de cor tem de continuar a ser a mesma variante.
E tem de ser multilingue: um cliente espanhol quer textos em espanhol, não textos neerlandeses com uma bandeirinha por cima. Isso é mais do que uma tradução por nome de produto — trata-se de uma camada própria ao lado dos dados de produto, mantida por variante e por língua, que recorre de forma limpa a outra quando um fornecedor não entrega uma língua.
O que existe
Dados de produto de oito fornecedores, na mesma estrutura e com os mesmos campos: New Wave com 26.239 artigos, PF Concept com 19.403, Mid Ocean com 14.843, XD Connects com 6.469, Toppoint com 6.154, Spranz com 758, Langenberg com 244 e Moxz com 26.
As traduções estão numa camada à parte: 398.678 linhas sobre 61.693 variantes em oito línguas — nl, en, de, fr, es, it, pl e cz. Os dados de impressão estão numa camada própria de 426.573 regras de técnica. Onde um fornecedor não entrega uma língua, o ambiente de venda recorre de forma limpa a outra em vez de mostrar um campo vazio.
Honestos quanto aos limites
Dois fornecedores não entregam um feed de tradução utilizável. A XD Connects devolve pelo URL do feed sempre a mesma língua, independentemente da que se peça; para isso são precisos feeds separados. Na Toppoint a ligação de traduções está parada numa chave em falta.
Preferimos dizê-lo em voz alta do que um cliente descobri-lo sozinho numa página de produto em espanhol. Pertence ao mesmo princípio que o resto desta página: não pomos nada que não consigamos explicar, e não omitimos nada que se torne visível num mau momento.
O resultado
Uma só fonte para oito feeds, oito línguas e quinze ambientes de loja em funcionamento, com um registo noturno onde consta o que mudou e o que correu mal. A pergunta «esse artigo ainda existe?» deixou de ser uma discussão e passou a ser uma linha num registo.
O que não consta: quantas horas de importação manual isto substitui por mês. Nunca foi registado, por isso não pomos aqui qualquer número. Consta abaixo como ponto em aberto, junto com a pergunta em que cliente poderíamos medi-lo.
O que o cliente diz sobre isso
Esta citação é uma proposta. Escrevemo-la tal como a entendemos nas conversas, para que possa ser apresentada ao cliente. Só vai para o ar quando o cliente a tiver aprovado palavra por palavra e quando o nome e a função estiverem junto dela.
“À segunda-feira já não abrimos nenhum Excel.”
Três histórias que se ligam a esta
Os casos estão ligados entre si: o mesmo catálogo, as mesmas regras de técnica e o mesmo agente voltam em várias histórias. Estas três são as mais próximas do que acabou de ler.
Envie-nos um só feed
Recebe um relatório sobre os seus próprios dados: que campos faltam, que línguas ficam vazias, que técnicas não encaixam e quantos artigos ficam por isso não vendáveis. Também se depois não fizer nada connosco.