topcoder-platform / taas-app

TaaS App Front End
3 stars 24 forks source link

Confirm New Email Notifications Texts #576

Open maxceem opened 2 years ago

maxceem commented 2 years ago
  1. [x] [$50] Generate all new email notifications examples for email notification types:

    taas.notification.interview-rescheduled-host
    taas.notification.interview-rescheduled-guest
    taas.notification.interview-cancelled-host
    taas.notification.interview-cancelled-guest
    taas.notification.interview-invitation
    taas.notification.interview-link-for-host
    taas.notification.interview-link-for-guest
    taas.notification.interview-expired-host
    taas.notification.interview-expired-guest
    taas.notification.interview-schedule-reminder    

    for each notification type provide:

    • screenshot of the rendered email with data
    • rendered subject of email
  2. [x] Request good wording for them

  3. [x] [$50] Update email templates inside the repository files

  4. [x] Update email templates inside Sendgrid

maxceem commented 2 years ago

@yoution would you like to handle the first part of this issue: "Generate all new email notifications examples for email notification types:"? The payment is $50.

I would provide a guide on how to trigger some of these notifications in a comment below, though you might do it some other way.

maxceem commented 2 years ago

How to Schedule Interview using API only

Here I would show the steps on how to schedule, reschedule or cancel an interview, so you may start quickly.

  1. Setup TaaS API as per guide https://github.com/topcoder-platform/taas-apis/blob/dev/docs/guides/Setup-Interview-Workflow-Locally.md.

  2. Import Postman collection and environemnt files using Postman.

  3. In a new terminal window run script "npm run demo-email-notifications" - it would listen to Kafka topics and render emails into the folder "./out".

  4. Create Job in Postman https://monosnap.com/file/LXhozqn4g0I4TEBqmkPm6tZfdD7EJR. You should also see, that the email notification file was created in "out" folder https://monosnap.com/file/bA5xhRnKRLSFIiuhpy0Ou1Yh6JvjSU.

  5. Create a Job Candidate in Postman https://monosnap.com/file/7r6IXkh6damyFB674X0qSlyAcQhbhx.

  6. Now you can schedule an interview for this Job Candidate using Postman https://monosnap.com/file/6bPUdQADlsXe4uwmsZQcwHNVmbJve8. You would also get email notification in "out" folder https://monosnap.com/file/k7mSgVgmMDFTKwUeOaTLpR17rIOFAc.

  7. You may simulate selecting time for interview using Postman by setting interview start time and changing status to Scheduled, see https://monosnap.com/file/VPPRiT90AAlosmOSUYGxzabgUTuzsY

  8. To reschedule the Interview, update it again to another time using the same Postman request https://monosnap.com/file/enCaIDpxfWktRTa4BxSoma26ksDSLk

  9. To cancel the interview, update it again to status "Cancelled" using the same Postman request https://monosnap.com/file/fB7bmyJRvM0dNbhFXzujVCPkU7QjZp

NOTE. You can schedule maximum 3 interviews for 1 Job Candidate. So when you get error that you reached maximum number of interviews, just create a new Job Candidate using step 4.

yoution commented 2 years ago

@maxceem please assign to me

maxceem commented 2 years ago

Assigned. If you like, you can create a screenshot and subject for a couple of notifications and I would confirm if the format is good. So you could do the same for other notification types.

yoution commented 2 years ago

@maxceem I think we only need to create the email notification and create the screenshot for all these types but why do we need to do these ? 3.Update email templates inside the repository files and 4.Update email templates inside Sendgrid?

maxceem commented 2 years ago

In this task we only need to make part 1: "Generate all new email notifications examples for email notification types:". No need to make part 3 and 4 now.

After you create screenshots, I would send them to the manager to get an updated text. And after we have updated text we could do 3 and 4.

yoution commented 2 years ago
  1. taas.notification.interview-invitation filename Please select your available time-1638177952353.html image
maxceem commented 2 years ago

@yoution and also we need the subject which we set as a file name. For example, the subject for this email would be Please select your available time. Sometimes subject matches the text we have inside the email (near icon), but sometimes it's different like for this email.

yoution commented 2 years ago

@maxceem this api is down? image

maxceem commented 2 years ago

@yoution it works for me. Could you try with this user id 077fd578-7463-457f-b6ef-22c02178d7f5?

yoution commented 2 years ago

2.taas.notification.interview-schedule-reminder filename: Reminder_ Please select your available time for interview-1638185321879.html

image

maxceem commented 2 years ago

@yoution looks good.

Could you please, continue adding them to this Google Document https://docs.google.com/document/d/1XTTnUSxWJeLN6pd-w6rj_k_-K9z2E5_CF0UGflFcmLQ/edit#

Also, the file name has some escaped symbols. It's better to provide it unescaped, you may also get it from this file https://github.com/topcoder-platform/taas-apis/blob/dev/config/email_template.config.js#L131 but combine it with data so instead of {{start}} it shows real data.

I would send this file to the manager so they could provide the new texts for these emails.

yoution commented 2 years ago

@maxceem please review https://docs.google.com/document/d/1XTTnUSxWJeLN6pd-w6rj_k_-K9z2E5_CF0UGflFcmLQ/edit#

maxceem commented 2 years ago

Thank you @yoution. A couple of emails were mixed up for host and guest, but it was easy to fix. The payment is processed https://www.topcoder.com/challenges/20265992-95b7-4ccb-93d8-7dca871af9e5.

yoution commented 2 years ago

I hardcode the uuid , so the guest and host are same

@yoution it works for me. Could you try with this user id 077fd578-7463-457f-b6ef-22c02178d7f5?

maxceem commented 2 years ago

Ohh, I haven't noticed that. That could be confusing for someone who would prepare texts for emails. It would be better at least hardcode 2 different users for host and guest.

Would it be hard to do?

yoution commented 2 years ago

a little hard😅

yoution commented 2 years ago

do we have to discriminate between guest and host? I have deleted the local templates if you think we must do ,I can work on it

maxceem commented 2 years ago

do we have to discriminate between guest and host? I have deleted the local templates if you think we must do ,I can work on it

Let's do it like this. I would send this document as it is for now. And if the manager got confused that names are the same, I would ask you to make it different.

maxceem commented 2 years ago

We are ready to make part 3 of this issue.

maxceem commented 2 years ago

@yoution @mahidulalvi-bonic feel free to pick up this issue if you could work on it during the next 24 hours.

The task is in this comment https://github.com/topcoder-platform/taas-app/issues/576#issuecomment-988645142

yoution commented 2 years ago

@maxceem please assign to me

maxceem commented 2 years ago

Sure @yoution it's on you.

yoution commented 2 years ago

@maxceem https://docs.google.com/document/d/1XTTnUSxWJeLN6pd-w6rj_k_-K9z2E5_CF0UGflFcmLQ/edit should we create new interview here? Ex. Propose a new interview (hyperlinked) or contact Ops here (hyperlinked).

maxceem commented 2 years ago

@yoution

yoution commented 2 years ago

@maxceem how can I get teamId from interview object

maxceem commented 2 years ago

@yoution it looks like you can use {{interviewLink}} inside the email and it would be the full URL of the link we need.

maxceem commented 2 years ago

@yoution payment updating email templates for has been processed https://www.topcoder.com/challenges/5517cc9c-84ee-4f28-ac42-27898ed291ee