Notification (1.0.0)

Download OpenAPI specification:

Запросы на уведомление принимаются только из Kafka, HTTP-входа нет. Ответа издатель не получает.

Топик Ключ сообщения Значение
notification.notification.send id запроса NotificationRequest в JSON

Сообщение проверяется по schemas/request.schema.json: поля запроса плюс схема data для каждого type. Правила и каталог типов — в api/notification/README.md.

Запрос на уведомление

id — ключ идемпотентности: повтор с тем же id не порождает новых уведомлений. Получателей от 1 до 100, у каждого ровно одно поле.

id
required
string <uuid>

Идентификатор запроса, задаёт издатель. Ключ идемпотентности: повторный запрос с тем же id не порождает новых уведомлений.

type
required
string
Enum: "booking.paid" "booking.paid_expiring"

Тип уведомления. Определяет шаблоны, каналы и схему data (см. README.md).

required
Array of objects (Recipient) [ 1 .. 100 ] items [ items = 1 properties ]
data
required
object

Данные для шаблона; схема зависит от type (schemas/types/<type>.schema.json).

expires_at
string <date-time>

После этого момента уведомление не отправляется (статус expired). Необязательно.

{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "type": "booking.paid",
  • "recipients": [
    ],
  • "data": { },
  • "expires_at": "2019-08-24T14:15:22Z"
}

data: booking.paid

Бронь оплачена. Каналы: Bitrix24, push, email.

booking_id
required
string <uuid>
booking_number
integer or null <int64>

Номер бронирования

unit_title
required
string [ 1 .. 255 ] characters

Объект для показа, например «ЖК Солнечный, кв. 45»

amount
required
string^[0-9]+(\.[0-9]{1,2})?$

Оплаченная сумма в рублях, десятичной строкой

paid_at
required
string <date-time>
expiration_date
required
string <date-time>

Дата окончания бронирования

{
  • "booking_id": "b0ae0641-0cd4-4f7f-8550-dcd550941f4a",
  • "booking_number": 0,
  • "unit_title": "string",
  • "amount": "string",
  • "paid_at": "2019-08-24T14:15:22Z",
  • "expiration_date": "2019-08-24T14:15:22Z"
}

data: booking.paid_expiring

Оплаченная бронь скоро истечёт. Каналы: Bitrix24, push.

booking_id
required
string <uuid>
booking_number
integer or null <int64>

Номер бронирования

unit_title
required
string [ 1 .. 255 ] characters

Объект для показа

expiration_date
required
string <date-time>

Дата окончания бронирования

{
  • "booking_id": "b0ae0641-0cd4-4f7f-8550-dcd550941f4a",
  • "booking_number": 0,
  • "unit_title": "string",
  • "expiration_date": "2019-08-24T14:15:22Z"
}