Skip to content

ticketscloud/vibe-integration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vibeapp интеграция

1. Текущая интеграция с Ticketscloud

В настоящее время Vibeapp получает данные о мероприятиях и билетах из Kafka-стримов Ticketscloud. Стримы передают информацию об организаторах, мероприятиях, заказах и возвратах билетов. Формат сообщений — Protobuf.

Текущие стримы ориентированы на внутренние процессы Ticketscloud и избыточны для внешней интеграции, так как содержат много специализированных полей.

Kafka-топики:

  • Организаторы — данные об организаторах мероприятий
    (Partner Proto)
  • Мероприятия — события, создаваемые организаторами
    (Event Proto)
  • Заказы — информация о заказах и купленных билетах
    (Order Proto)
  • Возвраты — данные о возвратах билетов
    (Refund Proto)

Стрим возвратов используется для актуализации статусов билетов в Vibeapp.


2. Планируемая интеграция с Vibeapp

Для упрощения интеграции предлагается два варианта передачи данных о билетах и их статусах в Vibeapp. Формат сообщений — JSON или Protobuf, по договорённости между командами.

flowchart LR
    TL[Ticketland]

    subgraph Kafka
        O[Organizers]
        E[Events]

        subgraph Orders-based
            OR[Orders]
            R[Refunds]
        end

        subgraph Tickets-based
            T[Tickets]
        end
    end

    TL --> O
    TL --> E
    TL --> OR
    TL --> R
    TL --> T

    O --> V[Vibeapp]
    E --> V
    OR --> V
    R --> V
    T --> V

    V --> DB[(Vibe DB)]
Loading

2.1. Интеграция через стрим заказов

Вариант, близкий к текущей модели. Vibeapp получает информацию о проданных билетах и их статусах из стрима заказов, а изменения статусов — из стрима возвратов.

Топики Kafka:

Набор топиков может быть изменён по согласованию (например, объединение данных организаторов с мероприятиями или заказами).


2.2. Интеграция через стрим билетов

Альтернативный вариант — передача непосредственно билетов и их текущих статусов (активен, использован, отменён, возвращён).

Kafka-топики:

  • Организаторы
    Organizer JSON,
    Organizer Proto
    Должны быть синхронизированы до обработки мероприятий и билетов.
  • Мероприятия
    Event JSON,
    Event Proto
    Должны быть синхронизированы до обработки билетов.
  • Билеты
    Ticket JSON,
    Ticket Proto

Как и в предыдущем варианте, структура стримов может быть упрощена или объединена по договорённости.

3. Формат сообщений в Kafka

Примеры сообщений в формате JSON приведены в соответствующих файлах по ссылкам выше. Для Protobuf-сообщений схемы также доступны по ссылкам в описании топиков.

Для сообщений обязательно указывать следующие заголовки:

  • content-type: application/json или application/x-protobuf
  • schema-version: версия схемы сообщения (например, 1.0)
  • application-id: идентификатор источника данных (например, ticketland)

В качестве ключа сообщения рекомендуется использовать уникальный идентификатор сущности (например, organizer_id, event_id, order_id, ticket_id).

About

Документация для интеграции с Vibeapp

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published