> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 전역 API 메서드 오류 코드

> 모든 PlayFab API 메서드에 적용되는 전역 오류 코드를 나열합니다.

이 튜토리얼은 모든 PlayFab API 메서드에 적용되는 전역 오류 코드를 나열합니다. 다음 정보를 사용하여 API 오류를 해석할 수 있습니다.

각 API 오류에는 다음 필드가 포함됩니다:

* **Code** - 서버에서 반환된 HTTP 오류 코드
* **ErrorCode** - PlayFab 전용 숫자 오류 코드입니다.
* **Error** - PlayFab 전용의 사람이 읽을 수 있는 코드입니다.
* **ErrorMessage** - 디버깅에 유용한 추가 컨텍스트를 제공하는 오류에 대한 설명입니다.
* **ErrorDetails** - 항상 존재하지는 않습니다. 특정 유형의 오류에 대한 추가 컨텍스트를 제공합니다.

<Note>
  이 페이지에는 발생할 수 있는 일반적인 오류 코드가 나열되어 있습니다. 찾고 있는 오류 코드가 이 페이지에 없는 경우, 보다 일반적인 [HTTP 응답 상태 코드 안내](/services/playfab/api-references/http-response-status-codes)를 참조하세요.
</Note>

## 재시도해도 안전한 코드

일반적으로 이러한 오류 코드로 실패한 요청은 지수 지연 백오프를 사용하여 재시도해도 안전합니다. 이러한 오류는 일반적으로 클라이언트가 호출을 너무 빠르게 하고 있음을 의미하지만, 요청 자체는 유효할 수 있습니다.

* `APIClientRequestRateLimitExceeded (1199)`: 짧은 시간 동안 호출이 너무 많음을 나타냅니다.
* `APIConcurrentRequestLimitExceeded (1342)`: *동시* 호출이 너무 많음을 나타냅니다.
* `ConcurrentEditError (1133)`: *동시* 호출이 너무 많거나 매우 빠른 *순차적* 호출을 나타냅니다.
* `DataUpdateRateExceeded (1287)`: \_동시 호출\_이 너무 많거나 매우 빠른 *순차적* 호출을 나타냅니다.
* `DownstreamServiceUnavailable (1127)`: PlayFab 또는 타사 서비스에 일시적인 문제가 있을 수 있음을 나타냅니다.
* `ServiceUnavailable (1123)`: PlayFab에 일시적인 문제가 있거나 클라이언트가 너무 빠르게 API 호출을 하고 있음을 나타냅니다. 이 요청을 재시도하는 경우, 지수 백오프 전략을 적절히 사용하는 것이 중요합니다.

## 재시도하지 말아야 할 코드

이러한 오류 코드가 발생하면 *절대* 재시도해서는 안 됩니다. 버그 수정이나 설정 변경 없이는 현재 상황에서 요청을 완료할 수 없기 때문입니다.

API 메서드와 함께 나열된 대부분의 *구체적인* 코드도 이 범주에 속합니다.

* `AccountBanned (1002)`:<br />플레이어 계정이 차단되었으며, 모든 API 메서드가 이 오류로 실패합니다.
* `AccountDeleted (1322)`: 플레이어 계정이 삭제되었으며, 모든 API 메서드가 이 오류로 실패합니다.
* `AccountNotFound (1001)`: 플레이어 계정이 존재하지 않습니다. `PlayFabId/TitlePlayerId`를 올바르게 복사하지 않았을 가능성이 큽니다. 이 오류는 식별자가 올바르지 않은 경우 항상 발생합니다.
* `APIRequestsDisabledForTitle (1295)`: 이 타이틀에 대한 모든 API 요청이 비활성화되었으며 더 이상 사용할 수 없습니다.
* `InvalidContentType (1144)`: 저희 SDK 중 하나를 사용하는 경우 이 오류가 발생하는 것은 불가능합니다. PlayFab API 메서드에 대해 직접 원시 HTTPS 호출을 하는 경우, `Content-Type` 헤더는 반드시 `application/json`이어야 합니다. 다른 형식은 허용되지 않습니다.
* `InvalidEntityType (1373)`: 인증에 사용된 토큰의 엔티티 유형이 이 API에서 지원되지 않습니다.
* `InvalidParams (1000)`: PlayFab에 전송된 API 요청 객체에 잘못된 매개 변수가 있어 실행할 수 없습니다.
* `InvalidRequest (1071)`: PlayFab에 전송된 API 요청 객체가 잘못되어 실행할 수 없습니다.
* `InvalidTitleId (1004)`: 요청에서 제공된 TitleId가 메서드의 URL에 제공된 타이틀과 일치하지 *않습니다*. 대부분의 SDK에서는 로그인 요청에 TitleId를 지정하지 않아야 합니다. 자동으로 처리되기 때문입니다. 관리자 API에서, 명시적인 TitleId는 **Dev**->**Test**->**Live**의 안전 기능입니다.
* `NotAuthenticated (1074)`: 클라이언트가 먼저 로그인하지 않고 `SessionTicket` 인증이 필요한 API를 호출하려고 시도했습니다.
* `NotAuthorized (1089)`: 잘못된 자격 증명 또는 로그인과 관련된 잘못된 입력입니다.
* `NotAuthorizedByTitle (1191)`: 이 메서드는 API 정책에 의해 비활성화되었으며 호출할 수 없습니다.
* `ProfileDoesNotExist (1298)`: 존재하지 않는 엔티티(플레이어, 캐릭터, 타이틀 등)에 접근하려고 시도했습니다. 오타이거나 어딘가에 잘못된 입력이 있을 가능성이 큽니다.
* `TitleDeleted (1347)`: 이 타이틀은 PlayFab에서 삭제되었으며 더 이상 사용할 수 없습니다.
* `UnknownError (1039)`: 잘못된 정보가 타사 추가 기능에 전송되고, 서버가 외부 시스템과 상호 작용하는 동안 알 수 없는 결과 또는 오류가 발생한 경우 일반적으로 나타납니다. 이를 해결하려면 입력을 시험해 보고 입력이 어떤 식으로든 잘못되었는지 확인해 보세요. 그렇지 않다면 titleId, 전체 요청 JSON(가능한 경우) 및 오류 출력과 함께 포럼에 오류를 신고하세요. Postman은 이러한 상황을 디버깅하는 데 유용한 도구입니다.
* `InvalidAPIEndpoint (1131)`: 이 요청의 URL이 이 타이틀에 유효하지 않음을 나타냅니다.
* `OverLimit (1214)`: 작업 수행 시도가 게임 관리자 제한 페이지에 표시된 대로 서비스 사용량이 한도를 초과하게 됨을 나타냅니다. 반환된 오류 세부 정보를 평가하여 어떤 한도가 초과되는지 확인하세요.

## 기타 주목할 만한 오류 코드

이러한 코드는 특정 API 메서드에서만 발생하지만(해당 메서드의 문서 페이지에 나열됨), 이러한 코드를 보게 되면 알아두어야 할 중요한 결과가 있습니다.

* `APIConcurrentRequestLimitExceeded (1342)`: 타이틀이 CloudScript를 너무 자주 사용하고 있거나, 세그먼트 평가를 너무 자주 강제하려고 하거나(또는 둘 다), 그렇지 않다면 두 가지 모두일 수 있습니다. 전자의 경우, 살펴봐야 할 두 가지는 다음과 같습니다:
  1. 스크립트 호출이 호출당 최대 시간에 가깝게(또는 그보다 더 나쁘게, 시간 초과되는) 얼마나 자주 사용되는지.
  2. 플레이어당 CloudScript를 얼마나 자주 호출하는지. 세그먼트의 플레이어 목록을 가져오는 호출이 확인해야 할 핵심 사항입니다(세그먼트를 대상으로 하는 작업도 재평가를 유발하지만, 자주 발생해서는 안 됩니다).
* `ConnectionTimeout (2)`: 사용 중인 SDK의 세부 사항 및 기본 네트워킹 스택에 따라 **ConnectionError**, **ConnectionTimeout** 또는 PlayFab 서버 접속의 어려움과 관련된 기타 오류가 나타날 수 있습니다. 이 모든 것은 네트워킹 문제를 나타냅니다. 가장 일반적인 원인은 클라이언트 측의 연결 끊김입니다. 클라이언트와 PlayFab 서버 사이의 인터넷 라우팅이 어떤 이유로 중단된 경우에도 발생할 수 있습니다. 게임이 이러한 오류를 처리하기 위해 할 수 있는 일은 거의 없습니다. 가장 좋은 대응은 상위 호출자 또는 플레이어에게 연결을 설정할 수 없음을 알리는 것입니다. 그런 다음 나중에 작업을 다시 시작할 수 있습니다.


## Related topics

- [오류 코드](/ko/reference/errorcodes.md)
- [SDK 오류 처리 모범 사례](/ko/services/playfab/live-service-management/service-gateway/automation/cloudscript/sdk-error-handling-best-practices.md)
- [IXtfFileIOClient::CreateDirectory 메서드](/ko/reference/tools/xtf/xtffileio/classes/IXtfFileIOClient/methods/createdirectory-ixtffileioclient-xtffileio-xbox-microsoft-m.md)
- [IXtfFileIOClient::GetFileAttributes 메서드](/ko/reference/tools/xtf/xtffileio/classes/IXtfFileIOClient/methods/getfileattributes-ixtffileioclient-xtffileio-xbox-microsoft-m.md)
- [IXtfFileIOClient::SetFileAttributes 메서드](/ko/reference/tools/xtf/xtffileio/classes/IXtfFileIOClient/methods/setfileattributes-ixtffileioclient-xtffileio-xbox-microsoft-m.md)
