Vonage Python SDK
4.0.0
14 Nov 2024
A complete, ground-up rewrite of the SDK. Key changes:
- Monorepo structure, with each API under separate packages
- Support for Python 3.9+
- Feature parity with v3
- Add support for the new network APIs - the Vonage Sim Swap Network API and the Vonage Number Verification Network API
- Usage of data models throughout
- Many new custom errors, improved error data models and error messages
- Docstrings for methods and data models across the whole SDK to increase quality-of-life developer experience and make in-IDE development easier
- Use of Pydantic to enforce correct typing throughout
- Add support for all Vonage Video API features
- Add
http_clientproperty to each module that has an HTTP Client, e.g. Voice, Sms, Verify - Add
last_requestandlast_responseproperties to the HTTP Client for easier debugging - Migrated the Vonage JWT package into the monorepo
- Renamed
Verify->Verify LegacyandVerify v2->Verify
3.17.4
30 Oct 2024
- Drop support for Python 3.8, add support for 3.13
3.17.3
30 Oct 2024
- Fix bug in JWT generator
3.17.2
30 Oct 2024
- Update
vonage-jwtdependency version to fix JWT timeout issue
3.17.1
20 Aug 2024
- Add "mark WhatsApp message as read" option for Messages API
3.17.0
19 Aug 2024
- Add RCS message type option for Messages API
- Add "revoke RCS message" option
3.16.1
6 Aug 2024
- Fix video client token option
- Fix typos in README
- Bump minimum versions for dependencies with fixed vulnerabilities
3.16.0
7 Jun 2024
- Add support for the Vonage Number Verification API
3.15.0
3 Jun 2024
- Add support for the Vonage Sim Swap API
3.14.0
13 May 2024
- Add publisher-only as a valid Video API client token role
3.13.1
30 Apr 2024
- Fix content-type incorrect serialization
3.13.0
22 Dec 2023
- Migrating to use Pydantic V2 as a dependency
3.12.0
11 Dec 2023
- Add support for the Vonage Video API
3.11.1
29 Nov 2023
- Add checks for silent auth workflow optional parameters
redirect_urlandsandbox
3.11.0
19 Oct 2023
- Add method to check JWT signatures of Voice API webhooks:
vonage.Voice.verify_signature
3.10.0
4 Oct 2023
- Indicating support for Python 3.12
3.9.1
30 Aug 2023
- Updating Meetings API URL to a
/v1endpoint
3.9.0
21 Aug 2023
- Dropping support for Python 3.7 as it's end-of-life and no longer receiving security updates
3.8.0
14 Aug 2023
- Adding support for the Users component of the Vonage Application API
3.7.1
6 Jul 2023
- Pinning Pydantic version range to 1.x to avoid breaking changes
3.7.0
22 Jun 2023
- Adding support for the Vonage Meetings API
- Adding partial support for the Vonage Proactive Connect API - supporting API methods relating to
lists,itemsandevents - Returning a more descriptive (non-internal) error message if invalid values are provided for
application_idand/orprivate_keywhen instantiating a Vonage client object
3.6.0
14 Jun 2023
- Adding support for the Vonage Subaccounts API
3.5.2
6 Jun 2023
- Using the Vonage JWT Generator instead of
PyJWTfor generating JWTs. - Other internal refactoring and enhancements
3.5.1
23 May 2023
- Updating the internal use of the
fraud_checkparameter in the Vonage Verify V2 API
3.5.0
16 May 2023
- Adding support for V2 of the Vonage Verify API
- Multiple authentication channels are supported (SMS, Voice, Email, WhatsApp, WhatsApp Interactive Messages and Silent Authentication)
- Using fallback channels is now possible in case verification methods fail
- You can now customize the verification code that is sent, or even specify your own custom code
- Adding
advancedMachineDetectionfunctionality to the NCCO builder for the Vonage Voice API
3.4.0
14 Apr 2023
- Internal refactoring changes
- Using header authentication for the Numbers API
3.3.0
3 Mar 2023
- Updated Messages API:
- Added new messaging channels for Viber Service Messages (
video,file) - Added new WhatsApp
stickermessage channel - Increased
client_refmax value to 100 characters
- Added new messaging channels for Viber Service Messages (
- Deprecated
payaction in the NCCO builder as it is being removed by Vonage
3.2.2
19 Jan 2023
- Fixing a bug on Windows
3.2.1
16 Jan 2023
- Fixing an import bug
3.2.0
14 Jan 2023
- Adding an NCCO Builder to make it easier to work with NCCOs when using the Voice API
- Individual NCCO Actions can be created as Pydantic models, which can be built into an NCCO via the
Ncco.build_nccomethod
4.0.0b0
2 Dec 2022
- No functionality change from v3.2.0b0. Using a major version number to keep releases chronologically and numerically more synced up.
- This is a beta version that can be installed with
pip install --pre vonage
3.2.0b0
11 Nov 2022
- Beta release including Vonage Video API support for sessions, signalling, moderation and archiving
- This branch will be kept separately from the main codebase for now and can be installed with
pip install --pre vonage
3.1.0
26 Oct 2022
- Supporting Python 3.11
- Upgrading some old dependencies
3.0.2
25 Oct 2022
- Bugfix in
messages.pywhere authentication method was not being checked for correctly, throwing an error when using header auth.
3.0.1
4 Oct 2022
- Fixed bug where a JWT was created globally and could expire. Now a new JWT is generated when a request is made.
- Fixed bug where timeout was not passed to session object.
3.0.0
27 Jul 2022
Breaking changes:
- Removed deprecated methods from
client.pythat are now available in specific modules related to each of the available Vonage APIs. E.g. to call the number insight API, the methods are now called in this way:client.number_insight.get_basic_number_insight(...), or by instantiating theNumberInsightclass directly:ni = vonage.NumberInsight(client),ni.get_basic_number_insight(...)etc. - Removed automatic client creation when instantiating an
sms,voiceorverifyobject. You can now use these APIs from a client instance you create (e.g.client.sms.send_message()) or pass in a client to the API class to create it (e.g.sms = vonage.Sms(client)), as has been the case since v2.7.0 of the SDK. - Removed methods to call the Message Search API, which has been retired by Vonage.
- Removed deprecated voice and number insight methods from
voice.py(initiate_call, initiate_tts_call and initiate_tts_prompt_call) andnumber_insight.py(request_number_insight). - Renamed the
Account.delete_secret()method torevoke_secret()to bring it in line with what is described in our documentation.
Deprecations:
- Deprecated the
ApplicationV2class and created an Application class with the same methods to bring the naming in line with other classes. This can be called from the client object withclient.application.create_application(...)etc. or directly withapplication = vonage.Application(client),application.create_application(...)etc. - Deprecated old Pricing API methods
get_sms_pricingandget_voice_pricing. - Deprecated Redact class as it's a dev preview product that's unsupported in the SDK and will be removed in a later release.
Enhancements:
- Added
get_all_countries_pricingmethod toAccountobject. - Added a
typeparameter for pricing calls, sosmsorvoicepricing can now be chosen. - Added
max_retries,timeout,pool_connectionsandpool_maxsizeoptional keyword arguments to theClientclass, which can now be specified on instantiation and used in the API calls made with the client.
2.8.0
30 Jun 2022
- Added Messages API v1.0 support. Messages API can now be used by calling the
client.messages.send_message()method.
2.7.0
26 May 2022
- Moved some client methods into their own classes:
account.py, application.py, message_search.py, number_insight.py, numbers.py, short_codes.py, ussd.py - Deprecated the corresponding client methods. These will be removed in a major release that's coming soon.
- Client now instantiates a class object for each API when it is created, e.g.
vonage.Client(key="mykey", secret="mysecret")instantiates instances ofAccount,Sms,NumberInsightetc. These instances can now be called directly fromClient.
2.6.4
27 Apr 2022
- Dropped support for Python 3.6 and below
- Now supporting currently supported stable versions of Python, i.e. Python 3.7-3.10
- Internal refactoring and enhancements
- Adding default
max_retriesoption to theBasicAuthenticationServerconstructor, specifying optional parameters
2.5.5
5 Jan 2021
- Patched issues with PyJWT >1.8 (TypeError: can't concat str to bytes)
- This patch ensures all versions of PyJWT are supported.
2.5.3
14 Sept 2020
- Minor patches to reflect Vonage namespace changes
2.5.2
27 Aug 2020
- Support for Independent SMS, Voice and Verify APIs with tests as well as current client methods
- Getters/Setters to extract/rewrite custom attributes
- PSD2 Verification support
- Dropping support for Python 2.7
- Roadmap to better error handling
- Supporting Python 3.8