Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- enum EventType {
- Registered = "Registered",
- UploadedDocuments = "UploadedDocuments",
- OfferSigned = "OfferSigned",
- ContractSigned = "ContractSigned",
- ContractApproved = "ContractApproved",
- FirstOrderPlaced = "FirstOrderPlaced",
- FirstOrderDelivered = "FirstOrderDelivered",
- }
- // Базовый контракт события
- interface BaseEvent {
- // тип события
- type: EventType,
- // будет во всех унаследованных событиях
- principalId: number,
- // опциональное поле, будет доступно после подписания договора
- contractId: number | null,
- // Время по UTC, когда событие произошло. Формат iso 8601
- occurredOnUtc: string
- }
- // 1. В Битрикс24 передать персональную информацию клиента, который зарегистрировался в личном кабинете
- interface RegisteredEvent extends BaseEvent {
- type: EventType.Registered,
- contractId: null,
- payload: {
- principalId: number,
- name: string,
- phone: string,
- email: string,
- legalName: string,
- tin: string
- }
- }
- // 2. Клиент загрузил документы на проверку
- interface UploadedDocumentsEvent extends BaseEvent {
- type: EventType.UploadedDocuments,
- contractId: null,
- }
- // 3. Клиент подписал оферту;
- interface SignedOfferEvent extends BaseEvent {
- type: EventType.OfferSigned
- contractId: null,
- }
- // 4. Договор согласован
- interface ContractApprovedEvent extends BaseEvent {
- type: EventType.ContractApproved
- contractId: null,
- }
- // 5. Договор согласован +
- // Присвоен ID контракта, также передать ID Контракта в Битрикс24. +
- // Зарегистрирован «боевой» личный кабинет\интеграция с клиентом произведена (ответственный менеджер по интеграции) +
- // Настройка личного кабинета произведена (ответственный саппорт-менеджер)
- interface ContractSignedEvent extends BaseEvent {
- type: EventType.ContractSigned
- contractId: number,
- }
- // 6. Клиент разместил первый манифест (примечание: правильный термин заказ)
- interface FirstOrderPlacedEvent extends BaseEvent {
- type: EventType.FirstOrderPlaced
- contractId: number
- }
- // 7. По клиенту доставлен первый заказ.
- interface FirstOrderDeliveredEvent extends BaseEvent {
- type: EventType.FirstOrderDelivered
- contractId: number
- }
Add Comment
Please, Sign In to add comment