Skip to content

ticketscloud/docs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Что такое tc-simple

Это простой сервис интеграции с Ticketscloud. Предоставляет альтернативный способ совместной работы по сравнению с размещением виджета Ticketscloud на сайте продажи билетов. Представляет собой gRPC сервер, поддерживающий запросы на получение данных, необходимых для отображения формы заказа билетов. Сам заказ в Ticketscloud создаётся посредством RESTful API.

Какие данные предоставляются?

Сервисы:

  • список мероприятий (Events);
  • список групп периодических и повторяющихся мероприятий (MetaEvents);
  • классификация мероприятий: теги (Tags) и категории (Categories);
  • площадки проведения мероприятий (Venues, схемы расположения (Maps) зрительских мест (Seats);
  • справочник стран (Countries) и городов (Cities);
  • сведения об артистах (Artists).

gRPC API -- поддерживаемые запросы и структуры данных

API reference

NB:

  • Если данные (например, названия стран и городов) доступны на нескольких языках, можно указать предпочитаемый, добавив в метаданные запроса заголовок preferred-language (см. пример кода).
  • Следует учитывать, что значение поля по умолчанию (обычно нулевое) передаётся внутренней структурой Protobuf как отсутствие значения.

Точки доступа (endpoints)

  • Стейдж (тестовая): simple.stage.freetc.net:443
  • Продакшен: simple.ticketscloud.com:443

Пример клиента на Python:

  1. Получаем в ЛК или у менеджеров Ticketscloud ключ доступа (API key).

  2. Устанавливаем компилятор .proto-файлов:

    pip install grpcio-tools

  3. Компилируем .proto-файлы в обёртки на Python:

    mkdir proto/build && python -m grpc_tools.protoc -Iproto --python_out=proto --grpc_python_out=proto ./proto/*.proto

    В каталоге proto/build появятся *.py-файлы.

  4. Запускаем в каталоге proto/build код на Python:

    import grpc
    
    import service_pb2_grpc
    import events_pb2
    
    api_key = ''  # Ключ доступа
    endpoint = 'simple.stage.freetc.net:443'  # Точка доступа -- тестовая
    credentials = grpc.ssl_channel_credentials()
    ch = grpc.secure_channel(endpoint, credentials)
    stub = service_pb2_grpc.SimpleStub(ch)
    
    # Можем вызвать любой из сервисов как метод stub
    req = events_pb2.EventsRequest(ids=None)
    events = stub.Events(req, metadata=[('authorization', api_key), ('preferred-language', 'ru')])
    for ev in events:
        print(ev)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published