Skip to content

Commit c4decdb

Browse files
author
marcel corso gonzalez
authored
Merge pull request #68 from messagebird/create-verify-email
create verify email
2 parents 399688b + 97ff144 commit c4decdb

File tree

3 files changed

+73
-0
lines changed

3 files changed

+73
-0
lines changed

examples/verify_create_email.py

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
import sys, os
2+
sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
3+
4+
import messagebird
5+
6+
# ACCESS_KEY = ''
7+
# RECIPIENT = ''
8+
# ORIGINATOR = ''
9+
10+
try:
11+
ACCESS_KEY
12+
except NameError:
13+
print('You need to set an ACCESS_KEY constant in this file')
14+
sys.exit(1)
15+
16+
try:
17+
RECIPIENT
18+
except NameError:
19+
print('You need to set a RECIPIENT constant in this file')
20+
sys.exit(1)
21+
22+
try:
23+
ORIGINATOR
24+
except NameError:
25+
print('You need to set a ORIGINATOR constant in this file')
26+
sys.exit(1)
27+
28+
try:
29+
# Create a MessageBird client with the specified ACCESS_KEY.
30+
client = messagebird.Client(ACCESS_KEY)
31+
32+
# Create a new Verify.
33+
verify = client.verify_create_email(RECIPIENT, ORIGINATOR, {
34+
'subject': 'your code'
35+
})
36+
37+
# Print the object information.
38+
print('\nThe following information was returned as a Verify object:\n')
39+
print(' id : %s' % verify.id)
40+
print(' href : %s' % verify.href)
41+
print(' recipient : %s' % verify.recipient)
42+
print(' reference : %s' % verify.reference)
43+
print(' messages : %s' % verify.messages)
44+
print(' status : %s' % verify.status)
45+
print(' createdDatetime : %s' % verify.createdDatetime)
46+
print(' validUntilDatetime : %s\n' % verify.validUntilDatetime)
47+
48+
except messagebird.client.ErrorException as e:
49+
print('\nAn error occured while requesting a Verify object:\n')
50+
51+
for error in e.errors:
52+
print(' code : %d' % error.code)
53+
print(' description : %s' % error.description)
54+
print(' parameter : %s\n' % error.parameter)

messagebird/client.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,17 @@ def verify_create(self, recipient, params=None):
284284
params.update({'recipient': recipient})
285285
return Verify().load(self.request('verify', 'POST', params))
286286

287+
def verify_create_email(self, recipient, originator, params=None):
288+
"""Create a new email verification."""
289+
if params is None:
290+
params = {}
291+
params.update({
292+
'type' : 'email',
293+
'recipient': recipient,
294+
'originator': originator
295+
})
296+
return Verify().load(self.request('verify', 'POST', params))
297+
287298
def verify_verify(self, id, token):
288299
"""Verify the token of a specific verification."""
289300
return Verify().load(self.request('verify/' + str(id), params={'token': token}))

tests/test_verify.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,14 @@ def test_verify_create(self):
2929

3030
http_client.request.assert_called_once_with('verify', 'POST', {'recipient': '31612345678'})
3131

32+
def test_verify_create_email(self):
33+
http_client = Mock()
34+
http_client.request.return_value = '{}'
35+
36+
Client('', http_client).verify_create_email('[email protected]', '[email protected]')
37+
38+
http_client.request.assert_called_once_with('verify', 'POST', {'recipient': '[email protected]', 'originator': '[email protected]', 'type': 'email'})
39+
3240
def test_verify_verify(self):
3341
http_client = Mock()
3442
http_client.request.return_value = '{"id": "verify-id","href": "https://rest.messagebird.com/verify/verify-id","recipient": 31612345678,"reference": "MyReference","messages": {"href": "https://rest.messagebird.com/messages/63b168423592d681641eb07b76226648"},"status": "verified","createdDatetime": "2017-05-30T12:39:50+00:00","validUntilDatetime": "2017-05-30T12:40:20+00:00"}'

0 commit comments

Comments
 (0)