Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

API wrapper for Pipedrive written in Python

Project description

pipedrive-python

pipedrive-python is an API wrapper for Pipedrive written in Python.

Installing

pip install pipedrive-python-lib

Usage

Using this library with OAuth 2.0

Client instantiation

from pipedrive.client import Client

client = Client('CLIENT_ID', 'CLIENT_SECRET')

Get authorization url

url = client.authorization_url('REDIRECT_URL')

Exchange the code for an access token

token = client.exchange_code('REDIRECT_URL', 'CODE')

Set access token in the library

client.set_access_token('ACCESS_TOKEN')

Refresh token

token = client.refresh_token('REFRESH_TOKEN')

Using this library with API Token

Client instantiation

from pipedrive.client import Client

client = Client(domain='https://companydomain.pipedrive.com/')

Set API token in the library

client.set_api_token('API_TOKEN')

Activities

API docs: https://developers.pipedrive.com/docs/api/v1/#!/Activities

Get an activity

response = client.activities.get_activity('ACTIVITY_ID')

Get all activities

response = client.activities.get_all_activities()

Create an activity

data = {
    'subject': '',
    'type': ''
}
response = client.activities.create_activity(data)

Update an activity

data = {
    'subject': '',
    'type': ''
}
response = client.activities.update_activity('ACTIVITY_ID', data)

Delete an activity

response = client.activities.delete_activity('ACTIVITY_ID')

Get activity fields

response = client.activities.get_activity_fields()

Deals

API docs: https://developers.pipedrive.com/docs/api/v1/#!/Deals

Get a deal

response = client.deals.get_deal('DEAL_ID')

Get all deals

response = client.deals.get_all_deals()

Create deal

data = {
    'title': ''
}
response = client.deals.create_deal(data)

Update deal

data = {
    'title': ''
}
response = client.deals.update_deal('DEAL_ID', data)

Delete deal

response = client.deals.delete_deal('DEAL_ID')

Duplicate deal

response = client.deals.duplicate_deal('DEAL_ID')

Get details of a deal

response = client.deals.get_deal_details('DEAL_ID')

Find deals by name

params = {
    'term': ''
}
response = client.deals.get_deals_by_name(params=params)

Get followers of a deal

response = client.deals.get_deal_followers('DEAL_ID')

Add a follower to a deal

response = client.deals.add_follower_to_deal('DEAL_ID', 'USER_ID')

Delete a follower from a deal

response = client.deals.delete_follower_to_deal('DEAL_ID', 'FOLLOWER_ID')

Get participants of a deal

response = client.deals.get_deal_participants('DEAL_ID')

Add a participant to a deal

response = client.deals.add_participants_to_deal('DEAL_ID', 'PERSON_ID')

Delete a participant from a deal

response = client.deals.delete_participant_to_deal('DEAL_ID', 'PARTICIPANT_ID')

Get activities associated with a deal

response = client.deals.get_deal_activities('DEAL_ID')

Get mail messages associated with a deal

response = client.deals.get_deal_mail_messages('DEAL_ID')

Get products attached to a deal

response = client.deals.get_deal_products('DEAL_ID')

Get deal fields

response = client.deals.get_deal_fields()

Filters

API docs: https://developers.pipedrive.com/docs/api/v1/#!/Filters

Get a filter

response = client.filters.get_filter('FILTER_ID')

Get all filters

response = client.filters.get_all_filters()

Create filter

data = {
    'name': '', 
    'conditions': {},
    'type': ''
}
response = client.filters.create_filter(data)

Update filter

data = {
    'name': '', 
    'conditions': {},
    'type': ''
}
response = client.filters.update_filter('FILTER_ID', data)

Delete filter

response = client.filters.delete_filter('FILTER_ID')

Notes

API docs: https://developers.pipedrive.com/docs/api/v1/#!/Notes

Get a note

response = client.notes.get_note('NOTE_ID')

Get all notes

response = client.notes.get_all_notes()

Add a note

data = {
    'content': ''
}
response = client.notes.create_note(data)

Update a note

data = {
    'content': ''
}
response = client.notes.update_note('NOTE_ID', data)

Delete a note

response = client.notes.delete_note('NOTE_ID')

Get note fields

response = client.notes.get_note_fields()

Organizations

API docs: https://developers.pipedrive.com/docs/api/v1/#!/Organizations

Get an organization

response = client.organizations.get_organization('ORGANIZATION_ID')

Get all organizations

response = client.organizations.get_all_organizations()

Add organization

data = {
    'name': ''
}
response = client.organizations.create_organization(data)

Update organization

data = {
    'name': ''
}
response = client.organizations.update_organization('ORGANIZATION_ID', data)

Delete an organization

response = client.organizations.delete_organization('ORGANIZATION_ID')

Get organization fields

response = client.organizations.get_organization_fields()

Persons

API docs: https://developers.pipedrive.com/docs/api/v1/#!/Persons

Get a person

response = client.persons.get_person('PERSON_ID')

Get all persons

response = client.persons.get_all_persons()

Get persons by name

params = {
    'term': ''
}
response = client.persons.get_persons_by_name(params=params)

Create person

data = {
    'name': ''
}
response = client.persons.create_person(data)

Update person

data = {
    'name': ''
}
response = client.persons.update_person('PERSON_ID', data)

Delete person

response = client.persons.delete_person('PERSON_ID')

Get deals associated with a person

response = client.persons.get_person_deals('PERSON_ID')

Get person fields

response = client.persons.get_person_fields()

Pipelines

API docs: https://developers.pipedrive.com/docs/api/v1/#!/Pipelines

Get a pipeline

response = client.pipelines.get_pipeline('PIPELINE_ID')

Get all pipelines

response = client.pipelines.get_all_pipelines()

Get deals attached to a pipeline

response = client.pipelines.get_pipeline_deals()

Products

API docs: https://developers.pipedrive.com/docs/api/v1/#!/Products

Get a product

response = client.products.get_product('PRODUCT_ID')

Get all products

response = client.products.get_all_products()

Get products by name

params = {
    'term': ''
}
response = client.products.get_product_by_name(params=params)

Create a product

data = {
    'name': ''
}
response = client.products.create_product(data)

Update a product

data = {
    'name': ''
}
response = client.products.update_product('PRODUCT_ID', data)

Delete a product

response = client.products.delete_product('PRODUCT_ID')

Get deals where a product is attached to

response = client.products.get_product_deal('PRODUCT_ID')

Get product fields

response = client.products.get_product_fields()

Recents

Get recent changes

params = {
    'since_timestamp': 'YYYY-MM-DD HH:MM:SS'
}
response = client.recents.get_recent_changes(params=params)

Users

API docs: https://developers.pipedrive.com/docs/api/v1/#!/Users

Get an user

response = client.users.get_users('USER_ID')

Get all users

response = client.users.get_all_users()

Get me

response = client.users.get_me()

Webhook

API docs: https://developers.pipedrive.com/docs/api/v1/#!/Webhooks

Get webhooks

response = client.webhooks.get_hooks_subscription()

Add webhook

data = {
    'subscription_url': '',
    'event_action': '',
    'event_object': ''
}
response = client.webhooks.create_hook_subscription(data)

Delete webhook

response = client.webhooks.delete_hook_subscription('HOOK_ID')

Requirements

  • requests

Contributing

We are always grateful for any kind of contribution including but not limited to bug reports, code enhancements, bug fixes, and even functionality suggestions.

You can report any bug you find or suggest new functionality with a new issue.

If you want to add yourself some functionality to the wrapper:

  1. Fork it ( https://github.com/GearPlug/pipedrive-python )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Adds my new feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pipedrive-python-lib, version 1.1.0
Filename, size File type Python version Upload date Hashes
Filename, size pipedrive-python-lib-1.1.0.tar.gz (6.9 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page