Gigya Job Openings

socialize.setStatus REST

Skip to end of metadata
Go to start of metadata

 

This method sets the user's status in social networks that support this feature.

 

Supporting Providers

This operation is currently supported by the following providers:  Facebook, TwitterLinkedInQQ and Renren.

Note: Before your application can set status in Facebook, the user must grant your application an extended permission. Please make sure you have checked the "Enable wall updates" check box in the Site Setup > Permissions page on Gigya's website. During the social login process, the user will be presented with a UI in which the user can authorize your application to permit your site to publish posts to her Facebook profile.

Please, read more in the Facebook Setting - Permissions guide.

 

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
UID string The unique ID of the user with which this method call is associated (i.e., the logged-in user whom is performing the action on the client-side and triggering the REST call). This is the UID you receive from Gigya after a successful login of this user. See User.UID for more information.
  • The UID parameter is required when you call this method through one of the following interfaces:  PHP SDKPython SDKJava SDKNET SDK  or if you are using the REST API directly with Gigya's proprietary authorization method.
  • The UID parameter is not required when you call this method through one of the following interfaces: Android SDK, iOS SDK or if you are using an external OAuth2 SDK.
Note: If you are using account linking then the UID would be your site user ID. To learn more about Social Login with account linking (best practice), please refer to the Social Login Implementation guide.
statusstringThe text to set as the user's status.
actionAttributesJSON objectIn Gamification your users receive points for actions they perform on your site, in this case setting a status 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 here the actionAttributes, each time a user sets a status, the action also receives an attribute, 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>" }

cidstringA string of maximum 100 characters length. This string will be associated with each transaction and will later appear on reports generated by Gigya, in the "Context ID" combo box. The cid allows you to associate the report information with your own internal data, for example, to identify a specific widget or page on your site/application. The "Context ID" combo box lets you filter the report data by site/application context.
contextobject
A developer-created object that is passed back unchanged to the application as one of the fields in the response object.
disabledProvidersstring
A comma-delimited list of provider names to exclude in the method execution. This parameter gives the possibility to specify providers to which you do not want this method to apply. If you do not set this parameter, by default, no provider is disabled (i.e., the method applies to all connected providers).
For example, if you would like the method to apply to all providers except Twitter, define: disabledProviders: "twitter".
Valid provider names include:
 'facebook', 'twitter', 'linkedin''renren'.
enabledProvidersstring
A comma-delimited list of provider names to include in the method execution. This parameter gives the possibility to apply this method only to a subset of providers of your choice. If you do not set this parameter, by default all the providers are enabled (i.e., the method applies to all connected providers).
For example, if you would like the method to apply only to Twitter, define: enabledProviders: "twitter".
Valid provider names include:

'facebook', 'twitter', 'linkedin''renren'.
shortURLsstring
Using this parameter you may determine whether to use Gigya's URL shortening service for URLs passed in the status parameter. The optional values for this parameter are:
  • 'always' (default): always try to shorten URLs. Where providers permit, URLs are shortened based on the Data Center you are using:
    • fw.to for users of the US data center.
    • shr.gs for users of the European data center.
    • vst.to for users of the Australian data center.
    • socli.ru for users of the Russian data center.
    • s.gigya-api.cn for users of the Chinese data center.
  • 'whenRequired': URLs longer than 139 characters are shortened in accordance with provider preferences.
  • 'never' - never shorten URLs. Where providers permit, URLs are left untouched.

To determine your data center see Finding Your Data Center.


URL shortening requirements vary between providers and depend on the particular type of action and its content. URL shortening is available for the following providers:

ProviderNote
FacebookN/A
TwitterN/A
LinkedInShortened URL is posted to the social network but traffic reports show abbreviated URL (e.g., http://developers.gigya.com/display/GD/showShareBarUI+JS is abbreviated to developers.gigya.com).
MicrosoftNot for share. (Note: messenger has been replaced by microsoft, however, for backward compatibility, either can be used).
WhatsAppOnly on mobile.
RedditN/A
GooglePlusN/A
Google BookmarksN/A
VKontakteN/A
nk.plN/A
XingN/A
TuentiN/A
HatenaN/A
PinterestShortened URL is posted to the social network but traffic reports show abbreviated URL (e.g., http://developers.gigya.com/display/GD/showShareBarUI+JS is abbreviated to developers.gigya.com).
BaiduN/A
FriendFeedN/A
TumblrN/A
SinaN/A
mixiN/A

When Gigya's URL shortening service is active, Gigya tracks all the traffic coming from the distributed URLs. In such case, 'Referred Traffic' reports will be available to you.

 


Note: This parameter overrides the value of the identical parameter in Global Conf (the global configuration object). If the parameter is not set for the method, the value from Global Conf is used.

StatusstringIt is possible to specify different text to set as status for each social network. For this purpose, the method supports a set of parameters with the same name format: (i.e. facebook, twitter, etc.) followed by "Status". For example: twitterStatus - specifies the text to be used specifically when publishing to Twitter.
Each of these optional parameters if specified will override the status parameter when publishing to that provider. In other words, the status parameter (see above) specifies the default text to be used for all social networks and Status specifies the text to be used for the specific network.
userLocationJSON ObjectThe location to which this status update refers. Assigning a location to status updates is currently supported by Twitter only. The value of this parameter should be a JSON object containing the following fields:
  • longitude - the longitude of the location. The valid ranges for longitude is -180.0 to +180.0 (East is positive) inclusive.
  • latitude - the latitude of the location. The valid ranges for latitude is -90.0 to +90.0 (North is positive) inclusive.
  • placeID - a unique identifier of a place to which this status update refers.
    Note: you may receive a list of place identifiers using the socialize.getPlaces method.
See also socialize.checkin.
   
format string Determines the format of the response. This parameter is required when using the REST API directly, and irrelevant when using one of our SDKs. The options are:
  • json
  • jsonp - if the format is jsonp then you are required to define a callback method (see parameter below).
  • xml (default) - Deprecated. We do not support XML as a valid value any longer, however, it is the default response type due to backwards compatibility. You can only set the format parameter to either json or jsonp.
callback string This parameter is relevant only when the format parameter is set to jsonp (see above). In such case this parameter should define the name of the callback method to be called in the response, along with the jsonp response data.
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 occurs.

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. 

 

Response Data

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.

 

providerPostIDsarrayAn array of JSON objects representing the social network's post ID. Each object has the following fields:
  • provider - the social network provider (string). The optional values are: 'facebook','twitter', 'linkedin', or 'googleplus'.
  • postID - the unique ID of the post (string).
providerErrorCodesJSONAn array of JSON objects representing the social network's post error codes. Each object has the following fields:
  • provider - the social network provider (string).
  • errorCode - the error code. Code '0' indicates success, any other number indicates failure.
  • errorMessage - a short textual description of an error, associated with the errorCode, for logging purposes.
  • errorDetails - This field will appear only in case of an error and will contain exception info, if available.

A field that does not contain data will not appear in the response.

 

Response Example

{
        "statusCode": 200,
        "errorCode": 0,
        "statusReason": "OK",
        "callId": "81d94c4fa3764e75801637c608dbeb05",
        "time": "2015-03-22T11:42:25.943Z",
        "providerErrorCodes": [{
            "provider": "facebook",
            "errorCode": 0,
            "errorMessage": "OK"
         }, {
            "provider": "twitter",
            "errorCode": 0,
            "errorMessage": "OK"
         }]
    }