Skip to main content

Integração com Billing

O serviço Billing, é responsável por interagir com a API de faturamento para obter e formatar dados de clientes, especialmente informações relacionadas a assinaturas e planos de produtos (como RDSM e RDCRM). A seguir, está a explicação detalhada de suas funções:

1. Recuperação de Informações de Faturamento

A função principal desse serviço é buscar informações de faturamento associadas a um usuário (cliente ou potencial cliente) usando o e-mail. Para isso:

  • É realizada uma requisição GET à API de Billing, utilizando o e-mail do usuário como parâmetro. A URL faz referência a um endpoint que retorna informações detalhadas do cliente.
  • As informações retornadas pela API são então convertidas para um formato específico e retornadas para uso posterior no fluxo da aplicação.

2. Construção de Dados de Marketing

Uma das funcionalidades principais do serviço é processar os dados relacionados ao plano de marketing (RDSM) do cliente, caso o cliente tenha um plano de marketing ativo.

  • Determinação do Status do Cliente:
    • Verifica se o cliente é atual (is_customer), ex-cliente (was_customer) ou nunca foi cliente.
    • O status é definido como current, ex ou never.
  • Extração e Formatação de Informações do Plano:
    • Extrai o nome do plano (plan_name) e o processa para padronização.
    • Verifica se o cliente possui um plano premium (is_premium).
    • Verifica se está em um plano entry level (is_entry_level).
  • Verificação de Parceria:
    • Determina se o cliente é um parceiro (is_partner).
  • Resultado:
    • Retorna um objeto ProductRelation contendo informações sobre o status, estágio, plano, se é premium, se está em entry level, e se é parceiro.

3. Construção de Dados de CRM

Similar à função de marketing, o serviço faz o mesmo processo, mas para os dados de CRM (RDSCRM) do cliente.

  • Segue o mesmo fluxo da construção de dados de Marketing, aplicando aos dados de CRM.
  • Verifica e extrai informações específicas ao CRM.

4. Determinação do Status do Cliente

Uma função é usada tanto nos dados de marketing quanto de CRM para determinar o status do cliente em relação a esses produtos. O status pode ser:

  • Current (cliente atual),
  • Ex (ex-cliente), ou
  • Never (nunca foi cliente).

Esse status é fundamental para categorizar o cliente de acordo com seu histórico de uso dos produtos da empresa.

5. Formatação dos Dados de Faturamento

O serviço é responsável por agregar e formatar os dados de faturamento do cliente.

  • Recebe os dados brutos de faturamento.
  • Se houver dados de Marketing, chama buildMarketingData para processá-los.
  • Se houver dados de CRM, chama buildCrmData para processá-los.
  • Combina as informações em um objeto BillingFormattedData (subscriptions), organizando os dados sobre as assinaturas do cliente para os dois produtos.
  • Retorna esse objeto formatado, que é utilizado posteriormente na aplicação para exibir ou manipular as informações de faturamento do cliente.

Funções Disponíveis pelo Serviço

O serviço retorna duas funções principais:

  1. find: Faz a requisição à API de Billing para buscar os dados de um cliente com base no e-mail fornecido.
  2. mountData: Processa e formata os dados brutos de faturamento, organizando informações sobre as assinaturas de Marketing e CRM.

Esse serviço faz a ponte entre a aplicação e a API de billing, permitindo buscar e formatar informações sobre os planos de marketing e CRM de um cliente. Ele recupera dados brutos de um cliente com base no e-mail, determina o status do cliente em relação aos produtos, e organiza as informações de maneira estruturada para uso posterior. Isso permite que a aplicação tenha acesso a dados de assinaturas de forma clara e padronizada, melhorando a gestão dos clientes.