Skip to content
Stove
Last Updated

Request Possession Verification Code

This document explains how to use the API that sends a possession verification code to a user via SMS or Email.
Possession verification is provided through the following two APIs.

Please refer to the Identity Verification Service guide for integration methods and development flow.

Request Possession Verification Code API


Sends a verification code to the verification target (mobile phone number or email address). The number of digits in the verification code depends on the channel. (SMS 6 digits / Email 4 digits)

Precautions

  • Prior consultation with the business manager is required before using this API.
  • Support for channels (sms / email) is determined per game. If requested for an unregistered channel, it will respond with 70115.
  • The verification code is valid for 3 minutes for SMS / 10 minutes for Email from the time of the API call.
  • Resend limit for the same game and same target (based on the initial request time)
    • SMS : 3 times per minute + 20 times per day
    • Email : 5 times per hour
  • If requested multiple times for the same target, all sent verification codes remain valid until their expiration time.
    • If even one verification code is successfully verified, all verification codes for that target will expire.
  • This API uses a 5-second timeout value.
    When receiving HTTP Status 408(Request Timeout), 504(Gateway Timeout) responses, please perform retry processing using an exponential backoff strategy (exponentially increasing wait time for each retry - 1, 2, 4, 8 ...).

Message Content Guide

  • Please refer to the Sending Templates at the bottom of the document for the actual SMS content and Email templates delivered to the user.
  • Content and templates are subject to change.

Basic Information


text
POST /sms-sender/v3.2/occupancy_auth/send_code
Host:
   https://api.gate8.com (SANDBOX)
   https://api.onstove.com (LIVE)
Content-Type: application/json

Request



NameTypeRequiredDefault ValueExampleDescription
AuthorizationStringY-Bearer Platform API Access Token (API AccessToken)[Authentication → Server]
- Game (service) identification is derived from the sid of the token.
- Web usage locations such as the official website also use this token after issuance.
Content-TypeStringY-application/jsonResource media type
caller-idStringY-STOVE_GAME_IDAPI caller information
- Game ID registered in Partners
* Not for game (service) identification, but for monitoring / caller identification
caller-detailStringN-f248a284-7e61-4dcf-a111-a394050e9555API caller UUID, for API call monitoring

Body


NameTypeRequiredDefault ValueExampleDescription
channelStringY-smsAuthentication channel
- sms : Mobile phone (SMS) possession verification
- email : Email possession verification
toStringY-+821012345678Verification target (format determined by channel)
- channel=sms : Mobile phone number (E.164 format, including + and country code)
- Automatic correction if '0' is incorrectly entered for a Korean mobile number (+8201012345678 → +821012345678)
- channel=email : Email address (e.g., user@example.com)
localeStringNenko(channel=email only) Sending language
- ko : Korean / en : English
- Default value if not specified en
- Currently ko / en only 2 languages are supported, and other values are replaced with en (supported languages will be expanded in the future)
- channel=sms automatically determines the language based on the number's country code, so locale is ignored

Response


Body


NameTypeRequiredDefault ValueExampleDescription
codeIntegerY-0Response code
messageStringY-OKResponse message
valueObjectN--Response data

Value


NameTypeRequiredDefault ValueExampleDescription
channelStringY-emailSending channel (reflects the requested channel)
code_lengthIntegerY-4Number of digits in the verification code (sms = 6, email = 4)
expires_inIntegerY-600Verification code validity time in seconds (sms = 180, email = 600)

Sample


Request


text
// Request possession verification code
curl -L -X POST 'https://api.gate8.com/sms-sender/v3.2/occupancy_auth/send_code' \
-H 'Content-Type: application/json' \
-H "Caller-Id: {{caller-id}}" \
-H 'Caller-Detail: f248a284-7e61-4dcf-a111-a394050e9555' \
-H 'Authorization: Bearer {{API accessToken}}' \
-d '{
    "channel":"email",
    "to":"user@example.com",
    "locale":"ko"
}'

Response

json
// Success - sms
{
    "code": 0,
    "message": "OK",
    "value": {
        "channel": "sms",
        "code_length": 6,
        "expires_in": 180
    }
}

// Success - email
{
    "code": 0,
    "message": "OK",
    "value": {
        "channel": "email",
        "code_length": 4,
        "expires_in": 600
    }
}

// Failure - parameter error
{
    "code": 70100,
    "message": "invalid parameter"
}

Return Code


Please check and handle API errors on the server side

  • The front-end should only expose success or verification failure
HTTP Status codeCodeMessageDescriptionResponsible Party
2000OKSuccess (sending request received)API Caller (Server)
20070100invalid parameterInput parameter error
- Check and correct input parameters
API Caller (Server)
20070101too many requestsResend limit exceeded
- channel=sms : More than 3 times within 1 minute of the initial request
- channel=email : More than 5 times within 1 hour of the initial request
- Advise the user to retry after some time
end user
20070105too many requestsDaily request limit exceeded, channel=sms only
- Returned when called more than 20 times within 24 hours of the initial request
- Advise the user to retry after 24 hours
end user
20070107unsupported countryUnsupported country (channel=sms)
- See Supported Countries for Possession Verification
end user
20070108service not registeredUnregistered / Unsupported service (Game not registered)Platform Manager
20070109policy not registeredUnregistered policyPlatform Manager
20070110invalid phone number formatPhone number format error (channel=sms)API Caller (Server)
20070115unsupported channelUnsupported / Non-operating channel
- Includes channels not supported by the game
API Caller (Server)
20070116invalid email formatEmail format error (channel=email)API Caller (Server)
20070199internal server errorInternal server error
- Contact the platform manager
Platform Manager
40140100
40101
40102
40103
40104
40106
40302
50000
-Common token error
- Check and correct the platform authentication token (API AccessToken)
API Caller (Server)
40840800-Request Timeout
- Retry API call
API Caller (Server)
42942900-Too Many Requests
- Retry API call
API Caller (Server)
50450400-Gateway Timeout
- Retry API call
API Caller (Server)

Supported Countries for Possession Verification


When requesting with channel=sms, messages can only be sent to the countries below.

NoCountry NameCountry Code (ITU)Country Code (ISO 3166-1 Alpha-2)Remarks
1South Korea+82KR
2Taiwan+886TW
3Hong Kong+852HK
4Macau+853MO
5Japan+81JP
6Thailand+66TH
7Philippines+63PH
8Singapore+65SG
9Indonesia+62ID
10Malaysia+60MY"RM0" added to the text (Malaysia carrier policy)
11Australia+61AU
12Spain+34ES
13Cambodia+855KH
14El Salvador+503SV
15Nigeria+234NG
16South Africa+27ZA
17Myanmar+95MM
18Laos+856LA

Notice

  • The table above is the full list of countries supported by the platform.
  • Since the actual countries available for sending are registered differently for each game, please consult with the business manager regarding the countries to be used.
  • If you request to an unregistered country, it will respond with 70107 .

Sending Templates


These are the phrases and email formats actually delivered to users. Phrases and templates are subject to change.

SMS Phrase


Valid for 3 minutes, and the sending language is automatically determined based on the country code of the number. (Korea = Korean / Others = English)

LanguagePhrase
Korean(게임명) 인증번호 XXXXXX 를 입력해주세요. 유효시간은 3분입니다.
English(GAME) Enter verification code XXXXXX. This code expires in 3 minutes.

Email Template


Valid for 10 minutes, and the sending language is determined by the locale value (ko / en).

ItemContent
SenderSTOVE <noreply@smilegate.com>
SubjectKorean : 스토브 인증 메일 안내
English : STOVE Verification Email Guide
HeaderSTOVE (Link : https://www.onstove.com)
Body4-digit verification code notice
- Korean : 아래 인증 번호를 입력하면 인증이 완료됩니다. (유효시간 : 10 분) / 인증번호 : XXXX
- English : Enter the verification code below to complete verification. (valid: 10 minutes) / Verification number: XXXX
FooterSmilegate (Link : https://www.onstove.com)
Customer Center (Link : https://cs.onstove.com)

Email sample (Korean)

If a user inquires that they have not received the email, please advise them to check their spam folder first.