|
1 | 1 | # Notification Service Update (Scissor Grinder Cicada) |
2 | 2 | **Epic Type:** Implementation Epic |
3 | 3 |
|
4 | | -## Scope: |
5 | | -This epic will add a SMS channel to Notification Service to enable SMS delivery. |
| 4 | +## Scope |
| 5 | +This epic will add an SMS channel to the Notification Service to enable SMS delivery. |
6 | 6 | It will include: |
7 | | -- Schema definition for a SMS notification event |
8 | | -- Adding the schema to ghga-event-schemas |
9 | | -- Functionality for consuming those events and dispatching notifications via a SMS gateway |
| 7 | +- Schema definition for an SMS notification event |
| 8 | +- Adding the schema to `ghga-event-schemas` |
| 9 | +- Functionality for consuming those events and dispatching notifications via an SMS gateway |
10 | 10 |
|
11 | 11 | It does not include: |
12 | 12 | - Changing existing services to send SMS notification events |
13 | | -- Update Notification Orchestration Service to emit SMS notification events |
| 13 | +- Updating the Notification Orchestration Service to emit SMS notification events |
14 | 14 |
|
15 | | -## Additional Implementation Details: |
| 15 | +## Additional Implementation Details |
16 | 16 |
|
17 | 17 | ### SMS Notification Event |
18 | | -A SMS Notification event schema will be defined in the ghga-event-schemas repository. |
| 18 | +An SMS notification event schema will be defined in the `ghga-event-schemas` repository. |
19 | 19 | The event schema will detail all the information needed to send a notification via SMS: |
20 | | -- text (required) |
21 | | -- phone (required) |
22 | | -- delivery_at (optional) |
23 | | -The exact field names and constraints will be provided in the ghga-event-schemas repository, which is considered the source of truth. |
24 | | -This information will be used to create a SMS with a consistent format. |
| 20 | +- `text` (required) |
| 21 | +- `phone` (required) |
| 22 | +- `delivery_at` (optional) |
| 23 | + |
| 24 | +The exact field names and constraints will be provided in the `ghga-event-schemas` repository, which is considered the source of truth. |
| 25 | +This information will be used to create an SMS with a consistent format. |
25 | 26 |
|
26 | 27 | ### Notification Service |
27 | | -This is a microservice dedicated to consuming Notification events from the "notifications" topic in kafka. |
28 | | -In this update a new type of notification event will be added to expand the service's capabilities. |
29 | | -In order to utilize the notification service to send SMS, publishers will need to publish an event to the "notifications" topic using the "SMS notification" event type, with a payload conforming to the schema defined by SmsNotification in the ghga-event-schemas repository. |
30 | | -SMS will be sent via HTTP and SMS contents will be injected into the requests. The parameters required to successfully configure the service are as follows: |
31 | | -- sms_gateway_address: The address of the SMS gateway |
32 | | -- sms_gateway_port: The port to use |
33 | | -- token: The API token used for authentication and authorization |
34 | | -- sender_id: Sender's id or phone number |
| 28 | +This is a microservice dedicated to consuming notification events from the "notifications" topic in Kafka. |
| 29 | +In this update, a new type of notification event will be added to expand the service's capabilities. |
| 30 | + |
| 31 | +To utilize the Notification Service to send SMS, publishers will need to publish an event to the "notifications" topic using the "SMS notification" event type, with a payload conforming to the schema defined by `SmsNotification` in the `ghga-event-schemas` repository. |
35 | 32 |
|
36 | | -## Human Resource/Time Estimation: |
| 33 | +SMS will be sent via HTTP, and SMS contents will be injected into the requests. The parameters required to successfully configure the service are as follows: |
| 34 | +- `sms_gateway_address`: The address of the SMS gateway |
| 35 | +- `sms_gateway_port`: The port to use |
| 36 | +- `token`: The API token used for authentication and authorization |
| 37 | +- `sender_id`: Sender's ID or phone number |
37 | 38 |
|
38 | | -Number of sprints required: 1 |
| 39 | +## Human Resource/Time Estimation |
39 | 40 |
|
40 | | -Number of developers required: 1 |
| 41 | +- Number of sprints required: 1 |
| 42 | +- Number of developers required: 1 |
0 commit comments