Перейти к содержанию

JSON RPC

Module description

Notif - a subsystem that manages notifications and messages to send

Operations

Add notif route

Context model: Routes

Request data

{
    "context": {
        "op": "route_add"
    },
    "data": {
        "name": "<name>",
        "endpoint": "<endpoint>",
        "mailing": "<mailing>",
        "sender": "<sender>",
        "subject": "<subject>",
        "template": "<template>",
        "descr": "<descr>"
    }
}

Description

name [ required ] - Entry point of route

endpoint [ required ] - Endpoint name

mailing [ required ] - Mailing name

sender [ required ] - Message sender

subject [ ] - Message subject

template [ required ] - Message template

descr [ ] - Route description

Show notif route

Context model: Routes

Request data

{
    "context": {
        "op": "route_show"
    },
    "data": {
        "name": "<name>"
    }
}

Description

name [ required ] - Entry point of route

List notif routes

Context model: Routes

Request data

{
    "context": {
        "op": "route_list"
    }
}

Update notif route

Context model: Routes

Request data

{
    "context": {
        "op": "route_update"
    },
    "data": {
        "name": "<name>",
        "endpoint": "<endpoint>",
        "mailing": "<mailing>",
        "sender": "<sender>",
        "subject": "<subject>",
        "template": "<template>",
        "descr": "<descr>"
    }
}

Description

name [ required ] - Entry point of route

endpoint [ required ] - Endpoint name

mailing [ required ] - Mailing name

sender [ required ] - Message sender

subject [ ] - Message subject

template [ required ] - Message template

descr [ ] - Route description

Delete notif route

Context model: Routes

Request data

{
    "context": {
        "op": "route_del"
    },
    "data": {
        "name": "<name>"
    }
}

Description

name [ required ] - Entry point of route

List last messages

Context model: Messages

Request data

{
    "context": {
        "op": "message_list"
    },
    "data": {
        "limit": "<limit>"
    }
}

Description

limit [ int ] - Limit count messages

Show message info by uuid

Context model: Messages

Request data

{
    "context": {
        "op": "message_show"
    },
    "data": {
        "uuid": "<uuid>"
    }
}

Description

uuid [ str required ] - Message UUID

Delete message

Context model: Messages

Request data

{
    "context": {
        "op": "message_del"
    },
    "data": {
        "uuid": "<uuid>"
    }
}

Description

uuid [ required ] - Message UUID

Delete notif template

Context model: Templates

Request data

{
    "context": {
        "op": "template_del"
    },
    "data": {
        "name": "<name>"
    }
}

Description

name [ required ] - Template name

Add notif template

Context model: Templates

Request data

{
    "context": {
        "op": "template_add"
    },
    "data": {
        "name": "<name>",
        "data": "<data>",
        "descr": "<descr>"
    }
}

Description

name [ required ] - Template name

data [ ] - Template data (Jinja)

descr [ ] - Mailings description

Show notif template

Context model: Templates

Request data

{
    "context": {
        "op": "template_show"
    },
    "data": {
        "name": "<name>"
    }
}

Description

name [ required ] - Template name

List notif templates

Context model: Templates

Request data

{
    "context": {
        "op": "template_list"
    }
}

Update notif template

Context model: Templates

Request data

{
    "context": {
        "op": "template_update"
    },
    "data": {
        "name": "<name>",
        "data": "<data>",
        "descr": "<descr>"
    }
}

Description

name [ required ] - Template name

data [ ] - Template data (Jinja)

descr [ ] - Mailings description

Delete notif mailings

Context model: Mailings

Request data

{
    "context": {
        "op": "mailing_del"
    },
    "data": {
        "name": "<name>"
    }
}

Description

name [ required ] - Mailings name

Add notif mailings

Context model: Mailings

Request data

{
    "context": {
        "op": "mailing_add"
    },
    "data": {
        "name": "<name>",
        "addresses": "<addresses>",
        "descr": "<descr>"
    }
}

Description

name [ required ] - Mailings name

addresses [ * required ] - List of addresses for message

descr [ ] - Mailings description

Show notif mailings

Context model: Mailings

Request data

{
    "context": {
        "op": "mailing_show"
    },
    "data": {
        "name": "<name>"
    }
}

Description

name [ required ] - Mailings name

List notif mailings

Context model: Mailings

Request data

{
    "context": {
        "op": "mailing_list"
    }
}

Update notif mailings

Context model: Mailings

Request data

{
    "context": {
        "op": "mailing_update"
    },
    "data": {
        "name": "<name>",
        "addresses": "<addresses>",
        "descr": "<descr>"
    }
}

Description

name [ required ] - Mailings name

addresses [ * required ] - List of addresses for message

descr [ ] - Mailings description

Add message to send

Request data

{
    "context": {
        "op": "message_add"
    },
    "data": {
        "route": "<route>",
        "data": "<data>"
    }
}

Description

route [ string ] - Notif route used to send

data [ jsonstr ] - Message data

Delete notif Endpoint

Context model: Endpoints

Request data

{
    "context": {
        "op": "endpoint_del"
    },
    "data": {
        "name": "<name>"
    }
}

Description

name [ required ] - Endpoint name

Add notif Endpoint

Context model: Endpoints

Request data

{
    "context": {
        "op": "endpoint_add"
    },
    "data": {
        "name": "<name>",
        "type": "<type>",
        "url": "<url>",
        "tls": "<tls>",
        "user": "<user>",
        "passwd": "<passwd>",
        "descr": "<descr>"
    }
}

Description

name [ required ] - Endpoint name

type [ ] - Endpoint type (default - SMTP) ['SMTP']

url [ required ] - Server url

tls [ ] - Enable tls (default - no) ['yes', 'no']

user [ ] - Service server user

passwd [ ] - Service server password

descr [ ] - Endpoint description

Show notif Endpoint

Context model: Endpoints

Request data

{
    "context": {
        "op": "endpoint_show"
    },
    "data": {
        "name": "<name>"
    }
}

Description

name [ required ] - Endpoint name

List notif Endpoints

Context model: Endpoints

Request data

{
    "context": {
        "op": "endpoint_list"
    }
}

Update notif Endpoint

Context model: Endpoints

Request data

{
    "context": {
        "op": "endpoint_update"
    },
    "data": {
        "name": "<name>",
        "url": "<url>",
        "tls": "<tls>",
        "user": "<user>",
        "passwd": "<passwd>",
        "descr": "<descr>"
    }
}

Description

name [ required ] - Endpoint name

url [ ] - Server url

tls [ ] - Enable tls (default - no) ['yes', 'no']

user [ ] - Service server user

passwd [ ] - Service server password

descr [ ] - Endpoint description

Models

Messages

data [ jsonstr required ] - Message data

uuid [ str required ] - Message UUID

Endpoints

name [ required ] - Endpoint name

type [ ] - Endpoint type (default - SMTP) ['SMTP']

url [ required ] - Server url

tls [ ] - Enable tls (default - no) ['yes', 'no']

user [ ] - Service server user

passwd [ ] - Service server password

descr [ ] - Endpoint description

Mailings

name [ required ] - Mailings name

addresses [ * required ] - List of addresses for message

descr [ ] - Mailings description

Templates

name [ required ] - Template name

data [ ] - Template data (Jinja)

descr [ ] - Mailings description

Routes

name [ required ] - Entry point of route

endpoint [ required ] - Endpoint name

mailing [ required ] - Mailing name

sender [ required ] - Message sender

subject [ ] - Message subject

template [ required ] - Message template

descr [ ] - Route description