|
1 | 1 | import sys |
2 | 2 | import json |
3 | 3 | import io |
4 | | -import enum |
5 | 4 |
|
6 | 5 | from messagebird.balance import Balance |
7 | 6 | from messagebird.call import Call |
|
26 | 25 | from messagebird.number import Number, NumberList |
27 | 26 |
|
28 | 27 | ENDPOINT = 'https://rest.messagebird.com' |
29 | | -CLIENT_VERSION = '1.4.1' |
| 28 | +CLIENT_VERSION = '2.0.0' |
30 | 29 | PYTHON_VERSION = '%d.%d.%d' % (sys.version_info[0], sys.version_info[1], sys.version_info[2]) |
31 | 30 | USER_AGENT = 'MessageBird/ApiClient/%s Python/%s' % (CLIENT_VERSION, PYTHON_VERSION) |
32 | 31 | REST_TYPE = 'rest' |
33 | 32 |
|
34 | 33 | CONVERSATION_API_ROOT = 'https://conversations.messagebird.com/v1/' |
35 | | -CONVERSATION_API_WHATSAPP_SANDBOX_ROOT = 'https://whatsapp-sandbox.messagebird.com/v1/' |
36 | | - |
37 | 34 | CONVERSATION_PATH = 'conversations' |
38 | 35 | CONVERSATION_MESSAGES_PATH = 'messages' |
39 | 36 | CONVERSATION_WEB_HOOKS_PATH = 'webhooks' |
@@ -65,24 +62,18 @@ def __init__(self, errorMessage): |
65 | 62 | super(SignleErrorException, self).__init__(errorMessage) |
66 | 63 |
|
67 | 64 |
|
68 | | -class Feature(enum.Enum): |
69 | | - ENABLE_CONVERSATIONS_API_WHATSAPP_SANDBOX = 1 |
70 | | - |
71 | 65 |
|
72 | 66 | class Client(object): |
73 | | - |
74 | | - def __init__(self, access_key, http_client=None, features=[]): |
| 67 | + def __init__(self, access_key, http_client=None): |
75 | 68 | self.access_key = access_key |
76 | 69 | self.http_client = http_client |
77 | 70 |
|
78 | | - self.conversation_api_root = CONVERSATION_API_WHATSAPP_SANDBOX_ROOT if Feature.ENABLE_CONVERSATIONS_API_WHATSAPP_SANDBOX in features else CONVERSATION_API_ROOT |
79 | | - |
80 | 71 | def _get_http_client(self, type=REST_TYPE): |
81 | 72 | if self.http_client: |
82 | 73 | return self.http_client |
83 | 74 |
|
84 | 75 | if type == CONVERSATION_TYPE: |
85 | | - return HttpClient(self.conversation_api_root, self.access_key, USER_AGENT) |
| 76 | + return HttpClient(CONVERSATION_API_ROOT, self.access_key, USER_AGENT) |
86 | 77 |
|
87 | 78 | if type == VOICE_TYPE: |
88 | 79 | return HttpClient(VOICE_API_ROOT, self.access_key, USER_AGENT) |
@@ -294,6 +285,17 @@ def verify_create(self, recipient, params=None): |
294 | 285 | params.update({'recipient': recipient}) |
295 | 286 | return Verify().load(self.request('verify', 'POST', params)) |
296 | 287 |
|
| 288 | + def verify_create_email(self, recipient, originator, params=None): |
| 289 | + """Create a new email verification.""" |
| 290 | + if params is None: |
| 291 | + params = {} |
| 292 | + params.update({ |
| 293 | + 'type' : 'email', |
| 294 | + 'recipient': recipient, |
| 295 | + 'originator': originator |
| 296 | + }) |
| 297 | + return Verify().load(self.request('verify', 'POST', params)) |
| 298 | + |
297 | 299 | def verify_verify(self, id, token): |
298 | 300 | """Verify the token of a specific verification.""" |
299 | 301 | return Verify().load(self.request('verify/' + str(id), params={'token': token})) |
|
0 commit comments