1313from messagebird .hlr import HLR
1414from messagebird .message import Message
1515from messagebird .voicemessage import VoiceMessage
16+ from messagebird .lookup import Lookup
1617
1718ENDPOINT = 'https://rest.messagebird.com'
18- CLIENT_VERSION = '1.0.3 '
19+ CLIENT_VERSION = '1.1.0 '
1920PYTHON_VERSION = '%d.%d.%d' % (sys .version_info [0 ], sys .version_info [1 ], sys .version_info [2 ])
2021
2122
@@ -31,7 +32,7 @@ def __init__(self, access_key):
3132 self .access_key = access_key
3233 self ._supported_status_codes = [200 , 201 , 204 , 401 , 404 , 405 , 422 ]
3334
34- def request (self , path , params = {}):
35+ def request (self , path , method = 'GET' , params = {}):
3536 url = urljoin (ENDPOINT , path )
3637
3738 headers = {
@@ -41,8 +42,8 @@ def request(self, path, params={}):
4142 'Content-Type' : 'application/json'
4243 }
4344
44- if len ( params ) == 0 :
45- response = requests .get (url , verify = True , headers = headers )
45+ if method == 'GET' :
46+ response = requests .get (url , verify = True , headers = headers , params = params )
4647 else :
4748 response = requests .post (url , verify = True , headers = headers , data = json .dumps (params ))
4849
@@ -66,7 +67,7 @@ def hlr(self, id):
6667
6768 def hlr_create (self , msisdn , reference ):
6869 """Perform a new HLR lookup."""
69- return HLR ().load (self .request ('hlr' , { 'msisdn' : msisdn , 'reference' : reference }))
70+ return HLR ().load (self .request ('hlr' , 'POST' , { 'msisdn' : msisdn , 'reference' : reference }))
7071
7172 def message (self , id ):
7273 """Retrieve the information of a specific message."""
@@ -78,7 +79,7 @@ def message_create(self, originator, recipients, body, params={}):
7879 recipients = ',' .join (recipients )
7980
8081 params .update ({ 'originator' : originator , 'body' : body , 'recipients' : recipients })
81- return Message ().load (self .request ('messages' , params ))
82+ return Message ().load (self .request ('messages' , 'POST' , params ))
8283
8384 def voice_message (self , id ):
8485 "Retrieve the information of a specific voice message."
@@ -90,4 +91,16 @@ def voice_message_create(self, recipients, body, params={}):
9091 recipients = ',' .join (recipients )
9192
9293 params .update ({ 'recipients' : recipients , 'body' : body })
93- return VoiceMessage ().load (self .request ('voicemessages' , params ))
94+ return VoiceMessage ().load (self .request ('voicemessages' , 'POST' , params ))
95+
96+ def lookup (self , phonenumber , params = {}):
97+ """Do a new lookup."""
98+ return Lookup ().load (self .request ('lookup/' + str (phonenumber ), 'GET' , params ))
99+
100+ def lookup_hlr (self , phonenumber , params = {}):
101+ """Retrieve the information of a specific HLR lookup."""
102+ return HLR ().load (self .request ('lookup/' + str (phonenumber ) + '/hlr' , 'GET' , params ))
103+
104+ def lookup_hlr_create (self , phonenumber , params = {}):
105+ """Perform a new HLR lookup."""
106+ return HLR ().load (self .request ('lookup/' + str (phonenumber ) + '/hlr' , 'POST' , params ))
0 commit comments