Menú Responsive con Submenús

Integrar SAP Business One com Salesforce Commerce Cloud

Integrar o SAP Business One com o Salesforce Commerce Cloud é ligar um ERP pensado para a média empresa a uma plataforma de comércio digital de grande escala. O Business One mantém artigos, preços, stock e documentos; o Salesforce B2C Commerce, nome técnico do Commerce Cloud, vende, recebe encomendas e devolve-as ao ERP.

O desafio é o desequilíbrio entre os dois sistemas: a plataforma Salesforce foi feita para muito tráfego e muitos visitantes anónimos, enquanto o Business One, em regra instalado na própria empresa, tem de ser protegido e não deve ser consultado a cada visita. Tratamos esta ligação dentro da nossa área de integração de SAP com ecommerce.

Este guia explica quando a combinação faz sentido, como se liga cada lado, que fluxos montar, que limites a documentação da Salesforce impõe e que lista validar antes de contratar.

Quando faz sentido ligar o SAP Business One ao Commerce Cloud?

Faz sentido quando a empresa já usa Business One como ERP e a loja online exige capacidade, marca e funcionalidades que uma plataforma mais simples não oferece. Os cenários típicos:

  • Marcas com muito tráfego, campanhas sazonais e picos de visitas.
  • Várias lojas, países ou marcas sobre o mesmo catálogo.
  • Necessidade de personalização e de promoções avançadas na loja.
  • Equipa de TI com capacidade para manter a ligação ou um parceiro que a faça.

Se a empresa é pequena e o tráfego é moderado, o custo e a complexidade do Commerce Cloud raramente se justificam. Nesse caso compare com plataformas mais leves antes de decidir.

Como se liga o Business One ao Commerce Cloud

A regra de ouro é nunca fazer o Business One responder diretamente a pedidos de visitantes da loja. O Business One alimenta a loja por cargas e eventos, e a loja serve os visitantes com os dados que já tem.

Do lado do Business One

O Business One expõe os dados pelo Service Layer, uma API REST com OData. O cliente inicia sessão com a base de dados da empresa, o utilizador e a palavra-passe, e recebe um identificador de sessão que acompanha os pedidos seguintes. A sessão expira por inatividade, pelo que a integração deve reutilizá-la e voltar a autenticar quando necessário. Cada sessão pertence a uma só base de dados de empresa.

O Service Layer corre normalmente na rede da empresa. Isso obriga a decidir como é que a camada de integração lá chega: VPN, lista de endereços permitidos ou um proxy inverso. Os campos personalizados (prefixo U_) variam por cliente e têm de ser levantados no início.

Do lado do Commerce Cloud

Segundo a documentação da Salesforce, a API do B2C Commerce (SCAPI) divide-se em duas famílias. As Shopper APIs são para os visitantes, usam o SLAS (OAuth 2.1), foram desenhadas para grande escala e são só de leitura, exceto cestos e encomendas. As Admin APIs são para a gestão de produtos, encomendas e inventário, usam um token do Account Manager e permitem leitura e escrita. É por estas últimas que a integração com o ERP trabalha.

AspetoShopper APIsAdmin APIs
UtilizadorVisitante da lojaGestão e integrações
AutenticaçãoSLAS (OAuth 2.1)Token Account Manager
EscritaSó cestos e encomendasLeitura e escrita
Tempo máximo10 segundos60 segundos

A documentação refere ainda que os pedidos à SCAPI têm limite de ritmo e que os corpos de pedido e resposta têm limites de tamanho. Uma integração que envia o catálogo inteiro num só pedido está a pedir problemas.

Que fluxos montar

O sentido de cada fluxo e o seu dono devem ser definidos antes de qualquer desenvolvimento. Esta é a matriz de arranque:

FluxoSentidoMecanismoCuidado
Artigos e preçosBusiness One para lojaCarga em lotesTamanho dos pedidos
StockBusiness One para lojaEventos e lotesStock vendável
EncomendasLoja para Business OneFilaDuplicados
ClientesLoja para Business OneNa compraDados fiscais
Estados e faturasBusiness One para lojaEventosEnvio de avisos

Para os lotes, o Service Layer permite agrupar várias operações num só pedido, e as operações de um mesmo grupo são aplicadas em conjunto ou revertidas em conjunto. Isto é útil para encomendas com várias linhas, em que não se quer um documento a meio.

Limites e cuidados técnicos

  • Paginação: o Service Layer devolve páginas de tamanho limitado e uma ligação para a seguinte; leituras longas têm de seguir essas páginas.
  • Uma só entidade por pedido: cruzar dados de várias entidades faz-se do lado da integração.
  • Ambientes: o Commerce Cloud tem instâncias de desenvolvimento, preparação e produção, e a integração deve ser testada em cada uma antes de ir a produção.
  • Credenciais: o token do Account Manager e as credenciais do Business One devem estar num cofre, não no código.
  • Migração: a Salesforce recomenda a SCAPI a quem vem da OCAPI, pelo que novas integrações devem partir já da SCAPI.

Passo a passo de um arranque seguro

Num projeto com este desequilíbrio entre sistemas, a ordem das tarefas importa tanto como a tecnologia. O percurso que recomendamos é gradual e começa por leitura.

  1. Levantar no Business One os artigos, as listas de preços, os armazéns e os campos personalizados que a loja vai usar.
  2. Criar as credenciais da integração nos dois lados, com permissões mínimas, e guardá-las num cofre.
  3. Carregar um subconjunto do catálogo para uma instância de preparação do Commerce Cloud e comparar com o Business One.
  4. Ativar o envio de encomendas de teste e validar o documento criado: linhas, IVA, portes e condições de pagamento.
  5. Simular indisponibilidade do Business One e confirmar que a fila guarda e reenvia sem duplicar.
  6. Passar a produção por fases, com um relatório diário de diferenças nas primeiras semanas.

Este percurso demora mais do que ligar tudo de uma vez, mas evita o cenário mais caro: descobrir os erros com clientes reais a comprar.

Riscos mais comuns

  • Consultar o Business One a cada visita para mostrar stock, o que sobrecarrega o ERP.
  • Encomendas duplicadas por reenvio sem chave única.
  • Campos personalizados que existem num ambiente e não noutro.
  • Sessões do Service Layer que expiram a meio de uma carga.
  • Preços e promoções definidos em dois sítios e que deixam de coincidir.

Lista de verificação antes de contratar

  1. Está definido o que manda em artigos, preços, stock, clientes e promoções.
  2. O acesso da camada de integração ao Business One está resolvido e seguro.
  3. Os campos personalizados do Business One estão levantados e documentados.
  4. O desenho dos lotes respeita os limites de tamanho e de ritmo da SCAPI.
  5. Há instâncias de teste nos dois lados e dados realistas para validar.
  6. Cada falha tem dono, aviso e procedimento de recuperação.
  7. Existe reconciliação periódica entre encomendas e stock dos dois sistemas.

Como trabalhamos na Avafa

Começamos por mapear dados, responsáveis e casos de erro, e só depois escolhemos a camada de ligação. Pode ver como organizamos estes projetos na nossa página de integração de SAP com ecommerce.

Outras combinações com SAP

Perguntas frequentes

O Salesforce Commerce Cloud liga-se diretamente ao SAP Business One?

Não existe uma ligação pronta no Business One para este fim. Faz-se com uma camada intermédia que fala com o Service Layer de um lado e com a SCAPI do outro.

Que API do Commerce Cloud usa a integração?

As Admin APIs, que servem para gerir produtos, encomendas e inventário e usam um token do Account Manager. As Shopper APIs são para os visitantes da loja.

O Business One aguenta o tráfego da loja?

Não deve ser exposto a esse tráfego. A loja serve os visitantes com os dados que já recebeu, e o Business One só trata cargas e encomendas.

Como evito duplicar encomendas?

Enviando cada encomenda com uma chave única e fazendo a camada de integração recusar repetições dessa chave.

Posso começar só pelo stock e pelos preços?

Sim. São os dados que mais erros visíveis causam e permitem validar a ligação antes de tratar encomendas e clientes.

Scroll to Top
Gratuito

Diagnóstico gratuito do seu catálogo ERP/PIM

    Indique o seu ERP/PIM e a sua loja online e preparamos um diagnóstico gratuito de como o ACE pode gerar e sincronizar o conteúdo do seu catálogo.