A integração entre a OmniChat e o Salesforce Commerce permite utilizar os produtos da sua loja durante os atendimentos, consultar preços, clientes e pedidos, simular frete, montar carrinhos e enviar ao consumidor o link para finalizar a compra no checkout da própria loja.
Também é possível acompanhar as atualizações de status dos pedidos e as alterações de produtos.
⚠️ Atenção: esta integração atende o Salesforce B2B/D2C Commerce, também chamado de Commerce on Core. Ela não atende o Salesforce B2C Commerce, anteriormente conhecido como Demandware. Em caso de dúvida sobre o produto contratado, confirme com o administrador da sua organização Salesforce antes de continuar.
Antes de começar
Para realizar a configuração, você precisa:
Ter acesso administrativo ao Salesforce (Setup);
Ter uma loja B2B ou D2C Commerce já criada e publicada;
Ter um usuário dedicado para a integração;
Ter uma conta habilitada como compradora na loja;
Ter em mãos o pacote de metadados fornecido pela OmniChat;
Ter em mãos o endereço da API e o token fornecidos pela OmniChat;
Ter acesso às configurações de integrações da OmniChat.
Como localizar os dados da sua loja no Salesforce
Passo 1: No Salesforce, clique no App Launcher (ícone de nove pontos, no canto superior esquerdo), pesquise por Stores e abra o item.
Passo 2: Clique no nome da loja. A página mostra o nome da loja e o endereço do site. O Webstore ID está na barra de endereço do navegador, logo depois de /WebStore/, e começa com 0ZE. Copie esse código.
Passo 3: Volte ao App Launcher, pesquise por Accounts e abra a conta que será usada como compradora. O identificador está na barra de endereço, logo depois de /Account/, e começa com 001. Copie esse código.
Passo 4: Na página da loja, clique no cartão Administration e, no menu à esquerda, em Buyer Access. Em Store Access, confira se a conta compradora pertence a um dos grupos listados em Buyer Groups. Sem essa associação, o Salesforce pode devolver produtos sem preço.
Anote também:
My Domain URL: endereço da organização, por exemplo
https://minha-empresa.my.salesforce.com, sem barra no final;Site URL: endereço público da loja, por exemplo
https://minha-empresa.my.site.com/loja;URL do checkout: página da loja onde o componente
omniChatCartHandoffserá publicado, por exemplo a página Cart.
Como instalar o pacote da OmniChat no Salesforce
O Salesforce não envia avisos nativos para a OmniChat quando um pedido muda de status ou um produto é alterado. O pacote fornecido pela OmniChat instala:
O flow de mudança de status do pedido;
O flow de mudança de produto;
As classes Apex usadas nos avisos;
Os conjuntos de permissões OmniChat Adapter Integration e OmniChat Adapter Callout;
o componente
omniChatCartHandoff, que monta o carrinho na sessão do comprador.
Passo 1: Entre no Salesforce com um usuário administrador e abra o link de instalação fornecido pela OmniChat: https://login.salesforce.com/packaging/installPackage.apexp?p0=04tak000000mxfJAAQ
Se a instalação for em um sandbox, troque login.salesforce.com por test.salesforce.com.
Passo 1: Peça ao administrador Salesforce para implantar o pacote. Quando a entrega for feita como projeto Salesforce, o comando é executado dentro da pasta do pacote:
sf project deploy start --source-dir force-app --target-org <alias-da-org>
Como preparar o usuário de integração
Não use o usuário pessoal de um administrador. Crie ou escolha um usuário de integração que continue existindo mesmo quando alguém sair da empresa.
Passo 1: Clique na engrenagem, no canto superior direito, e depois em Setup.
Passo 2: No campo Quick Find, à esquerda, digite Users e clique em Users. Clique no nome do usuário de integração.
Passo 3: Desça até a seção Permission Set Assignments e clique em Edit Assignments. Mova OmniChat Adapter Integration para a lista da direita e clique em Save.
Esse conjunto libera a API e a leitura dos objetos usados pela OmniChat. Para conferir o que ele libera, acesse Setup > Permission Sets > OmniChat Adapter Integration > Object Settings. A imagem abaixo mostra apenas os objetos com acesso liberado; no Salesforce, a lista inclui todos os objetos da organização.
Como criar o External Client App
O External Client App gera as credenciais usadas pela OmniChat para acessar a API do Salesforce.
Passo 1: Clique na engrenagem, no canto superior direito, e depois em Setup.
Passo 2: Digite External Client App Manager no Quick Find e clique no item com esse nome.
Passo 3: Clique em New External Client App.
Passo 3.1: Em Basic Information, preencha External Client App Name, por exemplo OmniChat Commerce Integration, e Contact Email.
Passo 3.2: Expanda API (Enable OAuth Settings) e marque Enable OAuth. Em Callback URL, informe https://login.salesforce.com/services/oauth2/success. O campo é obrigatório, mas não é usado por esta integração.
Passo 3.3: Em OAuth Scopes, selecione Manage user data via APIs (api) e clique na seta para a direita.
Passo 3.4: Em Flow Enablement, marque Enable Client Credentials Flow, clique em OK no aviso que aparecer e depois em Create.
Passo 6: De volta à lista do External Client App Manager, clique na seta do menu à direita do aplicativo e escolha Edit Policies. Expanda OAuth Policies.
Passo 7: Em OAuth Flows and External Client App Enhancements, marque Enable Client Credentials Flow, informe o usuário de integração em Run As (Username) e clique em Save.
Passo 8: Clique no nome do aplicativo, abra a aba Settings e expanda OAuth Settings. Clique em Consumer Key and Secret. Uma nova aba é aberta e o Salesforce pode pedir um código de verificação enviado ao seu e-mail.
Passo 9: Copie o Consumer Key e o Consumer Secret. Eles serão usados como Client ID e Client Secret na OmniChat.
⚠️ Atenção: guarde os dois valores em local seguro e não os compartilhe. Quem tiver acesso a eles poderá solicitar um token em nome do usuário de integração.
Como configurar a credencial nomeada
As classes Apex do pacote enviam os avisos para a OmniChat por meio da credencial nomeada OmniChat_Adapter. O nome não pode ser alterado.
Passo 1: Em Setup, digite Named Credentials no Quick Find e clique no item com esse nome.
Passo 2: Na aba Named Credentials, clique em OmniChat Adapter.
Passo 3: Confira se o campo Name mostra OmniChat_Adapter e se o campo URL mostra o endereço da API fornecido pela OmniChat. Configure a autenticação com o token fornecido pela OmniChat.
Como ativar os Flows
Os Flows são instalados inativos para evitar o envio de avisos antes da configuração. Repita os passos abaixo para OmniChat Order Status Notification e OmniChat Product Change Notification.
Passo 1: Em Setup, digite Flows no Quick Find e clique em Flows. Clique no nome do Flow. O Flow Builder será aberto.
Passo 2: No painel Toolbox, à esquerda, abra a aba Manager. Em Constants, clique em Retailer_Id, informe o identificador do varejista na OmniChat e clique em Done. Repita para Integration_Id com o identificador da integração. Se esses identificadores não estiverem visíveis na OmniChat, solicite-os ao suporte.
Passo 3: Clique em Save As New Version e depois em Activate.
Passo 4: Volte a Setup > Flows e confira se a coluna Active está marcada nos dois Flows.
⚠️Uma organização com mais de uma integração OmniChat precisa de um par de Flows para cada integração, com nomes diferentes e os respectivos identificadores.
Como publicar o componente do carrinho
O link enviado ao comprador usa o componente omniChatCartHandoff para montar os itens no carrinho da própria sessão. Sem o componente, o comprador chega à loja com o carrinho vazio.
Passo 1: Em Setup, digite All Sites no Quick Find e clique em All Sites. Na linha do site da loja, clique em Builder.
Passo 2: No seletor de páginas, no topo à esquerda (onde aparece Home), escolha a página informada em URL do checkout, por exemplo Cart.
Passo 3: Clique no ícone de raio (Components) na barra lateral, procure omniChatCartHandoff em Custom e arraste-o para a página. Para conferir se ele já está na página, clique no terceiro ícone da barra lateral (Page Structure).
Passo 4: Clique em Publish, no canto superior direito.
Como liberar o acesso de visitantes
Se o modo de compra da integração aceitar visitantes, siga também estes passos.
Passo 1: No Experience Builder, clique no quarto ícone da barra lateral (Settings). Em General, marque Public Access.
Passo 2: Em Setup > All Sites, clique em Workspaces na linha do site. Clique em Administration > Preferences, marque Allow guest users to access public APIs e clique em Save.
Passo 3: Em Setup, digite Permission Sets no Quick Find, clique em OmniChat Adapter Callout e depois em Apex Class Access. Confira se OmniChatCartHandoff aparece na lista. Esse conjunto precisa estar atribuído ao usuário visitante do site: clique em Manage Assignments > Add Assignment para atribuir.
Passo 4: Na página da loja, clique em Administration > Buyer Access e desça até Guest Access. A opção está habilitada quando aparece o botão Disable. Confira também Cart access e Preserve guest carts.
Como criar a integração na OmniChat
Passo 1: Na plataforma OmniChat, acesse Configurações > Integrações.
Passo 2: Na tela de integrações, selecione E-Commerce/ERP. Clique em Nova
integração e escolha Salesforce Commerce.
Preenchendo o formulário
Nome
Insira o nome de exibição da integração. Este nome será utilizado internamente para identificar a integração na plataforma.
Times
Ao associar um ou mais times, a integração ficará disponível exclusivamente para os membros desse(s) time(s).
URL do domínio (My Domain)
Endereço da organização Salesforce, com
https://e sem barra no final. Exemplo:https://minha-empresa.my.salesforce.com
URL do site da loja
Endereço público da loja Experience Cloud. Exemplo:
https://minha-empresa.my.site.com/loja
Webstore ID
Cole o identificador da loja copiado no Salesforce. Ele começa com
0ZE.
Conta de comprador (effectiveAccountId)
Cole o identificador da conta compradora copiado no Salesforce. Ele começa com
001. Essa conta é usada como referência para catálogo e preço.
Campo do CPF/CNPJ na conta (opcional)
Nome de API do campo de
Accountque guarda o documento do comprador, comoCNPJ__c. Se houver campos separados, informe-os separados por vírgula.Com o campo preenchido, cada cliente é atendido com o catálogo e o preço da própria conta compradora. Com o campo vazio, todos são consultados pela conta informada em effectiveAccountId. Em uma loja B2B com preços negociados, o preenchimento é obrigatório e cada documento deve identificar uma única conta.
Client ID
Cole o Consumer Key do External Client App.
Client Secret
Cole o Consumer Secret do External Client App.
URL do checkout
Página da loja onde o componente
omniChatCartHandofffoi publicado. É para onde o cliente será direcionado com o carrinho montado.
Modo de compra
Escolha Visitante e cliente autenticado ou Somente cliente autenticado, conforme a configuração da loja.
Salvar Configurações
Após preencher todos os campos necessários, clique em Adicionar integração. A OmniChat valida as credenciais, o acesso à loja, a conta compradora e as permissões necessárias antes de salvar.
Se a validação indicar uma permissão ausente, encaminhe a mensagem ao administrador do Salesforce. Ela informa qual objeto ou campo precisa ser liberado pelo conjunto OmniChat Adapter Integration.
Grupo de comprador padrão (opcional)
Depois que a integração existir, abra-a novamente para edição. O campo Grupo de comprador para novos compradores será exibido.
Use esse campo somente quando a loja tiver mais de um grupo e for necessário definir em qual deles uma conta ainda não associada deve entrar. Se a loja tiver um único grupo, a integração usa esse grupo sem configuração extra.
Conclusão
Com estes passos concluídos, a integração entre OmniChat e Salesforce Commerce estará ativa. Você poderá consultar produtos diretamente nas conversas, compartilhar detalhes com clientes, montar carrinhos e enviar o link de checkout diretamente na plataforma OmniChat. Aproveite para maximizar as vendas e a eficiência de seus vendedores.


















