Skip to content

Instantly share code, notes, and snippets.

@andremury
Last active April 28, 2025 16:46
Show Gist options
  • Select an option

  • Save andremury/94c3c75be8d4a47c0306c22f6883cc8c to your computer and use it in GitHub Desktop.

Select an option

Save andremury/94c3c75be8d4a47c0306c22f6883cc8c to your computer and use it in GitHub Desktop.

Integração RD Station CRM <> Sienge Plataforma

Esta aplicação realiza a integração entre as plataformas RD CRM e Sienge a partir de um sistema intermediário, denominado Webhook Hub.

Como Funciona

  1. O sistema configura gatilhos na RD CRM
  2. Ao modificar uma negociação, criar uma empresa ou contato no CRM, o sistema notifica esta aplicação, que toma decisões a partir do tipo de notificação recebida:
    • Contato Criado: Ao registrar um contato, o CRM notifica esta aplicação a partir de um evento chamado crm_contact_created e então, este sistema compara com os clientes cadastrados no Sienge e, caso não esteja cadastrado, cria um registro de pessoa física. Este registro só é realizado caso o campo customizado cpf tenha sido preenchido no cadastro, caso contrário, é ignorado.
    • Organização criada: Ao registrar uma empresa, o CRM notifica esta aplicação a partir de um evento chamado crm_organization_created e então, compara com os clientes do tipo empresa no Sienge e, caso não esteja presenta, cria um registro de pessoa jurídica. Este registro só é realizado caso o campo customizado "CNPJ" tenha sido preenchido no cadastro, caso contrário, é ignorado.
    • Negociação Atualizada: Ao modificar uma negociação, o CRM notifica esta aplicaçao a partide de um evento chamado crm_deal_updated. O sistema busca o estado de negociação "ganha" (won) ou "perdida" (lost).
      1. Caso a negociação seja ganha, o campo customizado "Identificador do Empreendimento (Sienge)" esteja preenchido e a opção do sistema para realizar esta ação estiver ativa, o sistema tenta buscar o empreendimento no Sienge e criar um contrato, após a criação do contrato, tenta atualizar a negociação na RD Station inserindo o identificador do contrato criado no campo customizado "Identificador do Contrato de Venda (Sienge)".
      2. Caso s negociação seja perdida, o campo "Identificador do Contrato de Venda (Sienge)" e a opção do sistema de cancelar contrato esteja ativa, o sistema tenta cancelar, no Sienge, o contrato referenciado pela negociação.

O Fluxo acima é visualizado pelo diagrama a seguir:

flowchart TD
    A[Configuração de Gatilhos na RD CRM] --> B[Notificação para o Webhook Hub]

    B --> C[Contato Criado]
    B --> D[Organização Criada]
    B --> E[Negociação Atualizada]

    C --> F{Campo customizado CPF preenchido?}
    F -->|Sim| G[Comparar com clientes no Sienge]
    G -->|Não encontrado| H[Criar registro de Pessoa Física]
    F -->|Não| I[Ignorar notificação]

    D --> J{Campo customizado CNPJ preenchido?}
    J -->|Sim| K[Comparar com empresas no Sienge]
    K -->|Não encontrada| L[Criar registro de Pessoa Jurídica]
    J -->|Não| M[Ignorar notificação]

    E --> N{Estado da negociação?}
    N -->|Ganha| O[Verificar Identificador do Empreendimento]
    O -->|Preenchido e opção ativa| P[Buscar empreendimento no Sienge]
    P --> Q[Criar contrato no Sienge]
    Q --> R[Atualizar negociação na RD Station com Identificador do Contrato]

    N -->|Perdida| S[Verificar Identificador do Contrato de Venda]
    S -->|Preenchido e opção ativa| T[Cancelar contrato no Sienge]
Loading

Cenários de testes

Para realizar os testes de integração e verificar a completude das funções, o usuário deve realizar o fluxo base a seguir:

  1. Registrar uma Empresa na RD Station CRM, preenchendo o campo CNPJ com um valor válido. Caso o valor não seja válido, o sistema do Sienge vai negar a inserção da empresa e será necessário sincronizar manualmente.

    • Verificar o sistema Sienge, pelo CNPJ inserido, se a empresa foi cadastrada no sistema, a partir da lista de clientes.
  2. Registrar um Contato na RD Station CRM. Caso queira inserir este contato no Sienge, preencha o campo CPF com um valor válido. Caso o valor não seja válido, o sistema do Sienge vai negar a inserção da empresa e será necessário sincronizar manualmente.

    • Verificar no sistema Sienge, caso tenha sido cadastrado um CPF, a partir da lista de clientes.
  3. Registrar uma negociação na RD Station CRM, preenchendo o campo customizado Identificador do Empreendimento (Sienge). Este campo é numérico e é referente ao campo "Código do Empreendimento", ou "id" no sistema Sienge, a primeira coluna à esquerda da tabela de visualização, exemplo:

    id nome cnpj
    123 Empresa Alpha 12.345.678/0001-90
    234 Empresa Beta 98.765.432/0001-10
  4. Marcar a negociação como venda. Nesse momento, para que a integração e a criação do contrato ocorra corretamente, o empreendimento identificado deve estar corretamente cadastrado na plataforma sienge, com todas as informações necessárias para a criação de um contrato, caso contrário, o Sienge irá negar a inserção do contrato.

  5. Após marcar como venda, atualize a página e confira o campo "Identificador do Contrato de Venda (Sienge)" com o numero do contrato criado. Se este campo continuar vazio, significa que ou o contrato não foi criado ou o sistema não conseguiu atualizar o campo da negociação. Para confirmar a causa, confira os contratos do empreendimento no Sienge. Todos os registros criados a partir deste sistema terão uma nota indicando Integração com RD Station ou [RD CRM] <descrição da origem>

  6. Marque o contrato como "Perda". Ao realizar esta ação, o sistema tentará cancelar o contrato indicado no campo "Identificador do Contrato de Venda (Sienge)". A negociação não será modificada. Caso seja marcada como "Venda" novamente, um novo contrato não será criado e, para que isso ocorra, deve-se remover o atual identificador de contrato do campo customizado.

  7. Caso todas as operações ocorram como descritas, a integração se entende como completa.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment