forked from intercom/python-intercom
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathclient.py
More file actions
94 lines (74 loc) · 2.46 KB
/
client.py
File metadata and controls
94 lines (74 loc) · 2.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# -*- coding: utf-8 -*-
class Client(object):
def __init__(self, app_id='my_app_id', api_key='my_api_key'):
self.app_id = app_id
self.api_key = api_key
self.base_url = 'https://api.intercom.io'
self.rate_limit_details = {}
@property
def _auth(self):
return (self.app_id, self.api_key)
@property
def admins(self):
from intercom.service import admin
return admin.Admin(self)
@property
def companies(self):
from intercom.service import company
return company.Company(self)
@property
def conversations(self):
from intercom.service import conversation
return conversation.Conversation(self)
@property
def counts(self):
from intercom.service import count
return count.Count(self)
@property
def events(self):
from intercom.service import event
return event.Event(self)
@property
def messages(self):
from intercom.service import message
return message.Message(self)
@property
def notes(self):
from intercom.service import note
return note.Note(self)
@property
def segments(self):
from intercom.service import segment
return segment.Segment(self)
@property
def subscriptions(self):
from intercom.service import subscription
return subscription.Subscription(self)
@property
def tags(self):
from intercom.service import tag
return tag.Tag(self)
@property
def users(self):
from intercom.service import user
return user.User(self)
def _execute_request(self, request, params):
result = request.execute(self.base_url, self._auth, params)
self.rate_limit_details = request.rate_limit_details
return result
def get(self, path, params):
from intercom import request
req = request.Request('GET', path)
return self._execute_request(req, params)
def post(self, path, params):
from intercom import request
req = request.Request('POST', path)
return self._execute_request(req, params)
def put(self, path, params):
from intercom import request
req = request.Request('PUT', path)
return self._execute_request(req, params)
def delete(self, path, params):
from intercom import request
req = request.Request('DELETE', path)
return self._execute_request(req, params)