-
Notifications
You must be signed in to change notification settings - Fork 75
Description
Business Need
We received a DVSA request to setup a callback for a new service (check_in
in vets-api
, but it's actually the VEText service). While the notification-api
only allows one callback endpoint per service, we do have the option of using a request-level callbacks as provided to us by the Llamas. We will need to update our vets-api
module to support these request-level callbacks going forward. We should be able to do so without having to involve any existing services, since this will be a behind-the-scenes update (and once it's in place, it means we no longer will need to provide support via the configuration step).
User Story(ies)
As a developer of the portal
I want to have both request- and service-level callbacks available to me
So that I can use service-level callbacks more selectively and skip the configuration step altogether
Additional Info and Resources
- Request-level callback docs
- UK gem (
#send_email
and#send_sms
for reference): https://github.com/alphagov/notifications-ruby-client/blob/93756391ca90b555285182167dbb72eb07608652/lib/notifications/client.rb#L35-L48 - Keep in mind that we will need to support old and new methods of callbacks at the same time
Engineering Checklist
Required
- Create a new feature flag:
va-notify-request-callbacks
- Update internal #send_email and #send_sms to accept another arg (method definitions in the UK gem look like they don't do any filtering out of args, but we'll need to monkey patch if they do)
- Update
VANotify::CallbacksController
- Update
vets-api
documentation - Add callback URL to settings (. . .)
Acceptance Criteria
Required
- Changes are behind a feature flag and feature flag is toggled on
- When feature flag is turned on, we do not see errors coming from request-level callbacks
- Docs are updated
- Changes for enabling request-level callbacks are merged in
QA Considerations
For QA to populate. Leave blank if QA is not applicable on this ticket.
n/a, BE change
Potential Dependencies
Leave blank if n/a
Out of Scope
Leave blank if n/a