@@ -34,6 +34,12 @@ def send_sms(self, request):
3434 resp = self .send_request ('POST' , self .url + "/v1/send/sms" , request )
3535 return json .loads (resp )
3636
37+ def send_inbox_message (self , request ):
38+ if isinstance (request , SendInboxMessageRequest ):
39+ request = request ._to_dict ()
40+ resp = self .send_request ('POST' , self .url + "/v1/send/inbox_message" , request )
41+ return json .loads (resp )
42+
3743 # builds the session.
3844 def _build_session (self ):
3945 session = super ()._build_session ()
@@ -219,7 +225,7 @@ def _to_dict(self):
219225 return data
220226
221227class SendSMSRequest (object ):
222- '''An object with all the options avaiable for triggering a transactional push message'''
228+ '''An object with all the options avaiable for triggering a transactional SMS message'''
223229 def __init__ (self ,
224230 transactional_message_id = None ,
225231 to = None ,
@@ -264,3 +270,44 @@ def _to_dict(self):
264270 data [name ] = value
265271
266272 return data
273+
274+ class SendInboxMessageRequest (object ):
275+ '''An object with all the options avaiable for triggering a transactional inbox message'''
276+ def __init__ (self ,
277+ transactional_message_id = None ,
278+ identifiers = None ,
279+ disable_message_retention = None ,
280+ queue_draft = None ,
281+ message_data = None ,
282+ send_at = None ,
283+ language = None ,
284+ ):
285+
286+ self .transactional_message_id = transactional_message_id
287+ self .identifiers = identifiers
288+ self .disable_message_retention = disable_message_retention
289+ self .queue_draft = queue_draft
290+ self .message_data = message_data
291+ self .send_at = send_at
292+ self .language = language
293+
294+ def _to_dict (self ):
295+ '''Build a request payload from the object'''
296+ field_map = dict (
297+ # field name is the same as the payload field name
298+ transactional_message_id = "transactional_message_id" ,
299+ identifiers = "identifiers" ,
300+ disable_message_retention = "disable_message_retention" ,
301+ queue_draft = "queue_draft" ,
302+ message_data = "message_data" ,
303+ send_at = "send_at" ,
304+ language = "language" ,
305+ )
306+
307+ data = {}
308+ for field , name in field_map .items ():
309+ value = getattr (self , field , None )
310+ if value is not None :
311+ data [name ] = value
312+
313+ return data
0 commit comments