Перейти к основному содержимому

Реестр событий PIN

Все интеграционные события (IKafkaEvent, топики pin.<context>.<event>.v1) и их consumers. Дом контракта — docs/06-services/<context>/events/<event>.md (event-contract-template); consumers — docs/06-services/<consumer-context>/consumers/<name>.md.

Формат: | Событие (EventType) | Topic | ContractVersion | Producer | Consumers | Документ |

Все контракты — ContractVersion = 1 (первый выпуск). Топик кодирует версию суффиксом .v1. Часть контекстов делит один топик на несколько типов событий (pin.identity.users, pin.identity.companies, pin.profile.verification-requests, pin.referral.bonds, pin.rewards.referral-accruals). catalog и dev-stats собственных событий не публикуют — только потребляют (см. consumers/). Консюмер gateway — общий шлюз (кэш интроспекции), вне 21 контекста.

Входящие внешние (Talent)

ПотокИсточникConsumer-контекстДокумент
Компании/пользователиTalent Identityidentitytalent-identity-sync
Проекты/объекты/ценыTalent Chessboardchessboard, invest-analyticstalent-chessboard-sync, talent-price-sync
СобственникиTalent Ownersinvestor-ownertalent-owners-sync
Справочники (страны/регионы/города/валюты/языки)Talent Handbookhandbooktalent-handbook-sync

identity / profile / chessboard

Событие (EventType)TopicContractVersionProducerConsumersДокумент
pin.identity.company-upsertedpin.identity.companies.v11identitycatalog, chessboard, news, walletcompany-upserted
pin.identity.company-suspendedpin.identity.companies.v11identitycatalog, chessboard, news, walletcompany-suspended
pin.identity.user-upsertedpin.identity.users.v11identityprofile, crm, referral, news, messenger, support, investor-owner, notifications, calendar, walletuser-upserted
pin.identity.user-blockedpin.identity.users.v11identitygateway, profileuser-blocked
pin.identity.user-signed-inpin.identity.sign-ins.v11identityuser-activity, referraluser-signed-in
pin.identity.user-access-changedpin.identity.access.v11identitygatewayuser-access-changed
pin.identity.company-invitation-changedpin.identity.company-invitation-changed.v11identitynotificationscompany-invitation-changed
pin.identity.agent-membership-changedpin.identity.agent-membership-changed.v11identitycrm, rewards, notificationsagent-membership-changed
pin.profile.verification-request-submittedpin.profile.verification-requests.v11profilenotificationsverification-request-submitted
pin.profile.verification-completedpin.profile.verification-requests.v11profilenotificationsverification-completed
pin.profile.person-upsertedpin.profile.persons.v11profile(внутр. реплики)person-upserted
pin.chessboard.project-upsertedpin.chessboard.project-upserted.v11chessboardcatalog, dev-statsproject-upserted
pin.chessboard.building-upsertedpin.chessboard.building-upserted.v11chessboardcatalog, dev-statsbuilding-upserted
pin.chessboard.layout-group-upsertedpin.chessboard.layout-group-upserted.v11chessboarddev-stats, rewardslayout-group-upserted
pin.chessboard.layout-upsertedpin.chessboard.layout-upserted.v11chessboarddev-stats, rewardslayout-upserted
pin.chessboard.property-object-upsertedpin.chessboard.property-object-upserted.v11chessboardcatalog, dev-statsproperty-object-upserted
pin.chessboard.property-object-status-changedpin.chessboard.property-object-status-changed.v11chessboardcatalogproperty-object-status-changed
pin.chessboard.property-object-price-changedpin.chessboard.property-object-price-changed.v11chessboardinvest-analytics, catalogproperty-object-price-changed
pin.chessboard.developer-upsertedpin.chessboard.developer-upserted.v11chessboardcatalog, dev-statsdeveloper-upserted

agent-membership-changed несёт enum Reason (LeaveReason: SelfLeave / ExcludedByAgency, заполняется при Status = Left, ADR-0072) — различает добровольный уход и принудительное исключение; crm/rewards запускают offboarding-каскад, notifications строит текст уведомления по Reason.

handbook

Реплика внешних справочников Talent. Топики compacted (cleanup.policy = compact): последняя запись каждой сущности хранится бессрочно и служит источником bootstrap новых консюмеров. Ключ — Id (per-key порядок).

Событие (EventType)TopicContractVersionProducerConsumersДокумент
pin.handbook.country-upsertedpin.handbook.countries.v11handbookchessboardcountry-upserted
pin.handbook.region-upsertedpin.handbook.regions.v11handbookchessboardregion-upserted
pin.handbook.city-upsertedpin.handbook.cities.v11handbookchessboardcity-upserted
pin.handbook.currency-upsertedpin.handbook.currencies.v11handbookchessboardcurrency-upserted
pin.handbook.language-upsertedpin.handbook.languages.v11handbook— (текущих потребителей нет; compacted для будущих)language-upserted

catalog / invest-analytics / rewards

catalog собственных интеграционных событий не публикует (consumer-only: проекции витрины по чужим событиям). invest-analytics публикует события пересчёта эконом-модели и метрик доходности; rewards — финансовый контур комиссий и реферальных вознаграждений (ADR-0065).

Событие (EventType)TopicContractVersionProducerConsumersДокумент
pin.invest-analytics.model-changedpin.invest-analytics.model-changed.v11invest-analyticsinvest-analytics (self, пересчёт)model-changed
pin.invest-analytics.property-object-metrics-updatedpin.invest-analytics.property-object-metrics.v11invest-analyticscatalogproperty-object-metrics
pin.rewards.reward-rule-changedpin.rewards.reward-rule-changed.v11rewardscatalogreward-rule-changed
pin.rewards.commission-rulespin.rewards.commission-rules.v11rewardscatalogcommission-rules
pin.rewards.commission-accrual-createdpin.rewards.commission-accrual-created.v11rewardsnotifications, crm, rewards (self)commission-accrual-created
pin.rewards.commission-accrual-status-changedpin.rewards.commission-accrual-status-changed.v11rewardsnotifications, rewards (self)commission-accrual-status-changed
pin.rewards.commission-money-receivedpin.rewards.commission-money-received.v11rewardswallet, notificationscommission-money-received
pin.rewards.commission-distribution-adjustedpin.rewards.commission-distribution-adjusted.v11rewardswalletcommission-distribution-adjusted
pin.rewards.referral-accrual-createdpin.rewards.referral-accruals.v11rewardsnotificationsreferral-accrual-created
pin.rewards.referral-accrual-status-changedpin.rewards.referral-accruals.v11rewardsnotifications, walletreferral-accrual-status-changed
pin.rewards.referral-accrual-amount-adjustedpin.rewards.referral-accruals.v11rewardsnotifications, walletadjust-referral-accrual
pin.rewards.payout-order-status-changedpin.rewards.payout-order-status-changed.v11rewardsnotifications, walletpayout-order-status-changed

pin.rewards.referral-accruals.v1 — общий топик трёх типов событий (created / status-changed / amount-adjusted), общий key = AccrualId → строгий порядок per-начисление (прецедент — pin.referral.bonds.v1).

wallet

Событие (EventType)TopicContractVersionProducerConsumersДокумент
pin.wallet.transaction-recordedpin.wallet.transaction-recorded.v11walletnotificationswallet-transaction-recorded

Проводки платформенных счетов (PlatformSettlement, PlatformRevenue) события не порождают — подписчиков у них нет. Ключ — AccountId (per-account порядок, монотонный AccountVersion у консюмера).

promotion

Событие (EventType)TopicContractVersionProducerConsumersДокумент
pin.promotion.purchase-changedpin.promotion.purchase-changed.v11promotioncatalog, news, notificationspromotion-purchase-changed

crm / referral / investor-owner

Событие (EventType)TopicContractVersionProducerConsumersДокумент
pin.crm.lead-createdpin.crm.lead-created.v11crmnotifications, referrallead-created
pin.crm.lead-expiredpin.crm.lead-expired.v11crmnotificationslead-expired
pin.crm.lead-participants-changedpin.crm.lead-participants-changed.v11crmmessenger, notificationslead-participants-changed
pin.crm.lead-booking-intent-changedpin.crm.lead-booking-intent-changed.v11crmnotifications, messengerlead-booking-intent-changed
pin.crm.fixation-approvedpin.crm.fixation-approved.v11crmrewards, notificationsfixation-approved
pin.crm.fixation-rejectedpin.crm.fixation-rejected.v11crmnotificationsfixation-rejected
pin.crm.deal-createdpin.crm.deal-created.v11crmmessenger, notifications, dev-stats, calendardeal-created
pin.crm.deal-stage-changedpin.crm.deal-stage-changed.v11crmmessenger, notificationsdeal-stage-changed
pin.crm.deal-members-changedpin.crm.deal-members-changed.v11crmmessenger, notifications, calendardeal-members-changed
pin.crm.deal-completedpin.crm.deal-completed.v11crminvestor-owner, rewards, chessboard, notifications, dev-stats, calendardeal-completed
pin.crm.deal-cancelledpin.crm.deal-cancelled.v11crmchessboard, rewards, notifications, calendardeal-cancelled
pin.crm.booking-createdpin.crm.booking-created.v11crmchessboard, messenger, dev-stats, calendarbooking-created
pin.crm.booking-paidpin.crm.booking-paid.v11crmmessenger, rewards, dev-stats, calendarbooking-paid
pin.crm.booking-confirmedpin.crm.booking-confirmed.v11crmchessboard, calendarbooking-confirmed
pin.crm.booking-expiredpin.crm.booking-expired.v11crmchessboard, messenger, calendarbooking-expired
pin.crm.booking-cancelledpin.crm.booking-cancelled.v11crmchessboard, calendarbooking-cancelled
pin.crm.document-requestedpin.crm.document-requested.v11crmmessenger, notificationsdocument-requested
pin.crm.document-status-changedpin.crm.document-status-changed.v11crmnotificationsdocument-status-changed
pin.referral.bond-createdpin.referral.bonds.v11referralrewards, notificationsbond-created
pin.referral.bond-closedpin.referral.bonds.v11referralrewards, notificationsbond-closed
pin.referral.lead-attach-requestedpin.referral.lead-attachments.v11referralcrmlead-attach-requested
pin.investor-owner.owner-linkedpin.investor-owner.owner-linked.v11investor-ownerprofile, notificationsowner-linked
pin.investor-owner.property-addedpin.investor-owner.property-added.v11investor-owneruser-activity, notificationsproperty-added
pin.investor-owner.property-soldpin.investor-owner.property-sold.v11investor-ownernotifications, user-activityproperty-sold

lead-participants-changed — участники/владение лида (ADR-0071): добавление/снятие участника, смена роли, передача ведения (Executor/Responsible), каскад увольнения агента (ADR-0072). Несёт ActiveParticipants (самодостаточная set-реконсиляция) и enum-дельту (Added/Removed/ExecutorChanged).

lead-booking-intent-changed — жизненный цикл намерения бронирования (LeadBookingIntentEntity): инвестор добавил объект (InvestorAdded, подтверждено сразу) или агент предложил/завёл сделку по объекту (AgentProposed, ждёт подтверждения инвестором — Flow B), затем подтверждение или снятие. Несёт IntentId, PropertyObjectId/ProjectId/DeveloperCompanyId, Source, ConfirmedByInvestor, Status и ChangeKind (Added/Confirmed/Removed); ключ = LeadId. Из подтверждённого намерения + одобренной фиксации пары «инвестор × застройщик» раскрывается сделка (гейт Draft → Application).

deal-created несёт Status (DealStatus): при выполненном гейте вовлечения застройщика — Application (состав с SellManager, PaymentMethod обязателен), иначе — Draft (сделка агента с инвестором, застройщик не вовлечён, SellManager отсутствует, PaymentMethod может быть пуст). Developer-facing консюмеры (dev-stats, developer-канбан) реагируют только на Application и игнорируют Draft (фильтр Status != Draft); messenger/notifications реагируют и на Draft. Вовлечение застройщика приходит позднее как deal-stage-changed (Draft → Application).

fixation-approved — одобрение фиксации это авторизация, а не сделка: застройщик подтверждает право агента вести клиента по своим объектам, но сделку не создаёт, поэтому событие DealId не несёт. Одна одобренная фиксация авторизует много сделок пары «клиент × застройщик» (связь 1:N ведётся со стороны сделки — DealEntity.FixationRequestId).

calendar

Записи (Appointment) и календарные события (CalendarEvent). Ключ — AppointmentId / EventId / ReminderId (per-entity порядок). PII в payload отсутствует — display-данные консюмер берёт из своей реплики identity.

Событие (EventType)TopicContractVersionProducerConsumersДокумент
pin.calendar.appointment-createdpin.calendar.appointment-created.v11calendarcrm, notificationsappointment-created
pin.calendar.appointment-confirmedpin.calendar.appointment-confirmed.v11calendarcrm, notificationsappointment-confirmed
pin.calendar.appointment-cancelledpin.calendar.appointment-cancelled.v11calendarcrm, notificationsappointment-cancelled
pin.calendar.appointment-completedpin.calendar.appointment-completed.v11calendarcrm, notificationsappointment-completed
pin.calendar.event-createdpin.calendar.event-created.v11calendarnotificationsevent-created
pin.calendar.event-status-changedpin.calendar.event-status-changed.v11calendarnotificationsevent-status-changed
pin.calendar.event-rescheduledpin.calendar.event-rescheduled.v11calendarnotificationsevent-rescheduled
pin.calendar.event-owner-changedpin.calendar.event-owner-changed.v11calendarnotificationsevent-owner-changed
pin.calendar.reminder-duepin.calendar.reminder-due.v11calendarnotificationsreminder-due

calendar — консюмер CRM: crm-deal-events (deal-created/deal-members-changed/deal-completed/ deal-cancelled) и crm-booking-events (все booking-*) ведут дедлайны и владельцев календарных событий; deal-stage-changed не потребляется (этапы канбана на календарь не влияют).

favorites / selections / user-activity / news

Событие (EventType)TopicContractVersionProducerConsumersДокумент
pin.favorites.favorite-addedpin.favorites.favorite-added.v11favoritesuser-activity, dev-statsfavorite-added
pin.favorites.favorite-removedpin.favorites.favorite-removed.v11favoritesuser-activityfavorite-removed
pin.favorites.favorites-mergedpin.favorites.favorites-merged.v11favoritesuser-activityfavorites-merged
pin.selections.selection-createdpin.selections.selection-created.v11selectionsuser-activity, crm, dev-statsselection-created
pin.selections.selection-updatedpin.selections.selection-updated.v11selectionsuser-activity, crmselection-updated
pin.selections.selection-item-addedpin.selections.selection-item-added.v11selectionsdev-stats, user-activityselection-item-added
pin.selections.selection-sharedpin.selections.selection-shared.v11selectionscrm, user-activityselection-shared
pin.selections.selection-deletedpin.selections.selection-deleted.v11selectionsuser-activityselection-deleted
pin.user-activity.property-object-view-endedpin.user-activity.property-object-view-ended.v11user-activitydev-stats, crmproperty-object-view-ended
pin.user-activity.session-endedpin.user-activity.session-ended.v11user-activitydev-statssession-ended
pin.user-activity.session-linkedpin.user-activity.session-linked.v11user-activitycrm, favoritessession-linked
pin.user-activity.action-trackedpin.user-activity.action-tracked.v11user-activitycrm, dev-statsaction-tracked
pin.news.post-publishedpin.news.post-published.v11newsnotifications, user-activitypost-published
pin.news.comment-addedpin.news.comment-added.v11newsnotificationscomment-added

messenger / notifications / support

Событие (EventType)TopicContractVersionProducerConsumersДокумент
pin.messenger.message-postedpin.messenger.message-posted.v11messengernotificationsmessage-posted
pin.messenger.deal-chat-status-changedpin.messenger.deal-chat-status-changed.v11messengercrmdeal-chat-status-changed
pin.messenger.contact-request-createdpin.messenger.contact-request-created.v11messengernotificationscontact-request-created
pin.messenger.contact-request-acceptedpin.messenger.contact-request-accepted.v11messengernotificationscontact-request-accepted
pin.messenger.conference-endedpin.messenger.conference-ended.v11messengercrm, notifications, dev-statsconference-ended
pin.messenger.call-recording-availablepin.messenger.call-recording-available.v11messengercrm, notificationscall-recording-available
pin.notifications.dispatchedpin.notifications.dispatched.v11notifications— (терминальное; аудит/аналитика)notification-dispatched
pin.support.ticket-createdpin.support.ticket-created.v11supportnotificationsticket-created
pin.support.ticket-status-changedpin.support.ticket-status-changed.v11supportnotificationsticket-status-changed
pin.support.ticket-message-postedpin.support.ticket-message-posted.v11supportnotificationsticket-message-posted
pin.support.arbitrage-resolvedpin.support.arbitrage-resolved.v11supportnotificationsarbitrage-resolved

dev-stats

dev-stats собственных интеграционных событий не публикует — только потребляет (property-object-view-ended, session-ended, action-tracked, booking-*, deal-*, lead-created, favorite-added, selection-item-added + справочники chessboard) для наполнения ClickHouse-facts и реплик измерений (ADR-0057). Consumers — dev-stats/consumers/.

Обратные ссылки

Автоссылки: где используется этот документ.