Integração com Conta 2
O serviço RDSM é responsável por realizar interações com a API da RD Station - Conta 2, obtendo, formatando e atualizando informações de leads (potenciais clientes) e clientes efetivos com base no e-mail fornecido. Ele gerencia a autenticação, coleta e formatação dos dados, e também atualiza informações específicas dos leads.
1. Recuperação de Informações de Usuários
A função principal do serviço é buscar dados sobre um usuário (lead ou cliente) usando o e-mail como identificador.
- Obtém um token de autenticação válido para a API da RD Station.
- Realiza uma requisição GET para o endpoint da RD Station, fornecendo o e-mail do usuário.
- Recebe os dados brutos do usuário, que incluem informações de perfil e interações do usuário com a plataforma RD Station.
2. Autenticação com a API da RD Station
Para acessar os dados do usuário, o serviço precisa se autenticar na API da RD Station. Para isso:
- Verifica se existe um token de acesso armazenado e se ainda é válido (não expirou).
- Se o token é válido, reutiliza-o para as requisições.
- Caso contrário, realiza uma requisição POST para o endpoint de autenticação da RD Station, usando as credenciais da aplicação (
client_id,client_secret,refresh_token), para obter um novo token. - Armazena o novo token e sua data de expiração para uso futuro.
3. Formatação dos Dados Recuperados
Após receber os dados brutos, o serviço formata as informações para uso posterior:
-
Extração do Score do Usuário:
- Campos Utilizados:
cf_mdw_lead_type: Tipo do lead.cf_icp_score: Pontuação do ICP (Ideal Customer Profile).
- Processo:
- Verifica se esses campos estão presentes e extrai seus valores.
- Processa as strings para padronização (por exemplo, converte para letras minúsculas e substitui espaços por hifens).
- Resultado:
- Cria um objeto
scorecontendo oleadTypee oicpdo usuário.
- Cria um objeto
- Campos Utilizados:
-
Extração de Tags:
- Campos Utilizados:
cf_rdu_user_id: Indica se o usuário tem conta na RDU.cf_rdu_curso_finalizado: Indica se o usuário finalizou um curso na RDU.cf_numero_de_funcionarios: Número de funcionários da empresa.cf_area_de_atuacao_da_empresa: Setor de atuação da empresa.
- Processo:
- Verifica a presença desses campos e extrai seus valores.
- Gera tags padronizadas, como
rdu:tem-conta,rdu:curso-finalizado, e tags específicas da empresa, comocompany:10-50-funcionarios,company:tecnologia.
- Campos Utilizados:
-
Resultado:
- Cria um array
tagscontendo as tags associadas ao usuário.
- Cria um array
-
Resultado Final da Formatação:
- O serviço retorna um objeto que contém o
scoree astagsextraídas e formatadas.
- O serviço retorna um objeto que contém o
4. Atualização da Data de Última Interação
Além de buscar e formatar dados, o serviço também atualiza a data da última interação ou atualização do usuário na RD Station.
- Utiliza o token de autenticação para fazer uma requisição PATCH ao endpoint do usuário.
- Atualiza o campo
cf_dg_quiz_brandformance_intermediario_marketing(Atenção: campo temporário. Em breve atualizaremos o nome do campo para algo relacionado à operação.) com a data atual.
Funções Disponíveis pelo Serviço
O serviço retorna três funções principais:
- find: Busca os dados do usuário usando o e-mail, retornando os dados brutos da RD Station.
- mountData: Formata os dados brutos do usuário, extraindo o
scoree astagsassociadas ao seu perfil. - setLastUpdate: Atualiza a data da última interação ou atualização do usuário na API da RD Station.