# Нотификации
## Базовая структура
```typescript
interface INotification {
id: number;
type: string;
kind: "fixed" | "float" | "other";
payload: object;
readonly: boolean;
readAt?: string;
createdAt: string;
}
class UserProfile {
// ...
notifications: INotification[]
}
class Notification implements INotification {
id: number; // 1
readAt?: string; // 2020-04-20T12:20:42+00:00
createdAt: string; // 2020-03-20T12:20:42+00:00
readonly: boolean = false;
type: string;
payload: object;
}
```
## Статус банк-реквеста изменен
```typescript
/**
* Существующая нотификация, используется в списках для сортировки по точкам
*/
class BankRequestStatusChanged extends Notification {
type = 'bankRequestStatusChanged'; // Пока-что оставляем этот тип как есть
payload: {
id: number, // 6947
subject: string, // Анкета
text: string, // Вы можете исправить анкету и отправить её в банк или оставить замечания и вернуть на доработку партнёру.
link: string // https://partner.ipoteka.center/requests/4592/banks/6947
}
}
```
## Запрос реквизитов
Макеты:
- https://zpl.io/VKgqOoP
- https://zpl.io/bozxpKG
```typescript
class RequirePaymentRequisite extends Notification {
type = 'payments.requireRequisite';
payload: {
title: string // Укажите реквизиты до 5 апреля
shortText: string // Скоро выплата бонуса за март. Куда перечислить?
text: string // С 5 по 15 апреля мы будем выплачивать бонус за сделки марта.\n\nМы перечисляем бонус только в эти даты. Укажите свои реквизиты до 5 апреля, иначе придётся ждать ещё месяц до следующей выплаты.
};
}
```
## Подтверждение реквизитов
Макеты:
- https://zpl.io/bAyqN7q
- https://zpl.io/ad0PKQl
```typescript
class RequireConfirmationPaymentRequisite extends Notification {
type = 'payments.requireConfirmationRequisite';
payload: {
id: string, // paymentId
title: string, // Подтвердите реквизиты до 5 апреля
shortText: string, // Скоро выплата бонуса за март. У вас не поменялись реквизиты?
text: string, // С 5 по 15 апреля мы будем выплачивать бонус за сделки марта.\n\nМы перечисляем бонус только в эти даты. Подтвердите свои реквизиты до 5 апреля, иначе придётся ждать ещё месяц до следующей выплаты.
};
}
```
## Подтверждение реквизитов
Макеты:
- https://zpl.io/VqgEdK7
```typescript
class ConfirmationWarningPaymentRequisite extends Notification {
type = 'payments.requireConfirmationRequisite'
readonly = true
kind = 'fixed'
payload: {
id: string, // paymentId
text: string, // Осталось %days% дня, чтобы указать реквизиты, по которым придёт бонус за март.
dateTo: '2020-01-01'
}
}
```
## Реквизиты не одобрены
Макеты:
- https://zpl.io/aXNo00M
```typescript
class RequisiteRejected extends Notification {
type = 'payments.requisiteRejected'
readonly = false
kind = 'float'
payload: {
id: string, // paymentId
title: 'Исправьте ошибки в реквизитах',
shortText: 'Реквизиты не одобрены. Исправьте замечания и отправьте их ещё раз.',
text: 'С реквизитами что-то не так. Исправьте замечания до 5 апреля и отправьте нам новые данные, на которые мы переведём ваш бонус за март.',
}
}
```
## Документы не одобрены (ИП / ООО)
Макеты:
- https://zpl.io/aXNo00M
```typescript
class DocumentsRejected extends Notification {
type = 'payments.documentsRejected'
readonly = false
kind = 'float'
payload: {
id: string, // paymentId
title: 'Исправьте ошибки в документах',
organizationType: 'individualEntrepreneur' | 'organization',
shortText: 'Документы не одобрены. Исправьте замечания и загрузите новые',.
text: 'С документами что-то не так. Исправьте замечания к документам до 5 апреля и загрузите новые.',
}
}
```
## Документы не одобрены (самозанятый)
Макеты:
- https://zpl.io/aXNo00M
```typescript
class DocumentsRejected extends Notification {
type = 'payments.documentsRejected'
readonly = false
kind = 'float'
payload: {
id: string, // paymentId
organizationType: 'selfEmployed',
title: 'Исправьте ошибки в документах',
shortText: 'Документы не одобрены. Исправьте замечания и загрузите новые.',
text: 'С документами что-то не так. Исправьте замечания к чеку самозанятого и загрузите новый до конца месяца.',
}
}
```
## Ваши реквизиты приняты
Макеты:
- https://zpl.io/aXNo00M
```typescript
class RequisiteApproved extends Notification {
type = 'payments.requisiteApproved'
readonly = false
kind = 'float'
payload: {
id: string, // paymentId
title: 'Загрузите документы до 5 апреля',
text: 'Ваши реквизиты приняты. Теперь надо загрузить акт.',
}
}
```
## Загрузите закрывающий документ
Макеты:
- https://zpl.io/aXNo00M
```typescript
class RequisiteApproved extends Notification {
type = 'payments.paid'
readonly = false
kind = 'float'
payload: {
id: string, // paymentId
title: 'Загрузите закрывающий документ',
shortText: 'Вы уже успели получить выплату за март? Скорее грузите документы.',
text: 'С 5 по 15 апреля мы выплачиваем бонус за сделки марта.\n\nКогда вы получите деньги, загрузите чек самозанятого до конца апреля. Иначе выплата в следующем месяце будет заморожена.'
}
}
```
# Изменения в калькуляторе
## Изменился бонус в банке
## Соглашения
- Текст сообщений присылать в формате markdown