v1

latestOpenAPI 3.1.02026-07-2665153355.3 KB
Authentication

Authenticate Player

<Note> This is a callback API. Appcharge calls this endpoint on your server when specific events occur. </Note>

Notifies your system to authenticate a player in your web store. <br /> <br /> Appcharge calls this endpoint when a player attempts to log in to your web store using one of the configured login methods. Your server identifies the player and responds with either the player data or an authentication error. <br /> <br /> If the response indicates a successful authentication, the player is logged in to the web store.

post/{YOUR_AUTHENTICATE_PLAYER_ENDPOINT}

Headers

x-publisher-tokenstring

Publisher token.

signaturestring

The signed payload.

Request body

authMethod'facebook' | 'apple' | 'google' | 'userToken' | 'userPassword' | 'otp'

Authentication method the player used.

Note: If the player logged in using either Pre-Authenticated Login or Game Redirect Login, Appcharge sends the value otp.

tokenstring nullable

Authentication token. Used for SSO Login and Player ID Login.

datestring date-time

UTC time when the player tried to log in.

appIdstring

App ID in the Publisher Dashboard. Used for the SSO Login method. If no app ID is available, Appcharge sends "NA".

userNamestring nullable

Username the player entered when logging in to the web store.

passwordstring nullable

Password the player entered when logging in to the web store.

os'ios' | 'android' | 'web'

Operating system the player used to log in.

utmSourcestring

Source of the traffic. This is where the player came from before reaching the store.

utmMediumstring

Marketing channel used to bring in the traffic.

utmCampaignstring

Marketing campaign identifier associated with the traffic.

sessionIdstring

Session ID.

Example request

{
  "authMethod": "facebook",
  "token": "sdfddtt7",
  "date": "2024-07-21T14:17:27.329Z",
  "appId": "611392880818819",
  "userName": "expertgamer1979",
  "password": "732hf8820pk!",
  "otp": {
    "playerCode": "974018",
    "accessToken": "9ac888fa33412197b"
  },
  "os": "android",
  "utmSource": "Facebook",
  "utmMedium": "email",
  "utmCampaign": "spring_sale.",
  "sessionId": "2e55b3fc-31ef-6dd7-8161-8aeb376b3a23",
  "playerLocation": {
    "countryCode2": "US",
    "state": "NY"
  }
}

Response

status'valid' required

The status of the player authentication. If you pass a value other than valid, the API fails.

playerProfileImagestring

Player profile image. If no image is available, an empty string must be provided. In this case, a default image is displayed.

publisherPlayerIdstring required

Player ID.

playerNamestring required

Player name.

sessionMetadataobject

An object for passing data related to the player's session. It is returned in the Grant Award Callback, and if enabled, the Personalization API.

publisherErrorMessageType'none' | 'plainText' | 'enrichedText'

Error message type. Supported values:

  • none: No error message is provided.
  • plainText: A basic error message in plain text.
  • enrichedText: A formatted error message in MD format that may contain additional styling or elements.
publisherErrorMessagestring

Error message.

publisherErrorMessageTitlestring

Error message title displayed to players when a login attempt fails.

playerOverrideCountrystring

Overrides the player's detected location for pricing purposes. Use when the player's country of origin differs from their detected country. Must be a two-letter country code in ISO-3166 alpha-2 format.

Example response

{
  "status": "valid",
  "playerProfileImage": "https://scontent-iad4-1.xx.fbcdn.net/v/t6.30597-1/84628273_176159830277856_972693363922829312_n.jpg?stp=c379.0.1290.1290a_cp0_dst-jpg_s50x50_tt6&ccb=1-7",
  "publisherPlayerId": "vip2247691",
  "playerName": "Jim Cardashian",
  "sessionMetadata": {
    "abTest": "group1",
    "locale": "en-US"
  },
  "publisherErrorMessageType": "plainText",
  "publisherErrorMessage": "Lost internet connection.",
  "publisherErrorMessageTitle": "Whoops! Login Failed.",
  "playerOverrideCountry": "CA"
}