Это простой сервис интеграции с Ticketscloud. Предоставляет альтернативный способ совместной работы по сравнению с размещением виджета Ticketscloud на сайте продажи билетов. Представляет собой gRPC сервер, поддерживающий запросы на получение данных, необходимых для отображения формы заказа билетов. Сам заказ в Ticketscloud создаётся посредством RESTful API.
- список мероприятий (Events);
- список групп периодических и повторяющихся мероприятий (MetaEvents);
- классификация мероприятий: теги (Tags) и категории (Categories);
- площадки проведения мероприятий (Venues, схемы расположения (Maps) зрительских мест (Seats);
- справочник стран (Countries) и городов (Cities);
- сведения об артистах (Artists).
NB:
- Если данные (например, названия стран и городов) доступны на нескольких языках, можно указать предпочитаемый, добавив в метаданные запроса заголовок
preferred-language
(см. пример кода). - Следует учитывать, что значение поля по умолчанию (обычно нулевое) передаётся внутренней структурой Protobuf как отсутствие значения.
- Стейдж (тестовая):
simple.stage.freetc.net:443
- Продакшен:
simple.ticketscloud.com:443
-
Получаем в ЛК или у менеджеров Ticketscloud ключ доступа (API key).
-
Устанавливаем компилятор .proto-файлов:
pip install grpcio-tools
-
Компилируем .proto-файлы в обёртки на Python:
mkdir proto/build && python -m grpc_tools.protoc -Iproto --python_out=proto --grpc_python_out=proto ./proto/*.proto
В каталоге proto/build появятся *.py-файлы.
-
Запускаем в каталоге 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)