FAQs
이 FAQ 는 STATS API 사이트의 FAQ를 번역한 내용입니다.
원본은 [STATS API FAQs] 를 참고해 주세요.
Access and settings
STATS API 피드에서 지원하는 데이터 형식은 무엇입니까?
데이터를 XML 또는 JSON(JavaScript Object Notation) 형식으로 반환할 수 있습니다. 형식을 지정하지 않으면 기본값은 XML입니다(저희 IO 문서에서는 JSON을 기본 형식으로 사용하지만, STATS API의 기본값은 아닙니다). accept 매개변수에 원하는 형식을 지정할 수 있습니다. 예: accept=xml 또는 accept=json
STATS API는 어떤 유형의 보안, 암호화 또는 인증 방식을 사용합니까?
데이터에 접근하려면 할당된 API 키가 필요합니다. 모든 API 호출 시 API 키를 지정해야 합니다. JavaScript 코드 파일은 암호화되지 않아 브라우저/콘솔을 통해 쉽게 읽을 수 있으므로 API 키를 파일 내에 저장하지 않는 것이 좋습니다. 또한, 사용자와 API 호출 사이에 중간 보안 계층을 구축하는 것이 좋습니다. 자세한 내용은 인증 가이드를 참조하십시오.
사용자 이름과 비밀번호를 통해 API에 접근할 수 있나요?
아니요. STATS API에 접속할 수 있는 API 키는 제공해 드립니다. 하지만 API 문서 및 I/O 문서를 열람하기 위해 고객 포털에 로그인할 수 있도록 별도의 사용자 이름과 비밀번호를 할당해 드립니다.
API에 어떻게 접근할 수 있나요?
담당 계정 관리자가 API 키를 할당하여 제공해 드립니다. 이 키는 I/O 문서의 요청이나 애플리케이션의 URI 요청에 사용할 수 있습니다. 모든 API 호출 시 API 키를 명시해야 합니다.
내 API 키는 무엇이며 어디서 얻을 수 있나요?
저희 서비스에 가입하시면 API 키를 제공해 드립니다. 또한 고객 포털 접속 권한도 제공해 드리며, 포털의 "내 계정"에서 API 키를 확인하고 API 관련 문서를 참조하실 수 있습니다.
단일 애플리케이션 또는 개발자에 대한 데이터 사용량 제한이 있습니까?
네, API 키에는 사용량 제한이 있습니다. 필요에 따라 특정 API 키 또는 전체 API 키에 대해 이 제한을 높일 수 있습니다. 앱 출시가 원활하게 진행될 수 있도록 적절한 사용량을 설정하는 데 도움을 드릴 수 있습니다. 데이터 사용량 제한에 대한 자세한 내용은 담당 계정 관리자에게 문의하십시오.
STATS API 호출을 어떻게 구성하는 것이 좋을까요?
API는 소량씩 사용할 때 가장 효과적이며, 의도적으로 그렇게 설계되었습니다. 애플리케이션에서 전체 시즌 일정이나 모든 참가자 목록과 같은 대용량 데이터를 요청할 수 있지만, 정기적으로 요청해서는 안 됩니다. API 호출 시 응답 시간은 밀리초가 아닌 초 단위로 예상해야 합니다. 또한, 사용자와 API 호출 사이에 중간 계층의 보안 조치를 구축하는 것이 좋습니다.
API 호출을 효율적으로 구성하는 방법에 대한 팁은 API 모범 사례, API 개요 및 통합 가이드에서 확인할 수 있습니다. 효율적인 호출 방법과 특정 데이터 포인트를 대상으로 하는 방법에 대한 정보를 찾을 수 있습니다. 예를 들어, 업데이트된 게임을 확인하려면 각 게임(이벤트 ID 기준)에 대해 개별적으로 호출하는 대신, 엔드포인트로 /stats/{sport}/{leaguePath}/eventDataConfirmed/ 를 호출하고 적절한 매개변수를 지정하여 당일, 특정 날짜 또는 특정 날짜 및 시간에 업데이트된 모든 게임을 확인하는 것이 좋습니다.
피드에 접속하려고 할 때 오류가 발생하는 이유는 무엇인가요?
이유는 여러 가지가 있을 수 있습니다. 다음과 같은 유형의 메시지를 받게 될 수 있습니다.
- Success - API에 성공적으로 요청을 보냈습니다.
- Request Errors - 요청한 정보가 올바르지 않습니다.
- Authentication Error - 본인 확인에 문제가 발생했습니다.
"서비스를 이용할 수 없습니다" 라는 메시지가 표시되는 이유는 무엇인가요?
STATS API는 원활하고 안정적인 접속을 염두에 두고 설계되었지만, API 업데이트 중 발생하는 짧은 다운타임이나 일반적인 인터넷 연결 문제로 인해 드물게 호출이 실패할 수 있습니다. 이러한 경우, 다운타임이 짧을 가능성이 높으므로 다시 시도해 주시기 바랍니다.
에러가 계속 발생하는 경우 자격 증명이 올바른지, API 키와 서명이 유효한지 확인하십시오. 자세한 에러와 에러코드는 Error Codes를 참조 하고 관련 안내를 따르십시오.
하지만 장기간에 걸쳐 여러 차례 실패 시도가 발생하는 경우, 주저하지 말고 STATS 이메일 알림 목록을 이용하거나 담당 계정 관리자에게 문의하여 도움을 받으세요. 저희는 항상 진행 중인 이벤트가 적고 API 트래픽이 적을 것으로 예상되는 시간대에 계획된 점검 시간을 편성하도록 노력하겠습니다.
Content
STATS API에서 어떤 종류의 콘텐츠를 얻을 수 있나요?
데이터를 XML 또는 JSON(JavaScript Object Notation) 형식으로 반환할 수 있습니다. 형식을 지정하지 않으면 기본값은 XML입니다(저희 IO 문서에서는 JSON을 기본 형식으로 사용하지만, STATS API의 기본값은 아닙니다). accept 매개변수에 원하는 형식을 지정할 수 있습니다. 예: accept=xml 또는 accept=json
피드를 얼마나 자주 확인해야 할까요?
저희 가이드에 제공된 데이터 수집 범위 및 폴링 빈도 정보를 따르시기를 권장합니다. 각 리그별로 제공되는 특정 피드에 대한 지침을 확인하고, 애플리케이션이 필요한 만큼만 피드를 호출하도록 로직을 구현하십시오.
이 정보를 모범 사례 가이드와 함께 활용하여 통화 구성 및 빈도를 일관되고 적절하게 유지하십시오. 이렇게 하면 당사와 합의한 빈도를 초과하지 않을 뿐만 아니라 성과 향상에도 도움이 될 수 있습니다.
사용자 요청이 발생할 때마다 당사 API를 호출하는 시스템을 구축할 수도 있지만, 이러한 방식은 권장하지 않습니다. 당사 API 호출 횟수를 최소화하고 사용자 측과 당사 측 모두의 성능을 극대화하려면 사용자 측 API와 당사 API 사이에 중간 캐싱 계층을 구축하는 것이 좋습니다. 이 캐싱 계층은 API 호출을 제어하고, API에서 반환된 데이터를 일정 시간 동안 저장한 후, 사용자 요청 시 해당 데이터를 제공합니다.
이 캐싱 계층은 실시간 데이터의 경우 짧은 만료 시간(예: 5초마다 점수 및 경기 기록 통계 새로 고침)을 갖고, 비 실시간 데이터의 경우 더 긴 만료 시간(예: 하루에 한 번 선수 명단 및 시즌 통계 새로 고침)을 가지며, 특정 데이터는 그 중간 정도의 만료 시간(예: 매시간 경기 일정 및 순위 새로 고침, 30분마다 주요 뉴스 새로 고침)을 갖도록 설계될 것입니다.
시계 데이터에 실시간 피드를 사용해야 할까요?
아니요, 실시간 영상 피드를 경기 시간 데이터로 사용하는 것은 권장하지 않습니다. 경기 상황에 따라 몇 분 동안 영상 피드가 제공되지 않는 경우가 발생할 수 있으며, 이 경우 경기 시계가 멈출 수 있습니다. 따라서 각 피리어드의 시작 시간에 맞춰 자체 경기 시계를 시작하고, 피리어드 종료 메시지를 수신하면 시계를 멈추는 것을 권장합니다.
이용 가능한 보장 수준은 무엇입니까?
리그 및 종목별로 중계 범위가 다릅니다. 관심 있는 특정 리그/대회/토너먼트의 중계 범위 안내를 확인하세요.
해당 피드들은 어떤 시간대를 사용하나요?
게임, 게임 기록 및 이벤트의 날짜/시간은 GMT 기준입니다.
"isDataConfirmed" 노드의 목적은 무엇입니까?
isDataConfirmed 부울 값은 경기 종료 후 이벤트 통계가 확정되었는지 여부를 나타냅니다. 리그/스포츠 종목에 따라 피드 응답에는 score, box, pbp, shotChart 와 같은 다른 데이터 포인트를 포함할 수 있는 isDataConfirmed 노드가 포함될 수 있으며, 이 노드는 true 또는 false 의 부울 값으로 반환됩니다.
게임이나 이벤트가 종료되면 eventStatus 상태는 'Final '로 표시됩니다. 하지만 데이터를 영구 테이블에 저장하기 전에 데이터 정리를 위해 추가 시간이 필요합니다. 여러 출처와의 교차 검증을 거친 후 최종 데이터를 발행하고 isDataConfirmed 에 true 를 표시합니다.
ID는 어떻게 작동하나요?
저희는 API 전반에서 다양한 방식으로 ID를 사용합니다. 모든 이벤트 ID, 선수 ID, 팀 ID는 각 유형 내에서 모든 리그에 걸쳐 고유합니다. 리그의 여러 엔드포인트에서 사용할 수 있는 고유 ID를 이용하여 피드를 조회하거나 반환된 데이터를 더욱 세분화된 수준으로 필터링할 수 있습니다.
예를 들어 특정 팀 ID를 지정해서 해당 팀만 조회할 수 있는데, /stats/{sport}/{leaguePath}/teams/{teamId} 로는 단일 팀 정보를 가져오고(또는 /teams 로 리그 내 모든 팀을 조회), 이어서 /stats/{sport}/{leaguePath}/stats/teams/{teamId} 를 호출하면 그 팀의 통계 정보까지 조회할 수 있습니다.
리그별로 사용 가능한 엔드포인트 수와 팀 또는 기타 ID로 엔드포인트를 조회할 수 있는 기능이 다릅니다. API 로직, API 사용 방법, 그리고 패키지에 포함된 리그에 대해 사용할 수 있는 엔드포인트 및 쿼리에 대한 자세한 내용은 사용자 가이드를 참조하십시오.
만약 피드에 제가 정보를 가지고 있지 않은 플레이어 ID가 포함되어 있다면 어떻게 되나요?
해당 피드는 teamId와 현재 시즌과 같이 선수와 연결된 정보를 포함해야 합니다.
특정 선수에 대한 피드를 조회하려면 player ID를 지정할 수 있으며, 예를 들어 /stats/players/ 엔드포인트에서 특정 선수의 통계를 반환하도록 하거나, /participants/:playerId 엔드포인트에서 player ID를 사용하여 해당 선수의 바이오그래피(신상 정보)를 가져올 수 있습니다.
게임 종료 후 피드가 변경될까요?
경기와 직접적으로 관련된 데이터(예: /events) 또는 간접적으로 관련된 데이터를 제공하는 피드는 경기 종료 이후에도 변경될 수 있습니다.
시즌이 진행되는 동안에는 시즌 누적 데이터(Year-to-date)와 경기 로그 데이터가 매일 밤(overnight) 데이터 업데이트를 거칠 수 있습니다.
자세한 내용은 해당 리그의 전용 사용자 가이드를 참고하십시오.
다양한 언어로 된 데이터가 제공되나요?
네. STATS API는 이름, 팀, 지역, 경기장 등 필요한 거의 모든 스포츠 데이터를 제공하는 데이터의 보고(gold mine)이며, 30개 언어와 추가로 음성 표기(phonetic) 옵션까지 지원합니다.
기본 언어는 영어(English)입니다. 따라서 별도로 요청하지 않는 한 API는 영어로 데이터를 반환합니다.
모든 스포츠에서 모든 언어가 지원되는 것은 아니며, 모든 엔드포인트가 번역되는 것도 아닙니다. 하지만 선수 이름과 국가 이름은 번역 대상에 포함되어 있습니다.
특정 스포츠나 리그에서 해당 언어를 지원하지 않는 경우, API는 오류를 반환하는 대신 영어로 데이터를 반환합니다.
영어가 아닌 다른 언어로 이름을 요청하려면, API 호출 시 languageId 파라미터를 지정해야 합니다.
예:
아래는 /participants 엔드포인트에 스페인어로 이름을 요청하는 예시입니다. 스페인어의 languageId 는 2이므로, 호출 시 languageId=2 를 포함해야 합니다.
api.stats.com/v1/stats/football/nfl/participants/?languageId=2
사용 가능한 언어 목록과 해당 ID를 확인하려면 다음 엔드포인트를 호출하십시오. api.stats.com/v1/decode/languages/
자세한 내용은 Language 를 참고해 주시기 바랍니다.