- [FIX] Authentication data is not sent with request.
- Refactored
async_customerio.client_base.AsyncClientBase
to take advantage of connection pool. So the HTTP client will be created once during classasync_customerio.track.AsyncCustomerIO
andasync_customerio.api.AsyncAPIClient
instantiation.
- Support of Python 3.12 added.
- [FIX] Add missing dependency
type_extensions
to be able using type annotations on Python 3.7
- Added support of sending transactional push notifications. More details of how to send Push Notifications via CustomerIO https://customer.io/docs/journeys/transactional-api/#transactional-push-notifications
- Added helper function for validation of request origin using X-CIO-Signature and X-CIO-Timestamps
- [BREAKING] For consistency across APIs following actions have been taken:
- Renamed transactional email request optional arguments
amp_body
tobody_amp
andplaintext_body
tobody_plain
- Changed transactional email request default values for optional boolean arguments
disable_css_preproceessing
,queue_draft
,disable_message_retention
,tracked
,send_to_unsubscribed
- [FIX] Change parameter name from
id_
toidentifier
of the methodidentify
to avoid naming collision.
- Add a couple of new attributes to object
SendEmailRequest
- The
Content-Type
we use has been updated so that Customer.io is happy when we try to send emails.
- Class
AsyncCustomerIO
updated with docstrings.
AsyncClientBase
has been adjusted to handle properly non-successful codes and connection retries.- Class
SendEmailRequest
has been updated with type annotations.
README.md
has been updated with examples of how to use.
- First release on PyPI.