Gigya Job Openings

gm.getChallengeConfig REST

Skip to end of metadata
Go to start of metadata

Note: If you plan on integrating the Loyalty platform, we highly recommend reading the Loyalty - Gamification and User Behavior Guide. Loyalty is a premium Gigya platform that requires separate activation. If it is not yet a part of your existing site package, please contact Gigya Support via the Support link in the top menu of your Console Dashboard or email support@gigya.com.

Description

This API retrieves the configuration of specified challenges. The method returns the list of challenges, their levels and the associated action descriptions.

Note: Only active challenges and actions are returned, unless specified otherwise by setting the includeDisabledChallenges parameter to true.

 

Request URL


Where <Data_Center> is:
  • us1.gigya.com - For the US data center.
  • eu1.gigya.com - For the European data center.
  • au1.gigya.com - For the Australian data center.
  • ru1.gigya.com - For the Russian data center.
  • cn1.gigya-api.cn - For the Chinese data center.

If you are not sure of your site's data center, see Finding Your Data Center.

Parameters

RequiredNameTypeDescription
includeChallengesstring

Challenges to include in the response. The default value is '*', representing all the challenges that the site has to offer.

Note: Challenges that are listed in the excludedChallenges parameter are not displayed.

excludeChallengesstringChallenges to exclude from the response . The default value is '' (empty string), meaning that no challenges that the site has to offer are to be excluded.
langstringSpecifies the language of strings to use in the returned text fields. If a specific field doesn't have a translation in the requested language, then the string from the default language is used. If this parameter is not specified, then the default language is used. If this field has the special value "all", then each text field is expanded to the object listing all the available languages for that string (the same way it is written to gm.setChallengeConfig).
expandActionsBooleanIndicates whether to expand the returned actions to include their full details, or only their actionIDs. The default value is 'false'.
includeDisabledChallengesBooleanIndicates whether the method will return disabled challenges. The default value is 'false'.
includeDisabledActionsBoolean Indicates whether the method will return disabled actions. The default value is 'false'.
format string Determines the format of the response. The options are:
  • json (default)
  • jsonp - if the format is jsonp then you are required to define a callback method (see parameter below).
callback string This parameter is required only when the format parameter is set to jsonp (see above). In such cases this parameter should define the name of the callback method to be called in the response, along with the jsonp response data.
context string/JSON This parameter may be used to pass data through the current method and return it, unchanged, within the response.
dontHandleScreenSet Boolean This parameter may be used in order to suppress the showing of screen-sets as a result of API calls. Default is false.
httpStatusCodes Boolean The default value of this parameter is false, which means that the HTTP status code in Gigya's response is always 200 (OK), even if an error occurs. The error code and message is given within the response data (see below). If this parameter is set to true, the HTTP status code in Gigya's response would reflect an error, if one occurred.

Authorization Parameters

Each REST API request must contain identification and authorization parameters.

Some REST APIs may function without these authorization parameters, however, when that occurs, these calls are treated as client-side calls and all client-side rate limits will apply. In order to not reach client-side IP rate limits that may impact your implementation when using server-to-server REST calls, it is Recommended Best Practice to always sign the request or use a secret. A non-exhaustive list of REST APIs that this may apply to are as follows:

  • accounts.login
  • socialize.login
  • accounts.notifyLogin
  • socialize.notifyLogin
  • accounts.finalizeRegistration
  • accounts.linkAccounts

Please refer to the Authorization Parameters section for details. 

 

FieldTypeDescription
 
errorCode integer The result code of the operation. Code '0' indicates success, any other number indicates failure. For a complete list of error codes, see the Error Codes table.
errorMessage string A short textual description of an error, associated with the errorCode, for logging purposes. This field will appear in the response only in case of an error.
errorDetails string This field will appear in the response only in case of an error and will contain the exception info, if available.
fullEventName string The full name of the event that triggered the response. This is an internally used parameter that is not always returned and should not be relied upon by your implementation.
callId string Unique identifier of the transaction, for debugging purposes.
time string The time of the response represented in ISO 8601 format, i.e., yyyy-mm-dd-Thh:MM:ss.SSSZ or
statusCode integer The HTTP response code of the operation. Code '200' indicates success.
This property is deprecated and only returned for backward compatibility.
statusReason string A brief explanation of the status code.
This property is deprecated and only returned for backward compatibility.

 

challengesarrayAn array listing the challenges. Each challenge is represented by an object that includes the following fields:
  • challengeID - the unique ID of the challenge
  • name -  the name of the challenge
  • description -  the description of the challenge
  • enabled - indicates whether the challenge is enabled or not
  • enableTimeWindow -  indicates whether to a "time window" in which the challenge is active is defined
  • startDate - the start date of the "time window" in which the challenge is active
  • endDate - the end date of the "time window" in which the challenge is active
  • hideUntilFirstLevel - indicates whether the specified challenge is hidded from being displayed in any of the GM plugins if the user hasn't yet achieved at least one level 
  • hideUnlockedBadges - indicates whether the unlocked badges are hidden from the user when not in the defined time window
  • actions - an array that holds the action IDs that are listed in the challengeActions  array 
  • challengeActions - an array of action objects associated with the challenge. Each action is represented by an  object that includes the following fields:
    • actionID - the unique ID of the action
    • points - the number of points a user earns for performing this action
    • lifetimeCap - the set amount of times that performing this action awards the user points
    • source - the API key of the site to which the action belongs
  • enableVariantTemplates - indicates whether the use of challenge variants is enabled
  • levels - an array of levels. Each level is represented by an object that includes the following fields:
    • level -  the level ID
    • points - the number of points the user needs to earn in order to reach ("unlock") the level
    • title -  the title of the level
    • description -  the description displayed for the level
    • badgeURL -  the URL of the icon representing the level badge
    • lockedBadgeURL -  the URL of the icon representing the locked level badge
    • actionURL - a URL to which a user can be redirected to perform an action and earn points.
You may find more information about challenge fields in the Challenge Settings section of the Game Mechanics Guide
actionsarrayAn array listing the same  challengeActions  that are associated with the challenge, but with additional global fields . The actions array is included in the response only if  expandActions is set to 'true'.
Each  action  is represented by an object that includes the following fields:
  • actionID - the unique ID of the action
  • title - the name of the action
  • points - the number of points a user earns for performing this action
  • description - the description of the action
  • freqCap- the number of seconds that need to pass from the time a user performs this action before he can earn more points for performing this action again
  • dailyCap - the set amount of times a day that performing this action awards the user points
  • enabled - indicates whether the action is enabled or not.
  • triggerActionID - the ID of an action performed by a referred user that will trigger the current action and grant points to the referring user automatically
  • allowClientSideNotifyAction - indicates whether to allow client-side access to the API to allow updating of of this action
  • source - the API key of the site to which the action belongs
The actions array will be returned empty if the request is made from an untrusted source (client or untrusted access token ).

 

Response Example

{
  "statusCode": 200,
  "errorCode": 0,
  "statusReason": "OK",
  "callId": "5fe85f5dd6134895aa514ad0d4248090",
  "time": "2015-03-22T11:42:25.943Z",
  "challenges": [
    {
      "challengeID": "87",
      "enabled": true,
      "name": "Actions",
      "description": "Mydescription",
      "enableTimeWindow": false,
      "startDate": "27/08/2013 00:00:00",
      "endDate": "29/11/2013 00:00:00",
      "hideUntilFirstLevel": false,
      "hideUnlockedBadges": true,
      "enableVariantTemplates": true,
      "actions": [
        "tc1_1",
        "_commentReply",
        "_commentVotedUp"
      ],
      "challengeActions": [
        {
          "source": "<Source Site API key>",
          "actionID": "tc1_1",
          "points": 50,
          "lifetimeCap": 0
        },
        {
          "source": "<Source Site API key>",
          "actionID": "_commentReply",
          "points": 50,
          "lifetimeCap": 0
        },
        {
          "source": "<Source Site API key>",
          "actionID": "_commentVotedUp",
          "points": 0,
          "lifetimeCap": 0
        }
      ],
      "levels": [
        {
          "level": 1,
          "points": 10,
          "title": "actionslev1",
          "description": "",
          "badgeURL": "http://media-cache-ak1.pinimg.com/550x/81/e9/1b/81e91b213be088f28b9ad35160da7599.jpg",
          "lockedBadgeURL": "",
          "actionURL": "",
          "bonus": 0,
          "requiredActions": []
        },
        {
          "level": 2,
          "points": 0,
          "title": "actionslev2",
          "description": "",
          "badgeURL": "http://media-cache-ak1.pinimg.com/550x/81/e9/1b/81e91b213be088f28b9ad35160da7599.jpg",
          "lockedBadgeURL": "",
          "actionURL": "",
          "bonus": 0,
          "requiredActions": [
            {
              "actionID": "_commentReply",
              "count": 1
            }
          ]
        },
        {
          "level": 3,
          "points": 20,
          "title": "actionslev2",
          "description": "",
          "badgeURL": "http://media-cache-ak1.pinimg.com/550x/81/e9/1b/81e91b213be088f28b9ad35160da7599.jpg",
          "lockedBadgeURL": "",
          "actionURL": "",
          "bonus": 0,
          "requiredActions": []
        }
      ]
    }
  ],
  "actions": [
    {
      "actionID": "tc1_1",
      "title": "tc1_1",
      "enabled": true,
      "description": "Click on reaction button ",
      "points": 50,
      "dailyCap": 100,
      "freqCap": 1,
      "triggeringActionId": "",
      "source": "<Source Site API key>"
    },
    {
      "actionID": "_commentReply",
      "title": "Comment Reply",
      "enabled": true,
      "description": "Another user replied on the user comment",
      "points": 50,
      "dailyCap": 100,
      "freqCap": 1,
      "triggeringActionId": "",
      "source": "<Source Site API key>"
    },
    {
      "actionID": "_commentVotedUp",
      "title": "Comment voted up",
      "enabled": true,
      "description": "Another user voted up on the comment",
      "points": 0,
      "dailyCap": 0,
      "freqCap": 0,
      "source": "<Source Site API key>"
    }
  ]
}

Unable to render {include} The included page could not be found.