Integrar o Salsify com o Adobe Commerce é enviar o conteúdo de produto gerido no Salsify para a loja Adobe Commerce ou Magento Open Source e manter as alterações sincronizadas. Segundo o comunicado de lançamento da Salsify, de 26 de agosto de 2021, existe um conector nativo e direto entre o Salsify e a loja, pensado para marcas com sites próprios de venda direta ao consumidor. Como o comunicado tem data, confirme com a Salsify a versão e as condições atuais.
Para a empresa, o interesse é usar o Salsify como fonte única do conteúdo e evitar trabalho duplicado. Quando o catálogo é grande, os atrasos entre aprovar um conteúdo e vê-lo na loja custam vendas. Na Avafa tratamos estas ligações dentro da nossa área de integração de PIM com ecommerce.
Neste guia vê quando compensa integrar, o que faz o conector e a alternativa por API, que dados vão em cada sentido, os riscos de carga em lote e uma lista de verificação.
Quando compensa ligar o Salsify ao Adobe Commerce?
Compensa quando a marca vende diretamente na sua loja e o conteúdo de produto muda com frequência. Os sinais mais claros são estes:
- o conteúdo enriquecido, como textos longos e imagens, é produzido fora da loja;
- o mesmo produto é editado no Salsify e depois à mão no Adobe Commerce;
- há várias vistas de loja ou idiomas a alimentar;
- o prazo de publicação de novos produtos é demasiado longo;
- as importações por ficheiro já falham ou são demasiado lentas.
Não compensa, por agora, com um catálogo pequeno e alterações raras, em que a importação nativa do Adobe Commerce com um ficheiro bem validado custa menos a manter.
Como se liga o Salsify ao Adobe Commerce?
Há dois caminhos: o conector da Salsify ou uma ligação por API. Segundo o comunicado de 2021, o conector envia conteúdo de produto, incluindo conteúdo enriquecido, do Salsify para a loja, e as alterações feitas depois da publicação sincronizam-se automaticamente. Foi desenhado para clientes Salsify com sites próprios em Adobe Commerce ou Magento Open Source.
Quando o conector não cobre as regras do catálogo, usa-se a API REST do Adobe Commerce. Os passos habituais são estes:
- Selecionar no Salsify os produtos e atributos a publicar.
- Mapear cada campo do Salsify para o atributo do Adobe Commerce.
- Garantir que os atributos de destino existem na loja antes da carga.
- Enviar os produtos em lote e guardar o identificador do lote.
- Verificar o estado de cada item processado.
- Conferir categorias, imagens e visibilidade na loja.
O que são os endpoints em lote do Adobe Commerce?
São pontos de acesso que juntam vários pedidos do mesmo tipo num só e os processam de forma assíncrona. Segundo a documentação do Adobe Commerce, o pedido em lote é dividido em entidades individuais, cada uma escrita como mensagem numa fila. Suportam POST, PUT e DELETE, mas não GET.
O ponto mais importante para quem integra: a resposta devolve um identificador de lote e o estado de cada item, e o estado aceite significa apenas que o item entrou na fila, não que foi processado com sucesso. Por exemplo, a criação de um registo duplicado pode ser aceite e falhar mais tarde, no processamento. Por isso, uma integração tem de consultar o resultado final de cada item e não dar o lote por concluído com a primeira resposta.
Que dados vão em cada sentido?
Decida cedo qual é o sistema mestre de cada dado. Esta é a matriz de partida que usamos:
| Dado | Sistema mestre | Sentido |
|---|---|---|
| Textos e atributos | Salsify | Salsify para loja |
| Conteúdo enriquecido | Salsify | Salsify para loja |
| Imagens | Salsify | Salsify para loja |
| Categorias | Salsify ou loja | Decidir caso a caso |
| Preço e stock | ERP | ERP para loja |
| Encomendas | Adobe Commerce | Loja para ERP |
Preço, stock e encomendas não pertencem ao PIM. Misturá-los no mesmo fluxo faz com que uma falha no conteúdo atrase também a venda.
Que riscos tem a carga em lote e como se evitam?
Os riscos vêm da infraestrutura de filas e da leitura do estado. A documentação do Adobe Commerce distingue dois cenários. Na versão em nuvem (SaaS), as filas de mensagens correm automaticamente e o limite de entidades por pedido em lote é definido na configuração da loja. Na versão PaaS, é preciso instalar e configurar o RabbitMQ antes de usar a API em lote, e as tarefas agendadas (cron) são a forma habitual de gerir as filas e iniciar os consumidores.
| Risco | Onde aparece | Prevenção |
|---|---|---|
| Itens aceites que falham | Estado aceite lido como sucesso | Consultar o resultado final |
| Fila parada | RabbitMQ ou cron em falta | Validar a infraestrutura |
| Lote demasiado grande | Limite de entidades por pedido | Respeitar a configuração |
| Atributo em falta | Campo não existe na loja | Criar atributos antes |
| Lojas erradas | Âmbito de loja mal indicado | Indicar o código de loja |
A mesma documentação desaconselha iniciar o consumidor manualmente, porque obriga a manter uma sessão de terminal aberta. Em produção, use as tarefas agendadas ou uma ferramenta de supervisão de processos.
Conector, API em lote ou importação por ficheiro?
A escolha depende do volume e das regras do catálogo. A tabela compara as opções:
| Opção | Quando serve | Limitação |
|---|---|---|
| Importação por ficheiro | Catálogo pequeno e estável | Manual e sujeita a erro |
| Conector da Salsify | Site próprio de uma marca | Confirmar versão atual |
| API REST em lote | Regras próprias, grande volume | Exige desenvolvimento |
| Camada intermédia | Vários sistemas ligados | Custo de manutenção maior |
Para uma marca com site próprio e um catálogo que cabe no que o conector envia, comece pelo conector. Quando as regras de atributos ou de lojas ultrapassam o conector, passe à API em lote, com registo de cada carga.
Qualquer que seja o caminho, defina cedo como se tratam as vistas de loja e os idiomas. Um produto que aparece certo numa vista e sem conteúdo noutra costuma resultar de um mapeamento que só cobriu o âmbito por omissão, e corrige-se mais depressa antes da primeira carga completa do que depois.
Lista de verificação antes de arrancar o projeto
- Confirmar com a Salsify a versão atual do conector e as condições.
- Decidir o sistema mestre de cada dado e registá-lo numa matriz.
- Fixar o SKU como identificador comum entre Salsify, ERP e loja.
- Criar na loja os atributos de destino antes da primeira carga.
- Validar a infraestrutura de filas, tarefas agendadas e RabbitMQ, se aplicável.
- Ler o resultado final de cada item e não apenas a resposta inicial do lote.
- Testar com um lote pequeno e conferir produto a produto.
- Definir quem recebe o alerta quando um item falha.
Como trabalhamos na Avafa
Começamos por mapear dados e responsáveis, só depois escolhemos a forma de ligação. Revemos o desenho do fluxo e a leitura do estado dos lotes antes de qualquer desenvolvimento, para que o projeto não arranque com um conflito de fontes. Se quiser ver como abordamos lojas Magento e Adobe Commerce, comece pela página de SEO para Magento e Adobe Commerce e pela de integração de PIM com ecommerce.
Guias relacionados do mesmo cluster
Se o PIM ainda não está decidido, estes guias comparam alternativas com o mesmo Adobe Commerce:
- Salsify com Magento
- Akeneo com Adobe Commerce
- Plytix com Adobe Commerce
- Bluestone PIM com Adobe Commerce em modo headless
- Celum com Adobe Commerce para catálogos multipaís
- Salsify com Salesforce Commerce Cloud
Perguntas frequentes
O Adobe Commerce tem ligação nativa ao Salsify?
Segundo o comunicado da Salsify de agosto de 2021, existe um conector nativo para Adobe Commerce e Magento Open Source. Confirme a versão atual e as condições com a Salsify.
O que significa o estado aceite numa carga em lote?
Significa que o item entrou na fila, não que foi processado com sucesso. O resultado final só se conhece depois do processamento, por isso deve ser consultado.
Preciso de RabbitMQ?
Na versão PaaS, sim: segundo a documentação do Adobe Commerce, tem de instalar e configurar o RabbitMQ antes de usar a API em lote. Na versão em nuvem, as filas correm automaticamente.
Posso usar GET num pedido em lote?
Não. Os endpoints em lote suportam POST, PUT e DELETE, mas não GET.
O Salsify deve gerir o preço e o stock?
Normalmente não. Preço, stock e encomendas pertencem ao ERP e à loja, e o Salsify fica com o conteúdo de produto.