Sincronização de base de clientes de CRM via API

Pessoal, tenho um CRM que preciso sincronizar os dados de clientes com os clientes que estão na VTEX.
Eu preciso que todos os clientes que estão na VTEX sejam integrados para o meu CRM e vice-versa. Ou seja, preciso fazer uma carga inicial e depois garantir que novos clientes e atualizações sejam sincronizadas entre os sistemas.

Conseguem me dar uma luz para iniciar este projeto? Não existe uma API para clientes.

Oi @tiagonovaes, seja bem-vindo à VTEX Community!

Na VTEX, os dados de clientes são armazenados no Master Data, que é uma espécie de banco de dados na nuvem vinculado à conta.

As entidades de dados (“tabelas”) relevantes aí seriam CL (acrônimo para “clients”) e AD (acrônimo para “addresses”). Você consegue mais informações sobre essas estruturas no artigo Importar dados de clientes.

Vale a pena dar uma olhada na Master Data API - V2, especialmente:

Eu não tenho certeza de como você poderia detectar novos clientes na VTEX. Talvez uma busca filtrada por data, feita todo dia. Talvez uma busca toda vez que um pedido fosse feito, usando uma integração de feed de pedidos.

Exemplo de consulta a cliente por email

curl --location --request GET 'https://{accountName}.vtexcommercestable.com.br/api/dataentities/CL/search?_fields=_all&_where=email={email}' \
--header 'X-VTEX-API-AppKey:  {X-VTEX-API-AppKey}' \
--header 'X-VTEX-API-AppToken:  {X-VTEX-API-AppToken}' \
--header 'Content-Type: application/json' 

Isso considerando:

  • {accountName} = conta VTEX
  • {email} = email do cliente que você quer buscar na base de clientes
  • {X-VTEX-API-AppKey} e {X-VTEX-API-AppToken} = Application key e token
2 Likes

Como o @georgebrindeiro informou, os dados dos clientes são todos armazenados na entidade CL do masterdata.
O que você não deixou claro é se você sabe programar para poder integrar as informações de clientes com o seu CRM ou não.
Vou imaginar que saiba ou que tenha alguém para fazer isso. Sendo assim, o que você quer fazer é totalmente possível.

Existem 3 formas de serem feitas: Manual, semi-manual ou automática.

Manual: é acompanhar a entidade todos os dias e ir copiando sempre que achar coisa nova. (péssima idéia kkk).
Semi-manual: é você diariamente extrair uma planilha da entidade CL e, através de um app criado, extrair só o que for novo e gravar no seu CRM.
Automática: é você criar uma aplicação completa para deixar os dados alinhados. Nesse caso, tem várias alternativas e vou citar 1 abaixo:

Você precisa se atentar a 2 pontos:

1- dados antigos: a leitura desses dados precisa ser feita por API como citado pelo @georgebrindeiro através do endpoint de scroll ou de search.
2 - dados novos: pode-se criar uma trigger no Master Data para sempre que entrar um novo registro ou tiver uma alteração em algum registro, disparar uma url para os seus servidores informando da alteração. Uma “simulação” de um webhook. Com esse alerta em mãos, você efetiva a sua atualização no seu sistema.

Você disse “Não existe uma API para clientes”. Mas, não disse o que existe para você conseguir gravar as informações no seu CRM.

Na VTEX você pode tudo (ou quase tudo) através de API.

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.