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

crm → competitions

Зачем нужно

CRM выдаёт коммерческие entitlements на участие в платных олимпиадах и конкурсах. Competitions проверяет наличие entitlement и активирует регистрацию участника.

Стороны

  • источник: crm
  • потребитель: competitions
  • вид: event-driven

События

messageTypeКогда
crm.entitlement.activatedtargetDomain = competitions)право участия активно
crm.entitlement.revokedотозвано

Формат payload — общий с crm--lms.md, различается значение targetDomain и scope:

"scope": {
"competitionEventRef": "olympiad-spring-2026",
"competitionTrackRef": "junior-online",
"tourRefs": ["tour-1","tour-2"]
}

Поведение competitions

  1. Получив активацию, разрешает регистрацию competition_registration на указанное событие/трек.
  2. Если регистрация уже создана — обновляет статус оплаты.
  3. По revoke — статус регистрации payment_revoked.

Идемпотентность

  • по entitlementId.

Ошибки

СценарийПоведение
competitionEventRef неизвестенDLQ + алерт
регистрация уже завершенаигнор
участник без identitycompetitions использует competition_participant без userId

Scopes

ScopeДля чего
service:crm.entitlements.readпроверить entitlement для регистрации
service:crm.entitlements.events.consumeпринимать entitlement events от CRM

Retention

  • события 7 лет.

Связанные документы