gm.notifyAction JS

Skip to end of metadata
Go to start of metadata

Description


This method notifies the Game Mechanics (GM) engine about an action that a user has taken on the site. Note: there is no need to notify the GM engine about Gigya's default actions (actions that are initiated using Gigya’s plugins or APIs, such as sharing, commenting, etc.). Use this method to notify about custom user actions. You may read about setting up custom actions in the Custom User Actions section of the Game Mechanics guide.
 

Note: We do not encourage executing this method from your client side. It is highly advised executing it from your server so as to prevent hacking. Please find the server side API in REST API > gm.notifyAction. Nevertheless, if you choose to execute this method from your client side, please make sure to enable Client Side Access under the GM - General Settings section in Gigya's website.

Note: If you plan on integrating the Game Mechanic platform, we highly recommend reading the Game Mechanics Guide. Game Mechanics is a premium platform that requires separate activation. If Game Mechanics is not part of your site package, please contact Gigya Support via the Support Portal of your Gigya Console. You can also access the support page by clicking Support on the upper menu of Gigya's site.

 

Syntax

 

 

Parameters

The following table lists the available parameters:

RequiredNameTypeDescription
actionstringThe identifier of the action that took place. The identifier should be the same as defined in the Actions Setup page in Gigya's website. You may read about setting up site custom actions in the Custom User Actions  section of the Game Mechanics guide.
callbackfunction
A reference to a callback function. Gigya calls the specified function along with the results of the API method when the API method completes.
The callback function should be defined with the following signature: functionName(Response).
The "Response Object Data Members" table below provides specification of the data that is passed to the callback function.
contextobject
A developer-created object that is passed back unchanged to the application as one of the fields in the response object.
operationstringThe possible values are "grant" (default) and "revoke". When the operation is "revoke" the server behaves as if a regular notifyAction call has been made but inverse the points to be granted so the negative number of points is added to the user. Revoke operations are logged under the same action name but with negative number of points.
actionAttributesJSON objectIn Gamification users receive points for actions they perform on your site, in this case the custom user action grants the user points. Action Attributes may be used to annotate actions with additional information, such as the section of the web site that generated the action. If you set actionAttributes here, each time a user performs this action, the action also receives an attribute (or attributes), for example "tv-show":"glee" which can mean that the action was performed on the "Glee" page of the site. 
actionAttributes contain a JSON object comprised of a series of attribute keys (categories) with associated values. You can also use a generic "tags" key.

No more than three values can be given, they can be with a single key or each have their own key.

For more information see Variants and Action Attributes. Action attributes are later used to filter GM Plugins by a certain attribute.
Example:  {"<attribute key1>": ["<attribute value1>", "<attribute value2>"],  "<attribute key2>": "<attribute value3>" }

 

Response Object Data Members

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 Response Codes and Errors table.
errorMessage string A short textual description of an error associated with the errorCode for logging purposes.
callId string Unique identifier of the transaction, for debugging purposes.
context object The context object passed by the application as a parameter to the API method, or null if no context object has been passed.

 

Code Sample

var params = { 
	action: "myActionID"  // this action ID should be defined in the Action Setup page in Gigya's site.
};

gigya.gm.notifyAction(params); 

Notes:

  • This sample is not meant to be fully functional code. For brevity's sake, only the code required for demonstrating the API call itself is presented.
  • To run the code on your own domain, add your Gigya API key to the gigya.js URL. A Gigya API key can be obtained on the Site Dashboard page on Gigya's website. Please make sure that the domain from which you are loading the page is the same domain name that you used for generating the API key.
  • In some cases it is necessary to connect/login the user to a provider ? prior to calling the API method. You can learn more in the Social Login guide.