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

Last updated

Was this helpful?