Спорт · теннис · Outstaff

ITF → KTF Ratings: Интеграция рейтингов ITF для Федерации тенниса Казахстана

Сделали интеграцию, которая забирает рейтинги казахстанских теннисистов из ITF и передаёт их в систему KTF: по расписанию, с проверкой данных и без ручного переноса. Рейтинги стали появляться в системе федерации вовремя.

Роль
Backend-разработка интеграции (outstaff)
Стек
PHPLaravelPostgreSQLITF APICron и очередиВалидация данных
Сайт
ktf.kz
Главная страница ktf.kz
  • Вовремярейтинг в KTF сразу после публикации в ITF
  • Автосинхронизация по расписанию без ручного переноса
  • 100%записей проходят проверку перед загрузкой

О проекте

Федерация тенниса Казахстана (KTF) развивает теннис в стране: проводит турниры, формирует сборные и ведёт рейтинги игроков. Международные позиции теннисистов определяет ITF — Международная федерация тенниса. Федерации нужно, чтобы актуальный рейтинг ITF по каждому казахстанскому игроку был в её системе сразу после публикации.

Какие задачи решали

01

Получение рейтингов из ITF

Задача

Рейтинги ITF обновляются регулярно, а в KTF их переносили вручную: данные запаздывали, а сотрудники тратили время на рутину.

Что сделали

  • Интеграция с источником рейтингов ITF: загрузка по категориям и разрядам
  • Синхронизация по расписанию сразу после публикации нового рейтинга
  • Повторные попытки и таймауты, если внешний сервис недоступен
  • Журнал каждой синхронизации: сколько записей получено, обновлено и отправлено на проверку

Рейтинги приходят в систему KTF вовремя и без ручной выгрузки.

02

Сопоставление игроков ITF и KTF

Задача

В ITF и KTF разные идентификаторы, а имена пишутся по-разному — латиницей и кириллицей. Рейтинг мог попасть не тому игроку.

Что сделали

  • Привязка игрока KTF к его ITF ID
  • Поиск совпадений по имени, дате рождения и стране, если ID ещё не привязан
  • Очередь спорных совпадений для ручного подтверждения
  • Защита от дублей игроков в базе федерации

Каждый рейтинг попадает в профиль нужного игрока.

03

Валидация и передача данных в KTF

Задача

Ошибочные или неполные данные не должны попадать в рейтинг федерации, а обмен должен работать стабильно.

Что сделали

  • Проверка формата, обязательных полей и допустимых значений
  • Сравнение с предыдущим рейтингом: позиции, очки и изменения
  • Загрузка в одной транзакции: рейтинг обновляется целиком или не обновляется вовсе
  • История рейтинга по каждому игроку

В системе KTF всегда актуальный и корректный рейтинг, а обмен с ITF работает без сбоев.

Также в проекте

  • Уведомления об ошибках синхронизации
  • Логи обмена для разбора спорных случаев
  • Поддержка интеграции после запуска

Внутренние системы клиента закрыты соглашением о конфиденциальности, поэтому интерфейсы показаны макетами с условными данными.

Нужно усилить команду разработки?

Подключим backend- и full-stack-разработчиков к вашему продукту: Laravel, PHP, PostgreSQL, Vue.js и Nuxt.js.

Другие кейсы

WhatsApp