cds-snc / notification-planning

Project planning for GC Notify Team
4 stars 0 forks source link

Add ability to change the subject based on API key used for testing in dev #386

Open yaelberger-commits opened 2 years ago

yaelberger-commits commented 2 years ago

Add ability to change the subject based on API key used for testing in dev

Description

One thing that I would like to see on your site is the ability to change the subject based on API key used. What I mean is, when I create an API and call it “dev” if I could specify that ALL emails (and SMS I guess) sent using this API should prepend “[DEV]” to the subject and a second API called “prod” which would not prepend anything, that would be very useful. Right now, the two ways I know to circumvent this, is to either use two different templates which are harder to maintain and requires a change in code before going live (never recommended after testing is completed) or to use a variable for the subject which kind of defeat the purpose of using a template in the first place and add extra code not needed in live.

I had another idea, when you create a new API key, we could have a second button “Create a Dev API Key” with which we could specify the prefix as mentioned below but also that would not add to the Dashboard’s stats, the emails/text sent (or add it as “send by dev”).

WHY are we building? WHAT are we building? VALUE created by our solution

Acceptance Criteria** (Definition of done)

To be refined through discussion with the team

Given some context, when (X) action occurs, then (Y) outcome is achieved

If this user story emerged from User Research insights:

jimleroyer commented 2 years ago

The user can add an ((environment)) variable in the email title and body, hence avoiding to create 2 separate templates.

Coupling the content of the notification to the API key could make our design more complicated and make maintenance harder on our side.

image image

or to use a variable for the subject which kind of defeat the purpose of using a template in the first place and add extra code not needed in live.

I'd be curious how much complex the user's system would get because he needs to send a blank variable when in production, compared to Notify needing to couple two unrelated features together. That does not seem like a fair ask and I'm a bit puzzled on why he can't specify a configuration value for each environment, with a blank in production?

yaelberger-commits commented 2 years ago

Iceboxing