구매에 대한 보호자 승인 요청
구매 한 건에 대해 플레이어의 신뢰할 수 있는 성인에게 승인을 요청합니다. 결제 전에 이 API를 호출하고, 승인이 도착한 뒤에만 구매를 완료하십시오. 요청은 `expiresAt`까지 보류되며, 그 이후에는 승인도 거부도 할 수 없습니다. 결과는 `approved`, `denied`, `expired` 중 하나를 담은 `Transaction.PurchaseApprovalResult` 웹훅으로 전달됩니다. 웹훅을 무기한 기다리지 말고 `expiresAt`을 기한으로 처리하십시오. 이미 결정을 기다리는 `id`를 다시 전송해도 안전한 무동작으로 처리되어, 보류 중인 요청이 그대로 반환되고 두 번째 요청은 생성되지 않습니다. 따라서 네트워크 장애 후 재시도로 두 번 알림이 가지 않습니다. 한 플레이어가 결정을 기다릴 수 있는 구매는 최대 20건입니다. 이를 초과하면 하나가 해결될 때까지 `INVALID_INPUT`으로 거부됩니다.
Authorization
api-key In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://example.com/transaction/request-purchase" \ -H "Content-Type: application/json" \ -d '{ "sessionId": "b1a6482d-5242-4b4a-aa88-3fa52595a672", "id": "9d4e2f81-7a3b-4c56-8e90-1f2a3b4c5d6e", "title": "Starter Pack", "description": "500 coins and a cosmetic item", "amount": 499, "currency": "USD" }'{ "id": "2e9b7c41-8d6a-4f23-bc15-3a8e9d0f1b62", "expiresAt": "2026-06-25T16:00:00Z"}{ "error": "INVALID_INPUT", "errorMessage": "The request was missing a sessionId parameter."}세션의 완료된 금전 거래 전송 POST
k-ID 세션에 대해 완료된 구매를 하나 이상 전송합니다. 각 이벤트는 무엇을 구매했고 비용이 얼마였으며 결제가 성사되었는지를 기록합니다. 구매가 완료된 뒤에 이 API를 사용하고, 정기 결제의 경우 갱신마다 전송하십시오. 결제가 시도되었으나 완료되지 않은 경우에는 `status`를 `failed`로 지정해 보호자가 둘을 구분할 수 있게 하십시오. 이벤트는 각각 독립적으로 처리됩니다. 응답에는 이벤트별 상태가 담깁니다. * `accepted` - 구매가 기록되었습니다. 이미 수락된 `id`를 가진 이벤트를 다시 전송해도 안전한 무동작으로 처리되어 다시 `accepted`로 집계되고 중복 기록되지 않으므로, 네트워크 장애 후 재시도로 이중 집계되지 않습니다. * `rejected` - 구매가 검증을 통과하지 못했습니다. `reason`이 어떤 규칙에 걸렸는지 알려줍니다. 세션이 존재하지 않거나 무효화된 경우에는 배치 전체가 거부됩니다.
주간 활동 요약 테스트 메일 발송 POST
해당 세션의 지난 7일간 실제 활동 데이터를 사용해, 연결된 성인에게 주간 요약 메일 한 통을 생성하여 발송합니다. 연동 중에 요약 메일을 미리 확인하기 위한 기능입니다. 테스트 모드에서만 사용할 수 있으며, 라이브 모드에서 호출하면 `400` `INVALID_INPUT` 오류로 거부됩니다.