Skip to content

Commit c469c15

Browse files
committed
Add methods for campaign subscription management
1 parent 7295b73 commit c469c15

File tree

3 files changed

+23
-2
lines changed

3 files changed

+23
-2
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,11 +167,11 @@ API Coverage
167167
* [X] Message
168168
* [X] Messages
169169
* [X] Rejections
170-
* [ ] US Short Codes
170+
* [X] US Short Codes
171171
* [X] Two-Factor Authentication
172172
* [X] Event Based Alerts
173173
* [X] Sending Alerts
174-
* [ ] Campaign Subscription Management
174+
* [X] Campaign Subscription Management
175175
* Voice
176176
* [X] Outbound Calls
177177
* [ ] Inbound Call

nexmo/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,12 @@ def send_event_alert_message(self, params=None, **kwargs):
9797
def send_marketing_message(self, params=None, **kwargs):
9898
return self.post(self.host, '/sc/us/marketing/json', params or kwargs)
9999

100+
def get_event_alert_numbers(self):
101+
return self.get(self.host, '/sc/us/alert/opt-in/query/json')
102+
103+
def resubscribe_event_alert_number(self, params=None, **kwargs):
104+
return self.post(self.host, '/sc/us/alert/opt-in/manage/json', params or kwargs)
105+
100106
def initiate_call(self, params=None, **kwargs):
101107
return self.post(self.host, '/call/json', params or kwargs)
102108

test_nexmo.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,21 @@ def test_send_marketing_message(self):
218218
self.assertOK(self.client.send_marketing_message(params))
219219
self.assertRequestBodyIncludes(params)
220220

221+
@responses.activate
222+
def test_get_event_alert_numbers(self):
223+
self.stub(responses.GET, 'https://rest.nexmo.com/sc/us/alert/opt-in/query/json')
224+
225+
self.assertOK(self.client.get_event_alert_numbers())
226+
227+
@responses.activate
228+
def test_resubscribe_event_alert_number(self):
229+
self.stub(responses.POST, 'https://rest.nexmo.com/sc/us/alert/opt-in/manage/json')
230+
231+
params = {'msisdn': '441632960960'}
232+
233+
self.assertOK(self.client.resubscribe_event_alert_number(params))
234+
self.assertRequestBodyIncludes(params)
235+
221236
@responses.activate
222237
def test_initiate_call(self):
223238
self.stub(responses.POST, 'https://rest.nexmo.com/call/json')

0 commit comments

Comments
 (0)