Skip to main content

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 score contendo o leadType e o icp do usuário.
  • 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, como company:10-50-funcionarios, company:tecnologia.
  • Resultado:

    • Cria um array tags contendo as tags associadas ao usuário.
  • Resultado Final da Formatação:

    • O serviço retorna um objeto que contém o score e as tags extraídas e formatadas.

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:

  1. find: Busca os dados do usuário usando o e-mail, retornando os dados brutos da RD Station.
  2. mountData: Formata os dados brutos do usuário, extraindo o score e as tags associadas ao seu perfil.
  3. setLastUpdate: Atualiza a data da última interação ou atualização do usuário na API da RD Station.

Esse serviço é uma camada intermediária que facilita a comunicação com a API da RD Station. Ele busca dados de usuários com base no e-mail, formata esses dados para torná-los mais úteis e também atualiza informações específicas do lead, como a data de última interação. Além disso, gerencia a autenticação com a API da RD Station de forma eficiente, armazenando e reutilizando tokens de acesso.