Skip to main content

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()

Get all deals based on filter

response = client.deals.get_all_deals_with_filter('FILTER_ID')

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')

Search deals

params = {
    'term': ''
}
response = client.deals.search_deals(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()

Get updates of a deal

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

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()

Search organizations

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

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()

Search persons

params = {
    'term': ''
}
response = client.persons.search_persons(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()

Search products

params = {
    'term': ''
}
response = client.products.search_products(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)

Leads

API docs: https://developers.pipedrive.com/docs/api/v1/Leads

Get a lead

response = client.leads.get_lead('LEAD_ID')

Search leads

params = {
    'term': ''
}
response = client.leads.search_leads(params=params)

Users

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

Get an user

response = client.users.get_user('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.

Source Distribution

api_pipedrive_python-1.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

api_pipedrive_python-1-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file api_pipedrive_python-1.tar.gz.

File metadata

  • Download URL: api_pipedrive_python-1.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.13

File hashes

Hashes for api_pipedrive_python-1.tar.gz
Algorithm Hash digest
SHA256 042e0cf3f5afd24ec5d0b79d7dc382a579fafec88636480c357511e39664b85c
MD5 a46a9c760a8f06f82ea5b042087c3500
BLAKE2b-256 d22935f7bca2e14023f7a28631829d32e4acca485a6c0b90b25cce348e7a47bf

See more details on using hashes here.

File details

Details for the file api_pipedrive_python-1-py3-none-any.whl.

File metadata

File hashes

Hashes for api_pipedrive_python-1-py3-none-any.whl
Algorithm Hash digest
SHA256 d4a764735e863a0fdbe5de51fafbf4a75444bc8d420b991cedc579d1703886d2
MD5 26c9c2c1a73579164b665d1a98d32897
BLAKE2b-256 da72aaaab087188a463fd318195b19d8f3df2f8dda10f2f618af4e74f1ade90e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page