mirror of
https://github.com/pacnpal/django-anymail.git
synced 2025-12-20 03:41:05 -05:00
Unisender Go: Fix status tracking webhook and tests.
- Fix signature checking to avoid false validation errors on webhook payloads including `/` (including all "clicked" and most "opened" events). And in general, avoid depending on specific details of Unisender Go's JSON serialization. (Fixes #398.) - Handle "use single event" webhook option (which has a different payload format). - Verify basic auth when Anymail's WEBHOOK_SECRET is used. (This is optional for Unisender Go, since payloads are signed, but it needs to be checked when enabled.) - Treat "soft_bounced" events as "deferred" rather than "bounced", since they will be retried later. - Update validation error to reference Project ID if the webhook is configured for a specific project. - Expose Unisender Go's delivery_status code and unsubscribe form comment as Anymail's normalized event.description. - Update webhook tests based on actual payloads and add several missing tests. - Update docs to clarify webhook use with Unisender Go projects.
This commit is contained in:
@@ -36,6 +36,18 @@ Breaking changes
|
||||
|
||||
* Require **Django 4.0 or later** and Python 3.8 or later.
|
||||
|
||||
Fixes
|
||||
~~~~~
|
||||
|
||||
* **Unisender Go:** Fix several problems in Anymail's Unisender Go status tracking
|
||||
webhook. Rework signature checking to fix false validation errors (particularly
|
||||
on "clicked" and "opened" events). Properly handle "use single event" webhook
|
||||
option. Correctly verify WEBHOOK_SECRET when set. Provide Unisender Go's
|
||||
``delivery_status`` code and unsubscribe form ``comment`` in Anymail's
|
||||
``event.description``. Treat soft bounces as "deferred" rather than "bounced".
|
||||
(Thanks to `@MikeVL`_ for fixing the signature validation problem.)
|
||||
|
||||
|
||||
Features
|
||||
~~~~~~~~
|
||||
|
||||
@@ -1741,6 +1753,7 @@ Features
|
||||
.. _@mark-mishyn: https://github.com/mark-mishyn
|
||||
.. _@martinezleoml: https://github.com/martinezleoml
|
||||
.. _@mbk-ok: https://github.com/mbk-ok
|
||||
.. _@MikeVL: https://github.com/MikeVL
|
||||
.. _@mounirmesselmeni: https://github.com/mounirmesselmeni
|
||||
.. _@mwheels: https://github.com/mwheels
|
||||
.. _@nuschk: https://github.com/nuschk
|
||||
|
||||
Reference in New Issue
Block a user