Подключение к API на GO
Необходимо доработать существующий Go сервис для интеграции с каталогом Мир Квестов https://mir-kvestov.ru/
Мы ищем человека для долгосрочного сотрудничества: после успешного выполнения этой задачи потребуется похожим образом реализовать интеграции в сервисы Клаустрофобия, Яндекс Афиша и Тинькофф Город, а также множество других задач, связанных с развитием сети пиксельных игровых Pixel Quest, вплоть до разработки собственной системы бронирования (аналога Bukza).
Принципиальная схема интеграции:
Смотри приложенный файл.
Дано:
Go-сервис с именем “visitors-manager”, развернутый в Docker Compose на собственном VPS;
Реализован API-вебхук (1) для приема бронирований от внешнего сервиса онлайн записи Букза (клиенты бронируют через виджет на сайте);
Реализован API заказов (5) для отдачи всех бронирований в интерфейс на планшет администратора;
Что требуется сделать:
Реализовать API для отдачи расписания Миру Квестов (2) по их документации https://docs.google.com/document/d/16wKHuHSGl7T70SuxcRdpOi3X1WMhTMYLeo8t9izRT98/edit
Реализовать API-вебхук для приёма бронирований от Мира Квестов (3) по той же документации (см. раздел Бронирование);
Реализовать запрос в Букзу для бронирования (4) – этот пункт самый “сложный”, т.к Букза не предоставляет публичный API и придется разобрать их внутреннее API и сделать имитацию запроса с обычным пользовательским токеном. Тут будет важно понять, как часто протухает токен и как его держать актуальным + правильно обрабатывать ошибки на случай внезапного изменения API для своевременного реагирования (уже настроен механизм сбора логов в Loki + алерты в Телеграм).
Ожидаем от исполнителя:
Уверенные знания языка Go, СУБД PostgreSQL, Linux и Docker;
Понимание принципов построения Rest API, процессов CI/CD, мониторинга и сбора логов;
Умение работать самостоятельно в условиях отсутствия внутренней документации на сервис и его зависимости, придётся разбираться в чужом коде;