Passar para o conteúdo principal

Configurando sua integração OmniChat <> Salesforce Commerce on Core (B2B/D2C)

Aprenda a conectar sua loja Salesforce Commerce à OmniChat para consultar catálogo, preços, clientes e pedidos, simular frete e entregar o carrinho ao comprador para que ele finalize o pagamento na própria loja.

P
Escrito por Produto Omnichat

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 omniChatCartHandoff será 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 Account que guarda o documento do comprador, como CNPJ__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 omniChatCartHandoff foi 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.

Respondeu à sua pergunta?