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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
"""
Handles /sms-inbounds endpoint
"""
import requests
from mailersend.base import base
class NewSmsInbounds(base.NewAPIClient):
"""
Instantiates the /sms-inbounds endpoint object
"""
# you shall not
pass
def get_inbound_routes(self, sms_number_id=None, enabled=True, page=1, limit=25):
"""
Get a list of SMS inbound routes.
@params:
sms_number_id (string)
enabled (bool)
page (int)
limit (int)
"""
passed_arguments = locals()
query_params = {}
for key, value in passed_arguments.items():
if key != "self":
if key == "enabled":
query_params[key] = int(value)
else:
query_params[key] = value
request = requests.get(
f"{self.api_base}/sms-inbounds",
headers=self.headers_default,
params=query_params,
)
return f"{request.status_code}\n{request.text}"
def get_inbound_route(self, sms_inbound_id):
"""
Get a single SMS inbound route.
@params:
sms_inbound_id (string)
"""
request = requests.get(
f"{self.api_base}/sms-inbounds/{sms_inbound_id}",
headers=self.headers_default,
)
return f"{request.status_code}\n{request.text}"
def create_inbound_route(
self, sms_number_id, name, forward_url, filter={}, enabled=True
):
"""
Add an SMS inbound route.
@params:
sms_number_id (string)
name (string)
forward_url (string)
filter (object)
enabled (bool)
"""
data = {
"sms_number_id": sms_number_id,
"name": name,
"forward_url": forward_url,
"filter": filter,
"enabled": int(enabled),
}
request = requests.post(
f"{self.api_base}/sms-inbounds", headers=self.headers_default, json=data
)
return f"{request.status_code}\n{request.text}"
def update_inbound_route(
self, sms_inbound_id, name=None, forward_url=None, filter=None, enabled=None
):
"""
Update an inbound route.
@params:
sms_inbound_id (string)
name (string)
forward_url (string)
filter (object)
enabled (bool)
"""
passed_arguments = locals()
data = {}
for key, value in passed_arguments.items():
if key != "self" and key != "sms_inbound_id" and value is not None:
if key == "enabled":
data[key] = int(value)
else:
data[key] = value
request = requests.put(
f"{self.api_base}/sms-inbounds/{sms_inbound_id}",
headers=self.headers_default,
json=data,
)
return f"{request.status_code}\n{request.text}"
def delete_inbound_route(self, sms_inbound_id):
"""
Delete an SMS inbound route.
@params:
sms_inbound_id (string)
"""
request = requests.delete(
f"{self.api_base}/sms-inbounds/{sms_inbound_id}",
headers=self.headers_default,
)
return f"{request.status_code}\n{request.text}"
|