15/04/2024

Obtendo dados do Pipedrive usando Python

Pipedrive é um sistema de CRM popular adotado por empresas de todos os portes. Na EximiaCo, utilizamos o PipeDrive para controlar a relação com nossos clientes.

O Pipedrive oferece uma API fácil de usar, baseada em HTTP.

Chave de acesso

Se você utiliza Pipedrive em sua organização e deseja interagir com seus dados, primeiro precisa obter a chave de acesso a API. Isso é fácil de fazer.

A chave pode ser encontrada nas configurações do aplicativo web do Pipedrive, em “Settings > Personal preferences > API“. É importante não compartilhar essa chave com ninguém que você não confie, pois ela dá acesso aos dados da sua conta.

Instalando as dependências

Para fazer uso da API, usaremos o pacote requests. Para poder tratar os dados, usaremos o pandas.

Python
! pip install pandas requests

No código, é importante importar esses dois pacotes.

Python
import pandas as pd
import requests

Obtendo os dados

Vamos então iniciar nossa cruzada por obtenção de dados do Pipedrive. Para começar, vamos escrever código genérico para interagir com endpoints chaves.

Python
def fetch_pipedrive(api_token, entity, start = 0, params = {}):
    url = f"https://api.pipedrive.com/v1/{entity}"
    
    params['api_token'] = api_token
    params['limit'] = 500
    params['start'] = start

    response = requests.get(url, params=params)
    if response.status_code == 200:
        return response.json()
    else:
        return None
    
def convert_to_dataframe(source):
    if source and 'data' in source:
        df = pd.DataFrame(source['data'])
        return df
    else:
        return pd.DataFrame() 

Esse código busca informações a partir de um endpoint relevante dentro do Pipedrive. Abaixo a lista de referência:

  1. Deals: Uma relação das negociações/oportunidades.
  2. Persons: Usado para gerenciar informações sobre pessoas (contatos) no PipeDrive. Permite listar, criar, atualizar e deletar contatos.
  3. Organizations: Similar ao endpoint de pessoas, mas focado em organizações. Você pode gerenciar informações sobre empresas e outras organizações que estão registradas no seu CRM.
  4. Activities: Permite gerenciar atividades associadas aos negócios, como reuniões, chamadas, tarefas, e-mails, entre outros. É um componente crucial para o acompanhamento de interações com clientes.
  5. Products: Usado para gerenciar os produtos que sua empresa oferece. Este endpoint permite listar produtos, associá-los a negócios, e gerenciar informações relacionadas a esses produtos.
  6. Pipelines: Cada pipeline representa um conjunto de estágios que define um processo de vendas específico. Este endpoint permite manipular esses pipelines, que são essenciais para visualizar o fluxo de negócios.
  7. Stages: Estágios de uma pipeline.
  8. Webhooks: Permite configurar webhooks para eventos no PipeDrive, o que é útil para integrações em tempo real e reações automatizadas a mudanças no CRM.
  9. Files: Gerencia arquivos associados a negócios, pessoas ou organizações. É possível fazer upload e download de arquivos, o que facilita a gestão documental integrada ao CRM.
  10. Notes: Permite adicionar e gerenciar notas associadas a negócios, contatos e organizações. Notas são úteis para manter registros detalhados das interações e pensamentos relacionados aos clientes.
  11. User: Para gerenciar informações sobre os usuários do sistema, como obter detalhes do usuário atualmente autenticado e listar todos os usuários da empresa.
  12. Search: Um endpoint de busca que permite realizar buscas complexas e específicas através dos dados no PipeDrive, incluindo negócios, contatos, atividades e muito mais.

Por exemplo, o código abaixo resgata todas as pipelines definidas no Pipedrive da organização.

Python
api_token = "SEU-API-TOKEN"
pipelines = convert_to_dataframe(fetch_pipedrive(api_token, "pipelines"))
pipelines

Obtendo listas completas de consultas paginadas

Um problema potencial da consulta que implementamos até aqui é o limite de elementos retornados em uma única cosulta. Atualmente, estamos buscando o total possível (500, que é restrição da própria Pipedrive).

A solução é iterar na busca enquanto houverem páginas novas.

Python
def has_next_page(data):
    return data.get('additional_data', {}).get('pagination', {}).get('more_items_in_collection', False)

def fetch_next_page(api_token, entity, current_page):
    if not has_next_page(current_page):
        return None
    
    next_start = current_page.get('additional_data', {}).get('pagination', {}).get('next_start')
    return fetch_pipedrive(api_token, entity, next_start)
    
def get_all_deals(api_token):
    data = fetch_pipedrive(api_token, 'deals')
    df = convert_to_dataframe(data)
    while has_next_page(data):
        data = fetch_next_page(api_token, 'deals', data)
        other_df = convert_to_dataframe(data)
        df = pd.concat([df, other_df])
    return df

No exemplo acima, temos o código que recupera todos os deals no Pipedrive consolidando tudo em um único dataframe.

Python
deals = get_all_deals(api_token)
deals

E é só o começo…

Com as informações em dataframes podemos qualificar os dados e fazer análises refinadas. O uso das APIs garante sempre os “dados quentes”.

Um ponto a se considerar é a combinação dos dados do Pipedrive com outras fontes, mas esse é tema para outro post.

Deixe seu comentário

Subscribe
Notify of
0 Comentários
Oldest
Newest Most Voted
Feedbacks interativos
Ver todos os comentários

Últimos posts

Curso Reputação e Marketing Pessoal

Masterclasses

01

Introdução do curso

02

Por que sua “reputação” é importante?

03

Como você se apresenta?

04

Como você apresenta suas ideias?

05

Como usar Storytelling?

06

Você tem uma dor? Eu tenho o alívio!

07

Escrita efetiva para não escritores

08

Como aumentar (e manter) sua audiência?

09

Gatilhos! Gatilhos!

10

Triple Threat: Domine Produto, Embalagem e Distribuição

11

Estratégias Vencedoras: Desbloqueie o Poder da Teoria dos Jogos

12

Análise SWOT de sua marca pessoal

13

Soterrado por informações? Aprenda a fazer gestão do conhecimento pessoal, do jeito certo

14

Vendo além do óbvio com a Pentad de Burkle

15

Construindo Reputação através de Métricas: A Arte de Alinhar Expectativas com Lag e Lead Measures

16

A Tríade da Liderança: Navegando entre Líder, Liderado e Contexto no Mundo do Marketing Pessoal

17

Análise PESTEL para Marketing Pessoal

18

Canvas de Proposta de Valor para Marca Pessoal

19

Método OKR para Objetivos Pessoais

20

Análise de Competências de Gallup

21

Feedback 360 Graus para Autoavaliação

22

Modelo de Cinco Forças de Porter

23

Estratégia Blue Ocean para Diferenciação Pessoal

24

Análise de Tendências para Previsão de Mercado

25

Design Thinking para Inovação Pessoal

26

Metodologia Agile para Desenvolvimento Pessoal

27

Análise de Redes Sociais para Ampliar Conexões

Lições complementares

28

Apresentando-se do Jeito Certo

29

O mercado remunera raridade? Como evidenciar a sua?

30

O que pode estar te impedindo de ter sucesso

Recomendações de Leituras

31

Aprendendo a qualificar sua reputação do jeito certo

32

Quem é você?

33

Qual a sua “IDEIA”?

34

StoryTelling

35

Você tem uma dor? Eu tenho o alívio!

36

Escrita efetiva para não escritores

37

Gatilhos!

38

Triple Threat: Domine Produto, Embalagem e Distribuição

39

Estratégias Vencedoras: Desbloqueie o Poder da Teoria do Jogos

40

Análise SWOT de sua marca pessoal

Inscrição realizada com sucesso!

No dia da masterclass você receberá um e-mail com um link para acompanhar a aula ao vivo. Até lá!

A sua subscrição foi enviada com sucesso!

Aguarde, em breve entraremos em contato com você para lhe fornecer mais informações sobre como participar da mentoria.

Crie sua conta

Preencha os dados para iniciar o seu cadastro no plano anual do Clube de Estudos:

Crie sua conta

Preencha os dados para iniciar o seu cadastro no plano mensal do Clube de Estudos:

0
Quero saber a sua opinião, deixe seu comentáriox
× Precisa de ajuda?