Flipsnack API

collection.getStats

Returns the statistics for the specified collection.

Note: Requests must be made to http://api.flipsnack.com/v1.

Request parameters

Name Type Description
apiKey (required) string The API key provided for your user. If it is not specified, the request will return the error code "30 - Missing mandatory parameter". If the key is incorrect the request returns the error code "41 - Invalid credentials".
signature (required) string The signature must be calculated by you and added to the request. See How to sign a request for more information. If the parameter is missing the request will return the error code "30 - Missing mandatory parameter". If the signature is incorrect the request will return the error code "44 - Invalid signature".
action (required) string The API method that should be called. In this case the value should be collection.getStats. If it is not specified, the request will return the error code "30 - Missing mandatory parameter".
collectionHash (required) string The hash of the collection for which you want to get statistics. If you do not specify a collection hash, then the request will return the error code "30 - Missing mandatory parameter".
format string The format of the response from the server. Possible values are json, jsonp and xml. If you set format to jsonp, you must also specify the callback parameter.

Default: json.
callback string The name of the callback function used for the jsonp response. This parameter is required if format is set to jsonp. Otherwise it is ignored.

Response parameters

Name Type Description
impressions number The number of impressions of the collection. Impressions are counted each time the widget is loaded.
views number The number of views of the collection. Views are counted each time a user interacts with the widget.
time_spent number The average time spent shows how much time people spend viewing the collection.
shares number The number of times the collection was shared on social media.
downloads number The number of times your documents were downloaded from the collection.

Error codes

Code Message Explanation
30 Missing mandatory parameter The request does not contain one or more required parameters. There are at least 3 required parameters for every request: apiKey, signature and action. Other methods may also have extra mandatory parameters. Please check the API Reference for more information.
31 Requests per second limit exceeded There were too many requests per second made with the same API key.
32 Requests per minute limit exceeded There were too many requests per minute made with the same API key.
40 Bad request
  • You made a POST request for an API call that is not uploading files.
  • You made a GET request for an API call that uploads files.
  • Your request is incorrectly formatted or the URL is invalid.
41 Invalid credentials The API key provided in the request is invalid.
42 Invalid action The API method you specified in the request is incorrect. Please see the API Reference for the list of possible methods.
43 Forbidden You are not allowed to access the specified collection: it has been deleted or the collection belongs to another user.
44 Invalid signature The signature you provided is incorrect - it does not match the request.

Example

HTML form example

<form method="get" action="http://api.flipsnack.com/v1/">
    <input type="hidden" name="action" value="collection.getStats">
	<input type="hidden" name="apiKey" value="LK12NS-0-IOBW3S89VVJH12Z">
    <input type="hidden" name="collectionHash">
	<button type="submit">Submit</button>
</form>

Curl example

curl -F "action=collection.getStats"\
     -F "apiKey=LK12NS-0-IOBW3S89VVJH12Z"\
     -F "collectionHash=d3m0h45h"\
     -F "signature=2298a6456c1dd2d12b895ce4688ffe31"\
     http://api.flipsnack.com/v1/

Responses

<?xml version="1.0" encoding="utf-8"?>
<response>
    <code>20</code>
    <status>OK</status>
    <data>
        <impressions>723</impressions>
        <views>1240</views>
        <time_spent>53</time_spent>
        <shares>22</shares>
        <downloads>4</downloads>
    </data>
</response>
{
    "code": 20,
    "status": "OK",
    "data": {
        "impressions": 723,
        "views": 1240,
        "time_spent": 53,
        "shares": 22,
        "downloads": 4
    }
}
callbackFunctionName({data});
// callbackFunctionName is the function name specified by the callback parameter, in the request
// the {data} is the actual JSON response