Skip to content

Update vets-api to support request-level callbacks #23375

@sarahwcodes

Description

@sarahwcodes

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

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

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions