Skip to content

Commit 21c5b2b

Browse files
committed
3.3.13
1 parent 455b5e8 commit 21c5b2b

File tree

8 files changed

+77
-25
lines changed

8 files changed

+77
-25
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [3.3.13] - 2024-08-30
9+
10+
- Update get messages
11+
812
## [3.3.12] - 2024-08-8
913

1014
- Update privateNumber

README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,10 @@ following arguments:
505505
- `offset`: Use the offset to navigate between the response results.
506506
An offset of 0 will display the first page of results, and so on.
507507
- `filter`: Filter your Virtual Numbers by tag or by number.
508+
- `startTime`: By Default messages from last 30 days will be fetched.Use this parameter to fetch the messages from the time you want. Set the time in London Greenwich Mean Time (adjusting for any time difference) and use ISO format, e.g. "2024-01-24T15:39:00Z".
509+
- `endTime`: By Default messages from last 30 days will be fetched. Use this parameter to fetch the messages till the time you want. Set the time in London Greenwich Mean Time (adjusting for any time difference) and use ISO format, e.g. "2024-01-24T16:39:00Z".
510+
- `reverse`: If set to true the results will be returned in reverse order. Recent messages will be returned first. By default, the results will be returned in the order they were sent/received.
511+
- `direction`: Filter your messages by direction: outgoing or incoming.
508512

509513
Raises `telstra.messaging.exceptions.MessageError` if anything goes wrong.
510514

@@ -667,7 +671,7 @@ It takes the following arguments:
667671
Use ISO format(yyyy-mm-dd), e.g. "2019-08-24".
668672
- `report_callback_url`: The callbackUrl where notification
669673
is sent when report is ready for download.
670-
- `filter_`: Filter report messages by -
674+
- `filter`: Filter report messages by -
671675
tag - use one of the tags assigned to your message(s)
672676
number - either the Virtual Number used to send the message,
673677
or the Recipient Number the message was sent to.
@@ -691,7 +695,7 @@ For example:
691695
from telstra.messaging import reports
692696

693697
reports_create_response = reports.create(
694-
start_date="2023-03-15", end_date="2023-03-30", filter_="0412345678"
698+
start_date="2023-03-15", end_date="2023-03-30", filter="0412345678"
695699
)
696700
```
697701

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "telstra.messaging"
3-
version = "3.3.12"
3+
version = "3.3.13"
44
readme = "README.md"
55
description = "SDK for the Telstra Messaging API V3 - Beta"
66
license = "Apache-2.0"

telstra/messaging/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
"""Messaging."""
22

3-
__version__ = "3.3.12"
3+
__version__ = "3.3.13"

telstra/messaging/message.py

Lines changed: 46 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -678,7 +678,11 @@ def get(message_id: types.TMessageId) -> TMessage:
678678
def _validate_get_all_args(
679679
limit: typing.Optional[types.TLimit] = None,
680680
offset: typing.Optional[types.TOffset] = None,
681-
filter_: typing.Optional[types.TFilter] = None,
681+
filter: typing.Optional[types.TFilter] = None,
682+
startTime: typing.Optional[types.TStartTime] = None,
683+
endTime: typing.Optional[types.TEndTime] = None,
684+
reverse: typing.Optional[types.TReverse] = None,
685+
direction: typing.Optional[types.TDirection] = None,
682686
) -> None:
683687
# Validate limit
684688
if (limit is not None and not isinstance(limit, types.TLimit)) or (
@@ -703,17 +707,45 @@ def _validate_get_all_args(
703707
)
704708

705709
# Validate filter
706-
if filter_ is not None and not isinstance(filter_, types.TFilter):
710+
if filter is not None and not isinstance(filter, types.TFilter):
707711
raise exceptions.MessageError(
708712
'the value of "filter" is not valid, expected a string, '
709-
f'received "{filter_}"'
713+
f'received "{filter}"'
714+
)
715+
716+
if startTime is not None and not isinstance(startTime, types.TStartTime):
717+
raise exceptions.MessageError(
718+
'the value of "startTime" is not valid, expected a string, '
719+
f'received "{startTime}"'
720+
)
721+
722+
if endTime is not None and not isinstance(endTime, types.TEndTime):
723+
raise exceptions.MessageError(
724+
'the value of "endTime" is not valid, expected a string, '
725+
f'received "{endTime}"'
726+
)
727+
728+
if reverse is not None and not isinstance(reverse, types.TReverse):
729+
raise exceptions.MessageError(
730+
'the value of "reverse" is not valid, expected a bool, '
731+
f'received "{reverse}"'
732+
)
733+
734+
if direction is not None and not isinstance(direction, types.TDirection):
735+
raise exceptions.MessageError(
736+
'the value of "direction" is not valid, expected a string, '
737+
f'received "{direction}"'
710738
)
711739

712740

713741
def get_all(
714742
limit: typing.Optional[types.TLimit] = None,
715743
offset: typing.Optional[types.TOffset] = None,
716-
filter_: typing.Optional[types.TFilter] = None,
744+
filter: typing.Optional[types.TFilter] = None,
745+
startTime: typing.Optional[types.TStartTime] = None,
746+
endTime: typing.Optional[types.TEndTime] = None,
747+
reverse: typing.Optional[types.TReverse] = None,
748+
direction: typing.Optional[types.TDirection] = None,
717749
) -> TMessages:
718750
"""
719751
Retrieve all messages.
@@ -725,7 +757,15 @@ def get_all(
725757
726758
"""
727759

728-
_validate_get_all_args(limit=limit, offset=offset, filter_=filter_)
760+
_validate_get_all_args(
761+
limit=limit,
762+
offset=offset,
763+
filter=filter,
764+
startTime=startTime,
765+
endTime=endTime,
766+
reverse=reverse,
767+
direction=direction,
768+
)
729769

730770
try:
731771
token = oauth.get_token()
@@ -742,7 +782,7 @@ def get_all(
742782
"Content-Type": "application/json",
743783
}
744784
messages_get_request = request.Request(
745-
f"{_URL}{querystring.build(limit=limit, offset=offset, filter_=filter_)}",
785+
f"{_URL}{querystring.build(limit=limit, offset=offset, filter=filter,starTime=startTime,endTime=endTime,reverse=reverse,direction=direction)}",
746786
headers=headers,
747787
method="GET",
748788
)

telstra/messaging/reports.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ def _validate_create_args( # pylint: disable=too-many-arguments
165165
start_date: typing.Optional[str],
166166
end_date: typing.Optional[str],
167167
report_callback_url: typing.Optional[str],
168-
filter_: typing.Optional[str],
168+
filter: typing.Optional[str],
169169
) -> None:
170170
"""Validate the arguments for create report."""
171171
# Validate dates
@@ -183,18 +183,18 @@ def _validate_create_args( # pylint: disable=too-many-arguments
183183
)
184184

185185
# Validate filter
186-
if filter_ is not None and not isinstance(filter_, str):
186+
if filter is not None and not isinstance(filter, str):
187187
raise exceptions.ReportsError(
188188
'The value of "filter" is not valid, expected a string, '
189-
f'received "{filter_}"'
189+
f'received "{filter}"'
190190
)
191191

192192

193193
def create(
194194
start_date: typing.Optional[str],
195195
end_date: typing.Optional[str],
196196
report_callback_url: typing.Optional[str] = None,
197-
filter_: typing.Optional[str] = None,
197+
filter: typing.Optional[str] = None,
198198
) -> TReport:
199199
"""
200200
Create a report.
@@ -205,15 +205,15 @@ def create(
205205
start_date: Start date (inclusive) of reporting period here.
206206
end_date: End date (inclusive) of reporting period here.
207207
report_callback_url: Url to notify when report is ready for download.
208-
filter_: Properties to filter the message report by
208+
filter: Properties to filter the message report by
209209
210210
"""
211211

212212
_validate_create_args(
213213
start_date=start_date,
214214
end_date=end_date,
215215
report_callback_url=report_callback_url,
216-
filter_=filter_,
216+
filter=filter,
217217
)
218218

219219
try:
@@ -229,8 +229,8 @@ def create(
229229
}
230230
if report_callback_url is not None:
231231
data["reportCallbackUrl"] = report_callback_url
232-
if filter_ is not None:
233-
data["filter"] = filter_
232+
if filter is not None:
233+
data["filter"] = filter
234234
data_str = json.dumps(data).encode()
235235

236236
headers = {

telstra/messaging/types.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@
1515
TLimit = int
1616
TOffset = int
1717
TFilter = str
18+
TStartTime = str
19+
TEndTime = str
20+
TReverse = bool
21+
TDirection = str
1822

1923

2024
class TMultimediaContentTypes(Enum):

telstra/messaging/virtual_number.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ def assign(
189189
def _validate_get_all_args(
190190
limit: typing.Optional[types.TLimit] = None,
191191
offset: typing.Optional[types.TOffset] = None,
192-
filter_: typing.Optional[types.TFilter] = None,
192+
filter: typing.Optional[types.TFilter] = None,
193193
) -> None:
194194
# Validate limit
195195
if (limit is not None and not isinstance(limit, types.TLimit)) or (
@@ -214,17 +214,17 @@ def _validate_get_all_args(
214214
)
215215

216216
# Validate filter
217-
if filter_ is not None and not isinstance(filter_, types.TFilter):
217+
if filter is not None and not isinstance(filter, types.TFilter):
218218
raise exceptions.VirtualNumbersError(
219219
'the value of "filter" is not valid, expected a string, '
220-
f'received "{filter_}"'
220+
f'received "{filter}"'
221221
)
222222

223223

224224
def get_all(
225225
limit: typing.Optional[types.TLimit] = None,
226226
offset: typing.Optional[types.TOffset] = None,
227-
filter_: typing.Optional[types.TFilter] = None,
227+
filter: typing.Optional[types.TFilter] = None,
228228
) -> TVirtualNumbers:
229229
"""
230230
Retrieve all virtual numbers assigned to you.
@@ -233,7 +233,7 @@ def get_all(
233233
234234
"""
235235

236-
_validate_get_all_args(limit=limit, offset=offset, filter_=filter_)
236+
_validate_get_all_args(limit=limit, offset=offset, filter=filter)
237237

238238
try:
239239
token = oauth.get_token()
@@ -252,7 +252,7 @@ def get_all(
252252
"Cache-Control": "no-cache",
253253
}
254254
virtual_numbers_request = request.Request(
255-
f"{_URL}" f"{querystring.build(limit=limit, offset=offset, filter=filter_)}",
255+
f"{_URL}" f"{querystring.build(limit=limit, offset=offset, filter=filter)}",
256256
headers=headers,
257257
method="GET",
258258
)
@@ -534,7 +534,7 @@ def get_optouts(
534534
535535
"""
536536

537-
_validate_get_all_args(limit=limit, offset=offset, filter_=None)
537+
_validate_get_all_args(limit=limit, offset=offset, filter=None)
538538

539539
try:
540540
token = oauth.get_token()

0 commit comments

Comments
 (0)