Skip to content

Commit d7ff760

Browse files
Release 5.1.0
1 parent 86ee2a9 commit d7ff760

File tree

178 files changed

+3726
-6839
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

178 files changed

+3726
-6839
lines changed

CHANGELOG.md

+79-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,84 @@ All notable changes to the library will be documented in this file.
55
The format of the file is based on [Keep a Changelog](http://keepachangelog.com/)
66
and this library adheres to [Semantic Versioning](http://semver.org/) as mentioned in [README.md][readme] file.
77

8+
## [ [5.1.0](https://github.com/infobip/infobip-api-python-client/releases/tag/5.1.0) ] - 2025-03-20
9+
10+
⚠️ **IMPORTANT NOTE:** This release contains breaking changes.
11+
All changes, including breaking changes, are addressed and explained in the list bellow.
12+
If you find out that something was not addressed properly, please submit an issue.
13+
14+
### Added
15+
* Most recent feature set for:
16+
* [Infobip Voice API](https://www.infobip.com/docs/api/channels/voice).
17+
* Support for Calls Configuration.
18+
* [Infobip SMS API](https://www.infobip.com/docs/api/channels/sms).
19+
* [Infobip 2FA API](https://www.infobip.com/docs/api/platform/2fa).
20+
* [Infobip Email API](https://www.infobip.com/docs/api/channels/email).
21+
* Support for Email IP Management instead of set of deprecated Email IP endpoints. Check [Email API documentation](https://www.infobip.com/docs/api/channels/email) for additional details.
22+
* [Infobip Moments](https://www.infobip.com/docs/api/customer-engagement/moments).
23+
* **Added** support for `WEBSOCKET` option in call routing endpoint.
24+
* **Added** new Calls error code type: `MACHINE_DETECTED`.
25+
* **Added** support for `CallsProviderSipTrunkUpdateRequest`.
26+
27+
### Changed
28+
29+
- General
30+
- **Unified** `message_response`, `message_response_details`, `message_group_error`, `sending_speed_limit`, `security_config_type`, `api_exception` and `speed_limit_time_unit`.
31+
32+
- Voice API
33+
- **Updated** `calls_update_scenario_response.last_usage_date` field type from `datetime``date`.
34+
- **Updated** `calls_search_response.last_usage_date` field type from `datetime``date`.
35+
- **Removed** `priority` and `weight` duplicated fields from `call_routing_endpoint_destination`.
36+
- **Removed** `priority` and `weight` duplicated fields from `call_routing_url_destination`.
37+
- Adjusted Sip Trunk models in location processing. Location is now implemented as a string to increase usability of the feature. Locations should be passed as strings to the Sip Trunk request model in all upcoming SDK versions.
38+
- **Updated** `call_sip_trunk_response.location` field type from `Optional[CallsSipTrunkLocation]``Optional[StrictStr]`.
39+
- **Updated** `calls_transcription.language` field type from `CallsLanguage``CallTranscriptionLanguage`.
40+
- **Updated** `calls_speech_capture_request.language` field type from `CallsLanguage``CallTranscriptionLanguage`.
41+
- **Removed** `calls_voice` – Certain fields removed due to API updates.
42+
- **Fixed** Number Masking UTC date-time deserialization in setup response model.
43+
- **Fixed** Number Masking content schema when uploading audio files.
44+
- Adjusted IVR models in script processing. Scenario scripting is now implemented as a raw string to increase usability of the feature. Scripts should be passed as strings to the IVR request model in all upcoming SDK versions.
45+
- **Updated** `calls_update_scenario_response.script` field type from `Optional[Dict[str, Any]]``Optional[StrictStr]`.
46+
- **Updated** `calls_update_scenario_request.script` field type from `List[CallsScriptInner]``StrictStr`.
47+
- **Updated** `calls_search_response.script` and `else` fields type from `Optional[Dict[str, Any]]``Optional[StrictStr]`.
48+
- **Updated** `calls_get_voices_response.voices` field type from `Optional[List[CallsVoice]]``Optional[List[CallsSynthesisVoice]]`.
49+
- **Removed** `call_routing_url_security_config_type` – Unified into `security_config_type` enumeration class.
50+
- **Removed** `call_url_security_config_type` – Unified into `security_config_type` enumeration class.
51+
52+
- Email API
53+
- **Updated** `email_supression_info.created_date` field type from `StrictStr``datetime`.
54+
- **Removed** `email_single_message_status` – Now integrated into the unified `MessageStatus` class.
55+
- Email suppression type enum models are now consolidated. Use `email_suppression_type` and `email_add_suppression_type` instead of `email_add_delete_suppression_type` and `email_get_suppression_type`.
56+
57+
### Removed:
58+
- All the Calls IVR script related class and from now on all the scripts are processed as `String`:
59+
- `calls_call_api`
60+
- `calls_capture`
61+
- `calls_collect`
62+
- `calls_dial`
63+
- `calls_dial_to_many`
64+
- `calls_dial_to_webrtc`
65+
- `calls_dial_to_conversations`
66+
- `calls_for_each`
67+
- `calls_go_to`
68+
- `calls_hangup`
69+
- `calls_if_then_else`
70+
- `calls_machine_detection`
71+
- `calls_pause`
72+
- `calls_play`
73+
- `calls_play_from_recording`
74+
- `calls_record`
75+
- `calls_repeat_until`
76+
- `calls_repeat_while`
77+
- `calls_say`
78+
- `calls_send_sms`
79+
- `calls_set_variable`
80+
- `calls_switch_case`
81+
- `calls_while_do`
82+
- **Removed** `DISCONNECTED` option from `call_state`.
83+
84+
These changes align the SDK with the current API specification, ensuring consistency and reliability in future updates.
85+
886
## [ [5.0.0](https://github.com/infobip/infobip-api-python-client/releases/tag/5.0.0) ] - 2024-12-23
987

1088
🎉 **NEW Major Version of `infobip-api-python-client`.**
@@ -103,4 +181,4 @@ In this release, we updated and modernized the `infobip_api_client` library. It
103181
- Support for [Infobip SMS Tracking API](https://www.infobip.com/docs/sms/tracking) methods (to be included back in one of the next releases)
104182
- `examples` directory
105183

106-
[readme]: README.mustache
184+
[readme]: README.mustache

CONTRIBUTING.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ Afterward, you can use pip to build the project locally:
8080
pip install .
8181
```
8282

83-
Install the required test packages and run the tests that are in repository, all test should pass.
83+
Install the required test packages and run the tests that are in repository, all tests should pass.
8484

8585
```bash
8686
pip install -r test-requirements.txt

README.md

+5-7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
from infobip_api_client import SmsMessageContent
2-
31
# Infobip API Python Client
42

53
<img src="https://cdn-web.infobip.com/uploads/2023/01/Infobip-logo.svg" height="93px" alt="Infobip" />
@@ -15,7 +13,7 @@ We use [OpenAPI Generator](https://openapi-generator.tech/) to generate the pack
1513

1614

1715
#### Table of contents:
18-
* [API documentation](#documentation)
16+
* [API documentation](#api-documentation)
1917
* [General Info](#general-info)
2018
* [Installation](#installation)
2119
* [Quickstart](#quickstart)
@@ -75,7 +73,7 @@ Now you are ready use the API.
7573
Here's a basic example of sending the SMS message.
7674

7775
```python
78-
from infobip_api_client.models import SmsAdvancedTextualRequest, SmsTextualMessage, SmsDestination, SmsResponse
76+
from infobip_api_client.models import SmsRequest, SmsMessage, SmsMessageContent, SmsTextContent, SmsDestination, SmsResponse
7977
from infobip_api_client.api.sms_api import SmsApi
8078

8179
sms_request = SmsRequest(
@@ -128,7 +126,7 @@ Bulk ID will be received only when you send a message to more than one destinati
128126
```
129127

130128
#### Receive sent SMS report
131-
For each SMS that you send out, we can send you a message delivery report in real time. All you need to do is specify your endpoint when sending SMS in `notify_url` field of `SmsTextualMessage`, or subscribe for reports by contacting our support team.
129+
All you need to do is specify your endpoint when sending SMS in the `webhooks.delivery.url` field of your request, or subscribe for reports by contacting our support team at [email protected].
132130
e.g. `https://{yourDomain}/delivery-reports`
133131

134132
Example of webhook implementation using Flask:
@@ -145,7 +143,7 @@ Example of webhook implementation using Flask:
145143
for result in delivery_results.results:
146144
print("message {0} sent at {1}".format(result.message_id, result.sent_at))
147145
```
148-
If you prefer to use your own serializer, please pay attention to the supported [date format](https://www.infobip.com/docs/essentials/integration-best-practices#date-formats).
146+
If you prefer to use your own serializer, please pay attention to the supported [date format](https://www.infobip.com/docs/essentials/api-essentials/integration-best-practices#date-formats-backward-compatibility).
149147

150148
#### Fetching delivery reports
151149
If you are for any reason unable to receive real time delivery reports on your endpoint, you can use `message_id` or `bulk_id` to fetch them.
@@ -194,7 +192,7 @@ Example of webhook implementation using Flask:
194192
For 2FA quick start guide please check [these examples](two-factor-authentication.md).
195193

196194
#### Calls
197-
For Calls quick start guide please check [these_examples](calls.md)
195+
For Calls quick start guide please check [these examples](calls.md)
198196

199197
## Ask for help
200198

0 commit comments

Comments
 (0)