Browse Notifications

stable · event · 0.2.0

In-app notification signal

An ephemeral in-app signal is available for a Project Client target.

Capability Domain: notifications

Reference identifier: in-app-signal

Schema ID: https://minicenter.otus.tw/events/notifications.in_app.signal.v1.schema.json

Delivery: Delivered as a Domain Event at least once; consumers deduplicate by envelope id. The signal expires after five minutes.

Event schema

Event schema
{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "$id": "https://minicenter.otus.tw/events/notifications.in_app.signal.v1.schema.json",
    "title": "In-app notification signal",
    "description": "An ephemeral in-app signal is available for a Project Client target.",
    "type": "object",
    "additionalProperties": false,
    "required": [
        "signal_id",
        "target",
        "payload"
    ],
    "properties": {
        "signal_id": {
            "type": "string",
            "format": "uuid"
        },
        "target": {
            "type": "string",
            "maxLength": 180
        },
        "payload": {
            "type": "object",
            "maxProperties": 20
        }
    },
    "x-documentation": true,
    "x-reference-id": "in-app-signal",
    "x-domain": "notifications",
    "x-stability": "stable",
    "x-delivery": "Delivered as a Domain Event at least once; consumers deduplicate by envelope id. The signal expires after five minutes.",
    "example": {
        "signal_id": "83000000-0000-4000-8000-000000000001",
        "target": "platform-account:30000000-0000-4000-8000-000000000003",
        "payload": {
            "kind": "refresh-notifications"
        }
    }
}

Example

Event example
{
    "signal_id": "83000000-0000-4000-8000-000000000001",
    "target": "platform-account:30000000-0000-4000-8000-000000000003",
    "payload": {
        "kind": "refresh-notifications"
    }
}