Veikedo

bitrix24 v2

Jul 19th, 2021 (edited)
578
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. enum EventType {
  2.   StartedRegistration = "StartedRegistration",
  3.   Registered = "Registered",
  4.   UploadedDocuments = "UploadedDocuments",
  5.   OfferSigned = "OfferSigned",
  6.   ContractSigned = "ContractSigned",
  7.   FirstOrderPlaced = "FirstOrderPlaced",
  8.   FirstOrderDelivered = "FirstOrderDelivered",
  9. }
  10.  
  11. // Базовый контракт события
  12. interface BaseEvent {
  13.   // тип события
  14.   type: EventType,
  15.   // будет во всех унаследованных событиях
  16.   principalId: number,
  17.   // опциональное поле, будет доступно после подписания договора, контракт из Лозона
  18.   contractId: number | null,
  19.   // Время по UTC, когда событие произошло. Формат iso 8601
  20.   occurredOnUtc: string
  21. }
  22.  
  23. // 0. Принципал начал регистрацию/открыл форму регистрации
  24. interface StartedRegistrationEvent extends BaseEvent {
  25.   type: EventType.StartedRegistration,
  26.   contractId:  null,
  27.   payload: {
  28.     // опциональное поле, первое время будет приходить пустая строка
  29.     phone: string | null,
  30.   }
  31. }
  32.  
  33. // 1. В Битрикс24 передать персональную информацию клиента, который зарегистрировался в личном кабинете (ШАГ 2)
  34. interface RegisteredEvent extends BaseEvent {
  35.   type: EventType.Registered,
  36.   contractId: null,
  37.   payload: {
  38.     name: string,
  39.     phone: string,
  40.     email: string,
  41.     legalName: string,
  42.     // инн
  43.     tin: string
  44.   }
  45. }
  46.  
  47. // 2. Клиент загрузил документы на проверку
  48. interface UploadedDocumentsEvent extends BaseEvent {
  49.   type: EventType.UploadedDocuments,
  50.   contractId: null,
  51. }
  52.  
  53. // 3. Клиент подписал оферту
  54. interface SignedOfferEvent extends BaseEvent {
  55.   type: EventType.OfferSigned
  56.   contractId: null,
  57. }
  58.  
  59. // 4. Договор согласован (при получениии события из кафки от метазона, при переводе в статус ReviewPassed)
  60. // Присвоен ID контракта, также передать ID Контракта в Битрикс24. +
  61. // Зарегистрирован «боевой» личный кабинет\интеграция с клиентом произведена (ответственный менеджер по интеграции) +
  62. // Настройка личного кабинета произведена (ответственный саппорт-менеджер)
  63. interface ContractSignedEvent extends BaseEvent {
  64.   type: EventType.ContractSigned
  65.   contractId: number, // Лозоновский
  66. }
  67.  
  68. // 5. Клиент разместил первый манифест (примечание: правильный термин заказ)
  69. interface FirstOrderPlacedEvent extends BaseEvent {
  70.   type: EventType.FirstOrderPlaced
  71.   contractId: number
  72. }
  73.  
  74. // 6. По клиенту доставлен первый заказ.
  75. interface FirstOrderDeliveredEvent extends BaseEvent {
  76.   type: EventType.FirstOrderDelivered
  77.   contractId: number
  78. }
  79.  
Add Comment
Please, Sign In to add comment