콘텐츠로 건너뛰기
엘로 체스 레이팅 계산기

개발자 API

체스 등급 API 문서

Chess Rating API는 이 사이트의 계산기를 구동하는 동일한 Elo 계산 엔진에 대한 프로그래밍 방식의 액세스를 제공합니다. 클럽 관리 도구, 토너먼트 보고 대시보드, 코칭 플랫폼 또는 편집 제품을 구축하는 개발자는 공식 논리를 다시 구현하지 않고도 평가 계산을 워크플로에 직접 통합할 수 있습니다. 이 문서에서는 사용 가능한 엔드포인트, 요청 및 응답 형식, 인증 요구 사항, 통합을 안정적으로 유지하는 버전 관리 접근 방식을 다룹니다. 관련 안내는 내장 가능한 체스 평가 위젯에서 이어서 확인할 수 있습니다.

사용 가능한 계산 끝점

API는 단일 게임 등급 변경(두 개의 등급, 결과 및 K-인자 제공), 일괄 처리(한 요청에 여러 게임 기록 제공) 및 초기 등급 추정(평균 상대 등급, 점수 및 게임 수 제공)의 세 가지 기본 계산 워크플로를 지원합니다. 각 엔드포인트는 예상 점수, 등급 델타, 예상되는 새 등급을 포함하여 계산기 페이지에 표시된 것과 동일한 세부 출력을 반환합니다. 구현 및 검증 세부 사항은 방법론를 참고하세요.

토너먼트 모드 엔드포인트는 상대 등급 및 결과의 정렬된 배열을 받아 라운드별 분석 및 누적 합계를 반환합니다. 모든 응답에는 어떤 규칙 프로필이 적용되었는지에 대한 메타데이터가 포함되므로 다운스트림 소비자가 계산 가정을 확인할 수 있습니다.

인증 및 속도 제한

API에 액세스하려면 Authorization 헤더에 전달자 토큰으로 전달된 API 키가 필요합니다. 키는 무료 및 프리미엄 등급으로 제공됩니다. 무료 등급에서는 하루에 최대 100개의 요청을 허용하며 일괄 요청당 최대 10개의 게임을 허용합니다. 프리미엄 키는 더 높은 처리량, 우선 지원 및 대량 토너먼트 처리 엔드포인트에 대한 액세스를 잠금 해제합니다.

속도 제한은 IP 주소가 아닌 키별로 적용됩니다. 제한을 초과하면 다음 요청 창이 열리는 시기를 나타내는 Retry-After 헤더와 함께 429 상태가 반환됩니다. 모든 제한은 성공한 모든 요청의 응답 헤더에 문서화되어 있습니다.

규칙 프로필 및 버전 관리

모든 API 응답에는 계산에 사용된 가정 세트를 나타내는 rule_profile 필드가 포함되어 있습니다(예: fide_2024, us_chess_current, generic_elo). 페더레이션 규정이 변경되면 API는 기존 프로필 버전을 수정하는 대신 새 프로필 버전을 추가합니다. 이는 다운스트림 시스템이 특정 프로필 버전에 고정되고 자체 일정에 따라 업그레이드될 수 있음을 의미합니다.

주요 변경 사항은 API 변경 로그 및 개발자 메일링 리스트를 통해 최소 30일 전에 미리 전달됩니다. 중단되지 않는 추가 항목(새로운 선택 필드, 새 프로필)은 기존 통합을 방해하지 않고 지속적으로 배포됩니다.

응답 형식 및 오류 처리

  • 모든 응답은 Content-Type: application/json과 함께 JSON을 반환합니다. 성공적인 계산은 전체 결과 페이로드와 함께 200을 반환합니다.
  • 유효성 검사 오류(누락된 필드, 범위를 벗어난 등급, 잘못된 K-인자)는 사람이 읽을 수 있는 오류 배열과 함께 422를 반환합니다.
  • 인증 실패 시 401이 반환됩니다. 만료되거나 취소된 키는 재활성화 URL과 함께 403을 반환합니다.
  • 서버 오류는 지원 에스컬레이션을 위한 요청 ID와 함께 500을 반환합니다. 모든 오류 응답은 동일한 { error, message, request_id } 구조를 따릅니다.

통합 모범 사례

API 호출을 최소화하기 위해 가능할 때마다 반복되는 계산을 로컬로 캐시합니다. 토너먼트 워크플로의 경우 순차적으로 단일 게임을 요청하는 대신 일괄 엔드포인트를 사용하세요. 서버 기본값에 의존하기보다는 항상 rule_profile 매개변수를 명시적으로 포함하십시오. 그러면 API가 새 프로필을 추가하는 경우에도 통합이 결정적으로 유지됩니다.

클럽 소프트웨어 및 코칭 대시보드의 경우, 연합 규칙이 변경되면 나중에 감사하거나 다시 계산할 수 있도록 계산된 결과와 rule_profile 버전을 모두 저장하는 것이 좋습니다. 이는 기록의 정확성이 중요한 공식 보고 워크플로에 특히 중요합니다.