본문으로 건너뛰기

14개의 게시물개의 게시물이 "api" 태그를 포함

모든 태그 보기

트랜잭션 및 결제 기반 확인 가이드

트랜잭션과 결제 기반 확인이 이제 개발자 허브에 완전히 문서화되었습니다.

새로운 기능

  • 트랜잭션. 제품은 자녀의 구매를 k-ID에 보고하며, k-ID는 이를 연결된 부모에게 Family Connect의 자녀별 구매 화면과 정기 활동 다이제스트에 표시합니다. 청구 전에 부모가 개입하기를 원하는 경우, 구매 승인 요청이 부모에게 먼저 승인을 요청하고 결과는 Transaction.PurchaseApprovalResult 웹훅으로 도착합니다. 두 부분 모두 Compliance Studio에서 제품별로 구성합니다.
  • 결제 기반 확인. 완료된 카드 결제가 부모 동의 단계를 대신할 수 있으며, 신용카드 확인 방법을 일대일로 그대로 따릅니다. 즉, 세션에 대해 해당 방법이 활성화된 곳에서 정확히 인정되고, 신용카드 자금만 인정되며, 그 외의 모든 곳에서는 부모가 변경 없이 표준 검증된 부모 동의 흐름을 완료합니다.

문서

Verified Parent Linking, 스크린 타임, 활동 수집 가이드

세 가지 부모 관리 기능이 이제 개발자 허브에 완전히 문서화되었습니다. Verified Parent Linking, 스크린 타임, 활동 수집입니다.

새로운 기능

  • Verified Parent Linking (VPL). 플레이어는 자신의 부모를 제품에 초대할 수 있습니다. 부모가 본인 인증을 완료하면 해당 플레이어의 컨트롤(예: 스크린 타임)을 보고 설정할 수 있습니다. VPL은 게이트가 아니라 링크입니다. 아무것도 차단되지 않으며, 부모가 수락하든 안 하든 제품은 계속 작동합니다. Session.Unlink 웹훅이 어느 한쪽이 연결을 해제했을 때 이를 알려줍니다. VPL은 개발자 조직 단위로 활성화됩니다.
  • 스크린 타임. 부모는 Family Connect에서 자녀의 일일 한도, 조용한 시간, 휴식 알림을 설정합니다. 제품은 사용 현황을 보고하고 k-ID가 반환하는 판정을 따릅니다. k-ID는 규칙을 보유하고, 자녀별·하루별로 사용 시간을 세며, 일정을 평가합니다. 각 한도에 앞서 경고 이벤트가 도착하므로 플레이어가 저장 지점에 도달할 수 있으며, 자녀는 스크린 타임 예외를 요청하여 더 많은 시간을 요청할 수 있습니다.
  • 활동 수집. 제품은 Compliance Studio에서 제품별로 선언한 활동 유형에 대해 레코드를 푸시하여 자녀가 무엇을 했는지 보고합니다. k-ID는 이러한 레코드를 저장하고 집계하여 Family Connect에서 신뢰할 수 있는 성인이 읽는 화면(정기 다이제스트 이메일 포함)에 반영합니다. 활동은 수신 전용입니다.

문서

/session/delete의 새 모드로 필수 프로덕트 의존성 보호

/session/delete가 이제 삭제되는 세션에 의존하는 다른 프로덕트를 보호(또는 함께 정리)할 수 있습니다.

새로운 기능

  • POST /session/deleteessentialDependencies. 어떤 프로덕트가 다른 프로덕트에 *필수(essential)*로 구성된 경우, 지금까지는 해당 세션을 삭제하면 의존하는 프로덕트의 세션이 의존하던 동의 기반을 잃은 채 조용히 남겨졌습니다. 새 필드를 사용하면 기본 취소와 hardDelete 두 경로 모두에서 대신 어떤 동작을 할지 선택할 수 있습니다.
  • block은 의존 프로덕트를 고립시키는 대신 삭제를 거부합니다. 플레이어가 삭제 대상 프로덕트에 의존하는 활성 프로덕트를 아직 보유하고 있는 동안, 호출은 ESSENTIAL_DEPENDENTS_EXIST를 반환하고 의존 프로덕트 ID를 명시합니다. 별도의 활성화가 필요 없습니다.
  • cascade는 의존하는 세션도 삭제한 다음 지정된 세션을 삭제하며, 각 세션마다 자체 웹훅이 발송되고 (하드 삭제의 경우) 자체 삭제 기록이 생성됩니다. 지정하지 않은 세션을 삭제하기 때문에 개발자별 옵트인이며(활성화 없이 전송하면 FEATURE_DISABLED가 반환됩니다), 클라이언트 액세스 토큰이 아닌 서버 측 API 키가 필요합니다.
  • 기존의 모든 호출은 영향을 받지 않습니다. 필드를 생략하거나 ignore를 전송하면 /session/delete는 지금까지와 정확히 동일하게 동작하며, 앞으로도 항상 그렇습니다. 이는 기본값 변경을 앞둔 단계가 아니라 안정적인 옵트인 기능입니다.

문서

이메일 연령 추정 전용 연령 확인 엔드포인트

이제 이메일 연령 추정만을 방식으로 사용하여 연령 확인을 수행하는 전용 엔드포인트 /age-verification/perform-email-age-estimation가 제공됩니다. 이는 기존 단일 방식 엔드포인트(ID, AgeKey, ConnectID)와 함께 사용할 수 있습니다.

새로운 기능

  • POST /age-verification/perform-email-age-estimation. 자동 방식 선택을 우회하고 이메일 연령 추정만으로 사용자를 확인합니다. 다른 단일 방식 엔드포인트와 동일한 요청 형식(jurisdiction, subject, criteria 및 선택적 options.redirectUrl / options.locale)을 받으며 id, url, shortUrl을 반환합니다. subject.email 필드는 선택 사항입니다. 생략하면 사용자가 호스팅된 확인 페이지에서 이메일을 입력합니다.
  • 18세 이상 신호. 이메일 연령 추정은 정확한 연령 추정이 아니라 18세 이상 신호입니다. 대상이 18세 이상인지만 확인할 수 있으며 그보다 어린 연령대를 구분할 수 없으므로, 요청 기준을 이 기능에 맞추는 것은 사용자의 책임입니다.
  • 상태 및 결과는 변경되지 않음. 평소와 같이 /age-verification/get-status를 폴링하거나 Verification.Result webhook을 처리하세요.

문서

Permanently erase a session with a new flag on /session/delete

/session/delete can now permanently erase a session instead of only revoking it.

What's new

  • hardDelete on POST /session/delete. Set to true to permanently delete a player session and its embedded consent, scoped to the calling product. Unlike the default revoke (which is internally retained), this physically removes the record and can't be undone.
  • Opt-in per developer. Available only to developers explicitly enabled for hard delete. Setting hardDelete: true without enablement returns FEATURE_DISABLED.
  • Every existing call is unaffected. Omitting hardDelete, or setting it to false, behaves exactly as /session/delete always has: a reversible revoke.
  • In-flight challenges are failed too. Any pending challenge tied to that exact session is set to FAIL, scoped to that session only (other sessions for the same player are untouched).

Documentation

신용카드 전용 연령 확인 엔드포인트

이제 신용카드만을 방식으로 사용하여 연령 확인을 수행하는 전용 엔드포인트 /age-verification/perform-credit-card-verification가 제공됩니다. 이는 기존 단일 방식 엔드포인트(ID, AgeKey, ConnectID)와 함께 사용할 수 있습니다.

새로운 기능

  • POST /age-verification/perform-credit-card-verification. 자동 방식 선택을 우회하고 신용카드만으로 사용자를 확인합니다. 다른 단일 방식 엔드포인트와 동일한 요청 형식(jurisdiction, subject, criteria 및 선택적 options.redirectUrl / options.locale)을 받으며 id, url, shortUrl을 반환합니다.
  • 성인(18세 이상) 보증. 신용카드 확인은 정확한 연령 추정이 아니라 성인 보증 신호입니다. 카드 소유가 성인으로 제한된 관할권에 가장 적합합니다.
  • 상태 및 결과는 변경되지 않음. 평소와 같이 /age-verification/get-status를 폴링하거나 Verification.Result webhook을 처리하세요. 결과는 확인 methodcredit-card를 보고합니다.

문서

자동 연령 보증 흐름을 위한 리디렉션 URL

이제 /age-gate/check는 자동 연령 보증 챌린지가 완료되면 k-ID가 이동할 리디렉션 URL을 받아들입니다. 이는 iframe 기반 결과 핸들러를 사용할 수 없는 최상위 브라우저 핸드오프(예: k-ID로 이동했다가 돌아오는 모바일 webview)를 위한 것입니다.

새로운 기능

  • options.playerAgeAssurance.redirectUrl. /age-gate/checkhttp(s) URL 또는 커스텀 스킴 모바일 딥링크(예: myapp://age-gate/return)를 전달합니다. 플레이어가 CHALLENGE_AGE_GATE_AGE_ASSURANCE 흐름을 완료하거나 닫으면, k-ID는 해당 URL에 challengeId, productId, sessionId(PASS인 경우), status(PASS 또는 FAIL)를 쿼리 파라미터로 추가하여 리디렉션합니다. URL의 기존 쿼리 파라미터는 유지됩니다.
  • 범위. 이 옵션은 CHALLENGE_AGE_GATE_AGE_ASSURANCE에만 적용됩니다. CHALLENGE_PARENTAL_CONSENT는 영향을 받지 않으며 계속 신뢰할 수 있는 성인 흐름을 통해 반환됩니다.
  • 결과는 서버 측에서 확인하세요. 리디렉션 쿼리 파라미터는 UX 힌트입니다. 액세스를 허용하기 전에 Challenge.StateChange webhook 또는 /challenge/get-status를 신뢰할 수 있는 정보 원본으로 취급하세요.

문서

속도 제한 문서

k-ID API 및 사용자 대상 연령 확인과 보호자 동의 흐름의 기본 속도 제한이 이제 전용 페이지에 문서화되었습니다.

새로운 기능

  • API 속도 제한. k-ID API 호출은 제품별로 제한됩니다: 라이브 모드 500 RPS, 테스트 모드 10 RPS. 제한을 초과하는 요청은 HTTP 429 Too Many Requests를 반환합니다.
  • 연령 확인 및 보호자 동의 흐름 속도 제한. 사용자 대상 흐름은 제품별로 제한됩니다: 라이브 모드 100 RPS, 테스트 모드 20 RPS. 제한에 도달하면 사용자에게 잠시 기다렸다가 다시 시도하라는 흐름 내 오류가 표시됩니다(서버에는 429가 표시되지 않습니다).
  • 제한 상향 요청. 이 값들은 기본값입니다. 제품에 더 높은 용량이 필요한 경우 k-ID 담당자에게 문의하세요.
  • 런칭 전 체크리스트 업데이트. 라이브 모드의 상한은 테스트 모드보다 훨씬 높기 때문에, CDK 및 AgeKit+ 런칭 전 체크리스트 모두 이제 속도 제한을 명시적으로 언급하고 새 페이지로 연결됩니다.

문서

연령 확인 API 응답의 짧은 URL 필드

연령 확인 생성 응답(POST /age-verification/perform-access-age-verification 및 기타 perform-* 연령 확인 엔드포인트)에 이제 id, **url**과 함께 **shortUrl**이 포함됩니다.

새로운 기능

  • 짧은 링크: shortUrl은 전체 url과 동일한 확인 경험으로 리다이렉트하는 더 짧은 링크입니다. 쿼리 문자열이 길어 부적합할 때(예: QR 코드, 사용자가 다른 기기에서 확인을 마치는 경우) 사용하세요.
  • 전체 URL은 그대로: 세션 JWT는 여전히 전체 urltoken 쿼리 매개변수에 있습니다. 해당 URL을 임의로 짧게 만들거나 다시 만들지 마세요.
  • 불투명한 값: shortUrl은 불투명한 문자열로 취급하고, 반환된 그대로 표시·인코딩하세요. 경로나 쿼리 레이아웃은 나중에 바뀔 수 있으므로 고정 형식에 의존하지 마세요.

더 알아보기

플랫폼 연령 시그널 문서

Apple iOS, Google Play, Xbox, Meta Horizon 및 k-ID의 연령 데이터가 k-ID에 어떻게 전달되는지, 연령 게이트를 건너뛸 수 있는 경우, 그리고 검증된 시그널과 검증되지 않은 시그널이 고위험 권한 및 연령 보증과 어떻게 연관되는지 설명하는 플랫폼 연령 시그널에 대한 종단간 문서를 게시했습니다.

새로운 기능

CDK — 플랫폼 연령 시그널

  • 플랫폼 연령 시그널 — 빠른 통합 경로, API 맵, 권장 요청 순서, POST /age-gate/check에서 플랫폼 시그널 처리 방식, 지원 플랫폼 및 검증된 선언 유형, 검증됨/검증되지 않음 시그널 동작.
  • 플랫폼 시그널 세부 정보 — 플랫폼별 필드 형태, 각 네이티브 시그널 획득 방법, 엔드포인트별 안내(get-requirements, check, get-default-permissions, session/get, get-platform-age-range, session/upgrade), 유효성 검사, 연령 충돌 및 k-id 시그널 규칙.

개념 및 관련 문서

  • 연령 시그널 — 플랫폼 연령 시그널이 다른 시그널 유형과 어떻게 맞물리는지, PlatformAgeSignal 통합 세부 정보를 찾을 위치.
  • 고위험 기능을 위한 연령 보증권한verifiedAgeThreshold와 연령 게이트에서 검증된 플랫폼 시그널에 대한 상호 연결된 동작.

API 참조(OpenAPI)

세션 업그레이드, AgeVerification, platformAgeSignal 설명을 위 문서와 일치하도록 검증된 플랫폼 시그널 표현으로 맞추었습니다.

문서