Skip to content

Commit ec2abdc

Browse files
Merge pull request #276 from plivo/VT-8140
Changes for single party session
2 parents e3c2acd + aeb056c commit ec2abdc

File tree

5 files changed

+56
-5
lines changed

5 files changed

+56
-5
lines changed

CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
# Change Log
2+
## [4.56.0](https://github.com/plivo/plivo-python/tree/v4.56.0) (2024-09-30)
3+
**Feature - Adding new param support for Number Masking session with single party **
4+
- Added `create_session_with_single_party`, `virtual_number_cooloff_period` and `force_pin_authentication` attributes in Masking Session
5+
26
## [4.55.5](https://github.com/plivo/plivo-python/tree/v4.55.5) (2024-09-10)
37
**Feature - Adding validations for AudioStream XML creation**
48
- Added Validations for AudioStream XML creation
@@ -7,7 +11,6 @@
711
**Feature - Adding more attribute on mdr object**
812
- Added `message_sent_time`, `message_updated_time` and `error-message` on get and list Message API
913

10-
1114
## [4.55.3](https://github.com/plivo/plivo-python/tree/v4.55.3) (2024-09-06)
1215
**Feature - Adding support for brand_name, code_length and app_hash in Create,Get and List Session**
1316
- Added new request param `brand_name` , `app_hash` and `code_length` in create Session API

plivo/resources/maskingsession.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,10 @@ def create_masking_session(self,
6767
incorrect_pin_play=None,
6868
unknown_caller_play=None,
6969
subaccount=None,
70-
geomatch=None
70+
geomatch=None,
71+
create_session_with_single_party=None,
72+
virtual_number_cooloff_period=None,
73+
force_pin_authentication=None
7174
):
7275
return self.client.request('POST', ('Masking', 'Session',),
7376
to_param_dict(self.create_masking_session, locals()), is_voice_request=True)
@@ -85,6 +88,8 @@ def get_masking_session(self,
8588

8689
def update_masking_session(self,
8790
session_uuid,
91+
first_party=None,
92+
second_party=None,
8893
session_expiry=None,
8994
call_time_limit=None,
9095
record=None,
@@ -97,7 +102,8 @@ def update_masking_session(self,
97102
second_party_play_url=None,
98103
recording_callback_method=None,
99104
subaccount=None,
100-
geomatch=None
105+
geomatch=None,
106+
create_session_with_single_party=None
101107
):
102108
return self.client.request('POST', ('Masking', 'Session', session_uuid),
103109
to_param_dict(self.update_masking_session, locals()), is_voice_request=True)

plivo/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
# -*- coding: utf-8 -*-
2-
__version__ = '4.55.5'
2+
__version__ = '4.56.0'

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
setup(
1212
name='plivo',
13-
version='4.55.5',
13+
version='4.56.0',
1414
description='A Python SDK to make voice calls & send SMS using Plivo and to generate Plivo XML',
1515
long_description=long_description,
1616
url='https://github.com/plivo/plivo-python',

tests/resources/test_maskingsessions.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,48 @@ def test_create(self):
4545
self.assertUrlEqual(
4646
self.get_voice_url('Masking', 'Session'), self.client.current_request.url)
4747

48+
@with_response(201)
49+
# create_session_with_single_party is passed
50+
def test_create(self):
51+
self.client.masking_sessions.create_masking_session(
52+
first_party='917708772011',
53+
create_session_with_single_party=True)
54+
self.assertEqual(self.client.current_request.method, 'POST')
55+
self.assertUrlEqual(
56+
self.get_voice_url('Masking', 'Session'), self.client.current_request.url)
57+
58+
@with_response(201)
59+
# force_pin_authentication is passed
60+
def test_create(self):
61+
self.client.masking_sessions.create_masking_session(
62+
first_party='917708772011',
63+
second_party='916303955746',
64+
is_pin_authentication_required=True,
65+
first_party_pin="1234",
66+
second_party_pin="4321",
67+
pin_prompt_play="https://file-examples.com/storage/fefda3519566d3360a0efb3/2017/11/file_example_MP3_700KB.mp3",
68+
pin_retry=2,
69+
pin_retry_wait=7,
70+
incorrect_pin_play="https://file-examples.com/storage/fefda3519566d3360a0efb3/2017/11/file_example_MP3_700KB.mp3",
71+
unknown_caller_play="https://file-examples.com/storage/fefda3519566d3360a0efb3/2017/11/file_example_MP3_700KB.mp3",
72+
force_pin_authentication=True,
73+
session_expiry=0)
74+
self.assertEqual(self.client.current_request.method, 'POST')
75+
self.assertUrlEqual(
76+
self.get_voice_url('Masking', 'Session'), self.client.current_request.url)
77+
78+
@with_response(201)
79+
# virtual_number_cooloff_period is passed
80+
def test_create(self):
81+
self.client.masking_sessions.create_masking_session(
82+
first_party='917708772011',
83+
second_party='916303955746',
84+
virtual_number_cooloff_period=3500,
85+
)
86+
self.assertEqual(self.client.current_request.method, 'POST')
87+
self.assertUrlEqual(
88+
self.get_voice_url('Masking', 'Session'), self.client.current_request.url)
89+
4890
@with_response(200)
4991
def test_delete(self):
5092
session_uuid = "9fe6cba9-62b2-4de0-98a4-6b878fb906de"

0 commit comments

Comments
 (0)