Skip to content

Commit c27f013

Browse files
authored
Merge pull request GearPlug#37 from julienbordet/dev-subscriptions
add Subscriptions interface for Pipedrive
2 parents 4443730 + 16cfeca commit c27f013

2 files changed

Lines changed: 41 additions & 0 deletions

File tree

‎pipedrive/client.py‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
from pipedrive.products import Products
1616
from pipedrive.stages import Stages
1717
from pipedrive.recents import Recents
18+
from pipedrive.subscriptions import Subscriptions
1819
from pipedrive.users import Users
1920
from pipedrive.webhooks import Webhooks
2021

@@ -38,6 +39,7 @@ def __init__(self, client_id=None, client_secret=None, domain=None):
3839
self.persons = Persons(self)
3940
self.pipelines = Pipelines(self)
4041
self.products = Products(self)
42+
self.subscriptions = Subscriptions(self)
4143
self.recents = Recents(self)
4244
self.stages = Stages(self)
4345
self.users = Users(self)

‎pipedrive/subscriptions.py‎

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
class Subscriptions(object):
2+
def __init__(self, client):
3+
self._client = client
4+
5+
def get_subscription(self, subscription_id, **kwargs):
6+
url = 'subscriptions/{}'.format(subscription_id)
7+
return self._client._get(self._client.BASE_URL + url, **kwargs)
8+
9+
def get_deal_subscription(self, deal_id, **kwargs):
10+
url = 'subscriptions/find/{}'.format(deal_id)
11+
return self._client._get(self._client.BASE_URL + url, **kwargs)
12+
13+
def get_all_payments(self, subscription_id, **kwargs):
14+
url = 'subscriptions/{}/payments'.format(subscription_id)
15+
return self._client._get(self._client.BASE_URL + url, **kwargs)
16+
17+
def add_recurring_subscription(self, data, **kwargs):
18+
url = 'subscriptions/recurring'
19+
return self._client._post(self._client.BASE_URL + url, data, **kwargs)
20+
21+
def add_installment_subscription(self, data, **kwargs):
22+
url = 'subscriptions/installment'
23+
return self._client._post(self._client.BASE_URL + url, data, **kwargs)
24+
25+
def update_recurring_subscription(self, subscription_id, data, **kwargs):
26+
url = 'subscriptions/recurring/{}'.format(subscription_id)
27+
return self._client._put(self._client.base_url + url, data, **kwargs)
28+
29+
def update_installment_subscription(self, subscription_id, data, **kwargs):
30+
url = 'subscriptions/installment/{}'.format(subscription_id)
31+
return self._client._put(self._client.base_url + url, data, **kwargs)
32+
33+
def cancel_recurring_subscription(self, subscription_id, data, **kwargs):
34+
url = 'subscriptions/recurring/{}/cancel'.format(subscription_id)
35+
return self._client._put(self._client.base_url + url, data, **kwargs)
36+
37+
def delete_subscription(self, subscription_id, **kwargs):
38+
url = 'subscriptions/{}'.format(subscription_id)
39+
return self._client._delete(self._client.BASE_URL + url, **kwargs)

0 commit comments

Comments
 (0)