API за разработчици
Документация на API за шах рейтинг
API за рейтинг на шах предоставя програмен достъп до същата машина за изчисление на Elo, която захранва калкулаторите на този сайт. Разработчиците, изграждащи инструменти за управление на клубове, табла за управление на отчитане на турнири, платформи за коучинг или редакционни продукти, могат да интегрират изчисления на рейтинг директно в работните си процеси, без да прилагат повторно логиката на формулата. Тази документация обхваща наличните крайни точки, формати на заявки и отговори, изисквания за удостоверяване и подход за управление на версиите, който поддържа интеграциите стабилни. Можете да продължите с Вградени джаджи за рейтинг на шах за свързани насоки.
Налични крайни точки на изчисление
Приложният програмен интерфейс (API) поддържа три основни работни процеса на изчисление: промяна на рейтинга на една игра (предвид две оценки, резултат и K-фактор), пакетна обработка (няколко записа на игра в една заявка) и първоначална оценка на рейтинга (предвид среден рейтинг на противника, резултат и брой игри). Всяка крайна точка връща същия подробен резултат, показан на страниците на калкулатора, включително очакван резултат, делта на рейтинга и прогнозиран нов рейтинг. За подробности за изпълнение и проверка вижте методологията.
Крайните точки в турнирен режим приемат подреден масив от рейтинги и резултати на опонентите, връщайки разбивки за рунд и кумулативни суми. Всички отговори включват метаданни за това кой профил на правила е приложен, така че потребителите надолу по веригата да могат да проверят допусканията за изчисление.
Удостоверяване и ограничения на скоростта
API достъпът изисква API ключ, предаден като токен на носител в заглавката за оторизация. Ключовете се предлагат в безплатни и премиум нива. Безплатното ниво позволява до 100 заявки на ден с максимум 10 игри на партидна заявка. Премиум ключовете отключват по-висока производителност, приоритетна поддръжка и достъп до крайни точки за групова обработка на турнири.
Ограниченията на скоростта се прилагат за ключ, а не за IP адрес. Превишаването на ограничението връща статус 429 със заглавка Retry-After, указваща кога се отваря следващият прозорец за заявка. Всички ограничения са документирани в заглавките на отговора на всяка успешна заявка.
Правила за профили и версии
Всеки отговор на API включва поле rules_profile, указващо кой набор от предположения е използван за изчислението (напр. fide_2024, us_chess_current, generic_elo). Когато правилата на федерацията се променят, API добавя нова версия на профила, вместо да променя съществуващите. Това означава, че системите надолу по веригата могат да се прикрепят към конкретна версия на профил и да надграждат по собствен график.
Важните промени се съобщават най-малко 30 дни предварително чрез регистъра на промените в API и пощенския списък на разработчиците. Постоянните добавки (нови незадължителни полета, нови профили) се внедряват непрекъснато, без да прекъсват съществуващите интеграции.
Формат на отговора и обработка на грешки
- Всички отговори връщат JSON с Content-Type: application/json. Успешните изчисления връщат 200 с пълния резултат.
- Грешки при валидиране (липсващи полета, оценки извън диапазона, невалиден K-фактор) връщат 422 с четим от човека масив от грешки.
- Грешките при удостоверяване връщат 401. Изтеклите или отменени ключове връщат 403 с URL адрес за повторно активиране.
- Грешките на сървъра връщат 500 с ИД на заявка за ескалация на поддръжката. Всички отговори за грешка следват същата структура { error, message, request_id }.
Най-добри практики за интеграция
Кеширайте повтарящите се изчисления локално, когато е възможно, за да минимизирате извикванията на API. За турнирни работни потоци използвайте груповата крайна точка, вместо да правите последователни заявки за една игра. Винаги включвайте изрично параметъра rules_profile, вместо да разчитате на сървъра по подразбиране, така че вашата интеграция остава детерминистична дори когато API добавя нови профили.
За клубен софтуер и табла за управление на треньори помислете за съхраняване както на изчислените резултати, така и на версията rules_profile, за да можете да одитирате или преизчислите по-късно, ако правилата на федерацията се променят. Това е особено важно за официални работни процеси за отчитане, където историческата точност е от значение.