Notification Template
Notification template is template message to generate mail body when sending a specific mail for each action.
Create Notification Template
Example Request
curl --location '{host}/api/v1/notification-templates/' \
--header 'Authorization: Token {Token}' \
--header 'Content-Type: application/json' \
--data '{
"notification_type": "quotation_created",
"subject": "quotation_created",
"template": "Quotation {{ quotation.name }} ({{ quotation.number }}) created."
}'
Example Response (200 OK)
{
"id": 8,
"notification_type": "quotation_created",
"subject": "quotation_created",
"template": "Quotation {{ quotation.name }} ({{ quotation.number }}) created.",
"created_at": "2024-02-01T14:49:27.613403Z",
"modified_at": "2024-02-01T14:49:27.614573Z"
}
Example Response (400 Bad Request)
{
"notification_type": [
"notification template with this notification type already exists."
]
}
List Notification Templates
Example Request
curl --location '{host}/api/v1/notification-templates/' \
--header 'Authorization: Token {Token}'
Example Response (200 OK)
{
"count": 5,
"next": null,
"previous": null,
"results": [
{
"id": 8,
"notification_type": "quotation_created",
"subject": "quotation_created",
"template": "Quotation {{ quotation.name }} ({{ quotation.number }}) created.",
"created_at": "2024-02-01T14:49:27.613403Z",
"modified_at": "2024-02-01T14:49:27.614573Z"
},
],
...
}
Get Single Notification Template
Example Request
curl --location '{host}/api/v1/notification-templates/1/' \
--header 'Authorization: Token {Token}'
Example Response (200 OK)
{
"id": 1,
"notification_type": "quotation_created1",
"subject": "quotation_created",
"template": "quotation_created",
"created_at": "2023-11-15T14:56:16.835914Z",
"modified_at": "2023-11-15T14:56:16.835923Z"
}
Example Response (404 Not Found)
{
"detail": "Not found."
}
Update Notification Template
Example Request
curl --location --request GET '{host}/api/v1/notification-templates/8/' \
--header 'Authorization: Token {Token}' \
--header 'Content-Type: application/json' \
--data '{
"notification_type": "quotation_created",
"subject": "quotation_created",
"template": "{{ quotation.number }} {{ quotation.name }} {{ quotation.user.email }} updated"
}'
Example Response (200 OK)
{
"id": 8,
"notification_type": "quotation_created",
"subject": "quotation_created",
"template": "Quotation {{ quotation.name }} ({{ quotation.number }}) created.",
"created_at": "2024-02-01T14:49:27.613403Z",
"modified_at": "2024-02-01T14:49:27.614573Z"
}
Delete Notification Template
Example Request
curl --location --request DELETE '{host}/api/v1/notification-templates/8/' \
--header 'Authorization: Token {Token}' \
--header 'Content-Type: application/json' \
--data '{
"notification_type": "quotation_created",
"subject": "quotation_created",
"template": "{{ quotation.number }} {{ quotation.name }} {{ quotation.user.email }} updated"
}'
Example Response (204 No Content)
204 No Content