Public User Api

Public User Api

UXCam’s Public API

User API (headline)

Basics (1st)

To get direct access to your user data via API calls you need to create a public API key in your app settings.

Using your app ID together with your API key you can now retrieve a list of your user by making a HTTP GET request to the following url:

apikey UXCam API Key (available from UXCam dashboard) string apikey=214eceb2-eb03-44ed-88a2-4b378360d2db
appid To show the user details belonging to the appid string appid=5da979493596b900061f7b87

For instance the following HTTP request will return the first 20 sessions of app with appid 5ce626063596b9000641efd2 and the private API key 612929f2-f5d0-4946-ac8e-917dd804eb9a. Using :

Filters (2nd)

The returned users can be filtered by the following data fields. The data type determines the types of filter operators that are allowed, and these filters are described in a table below

Parameter Description Data type Example
page The page index to retrieve. Each page contains up to 50 results \ Default page is 1 unsigned int page=1 Example
countrycode 2 letter country code of user country based on device IP address. string countrycode={"operator":"is","value":"NP"} Only users from Nepal Example
country Country name based on device IP address string country={"operator":"is","value":"Nepal"} Only user from Nepal Example
city City name based on device IP address string City = {"operator":"isnot","value":"Bhaktapur"} Example
appversion App version on the device when session was run string appversion={"operator":"is","value":"1.0"} Only user with app version 1.0 Example
uxcamid UXCam User ID of user string uxcamid={"operator":"isnot","value":"5ce626ecc13328649506d286"} users other than “5ce626ecc13328649506d286” Example
userid User ID of user string userid={"operator":"is","value":"9"} Only users with userid 9 Example
platform Ios or Android device platform_dt platform = {"operator":"isandroid","value":""} Only users from Android Example
osversion Device operating system version string Osversion={"operator":"is","value":"9"} Only users with OS version “9” Example
totalgesture Total gesture count Unsigned int totalgesture = {"operator":"gteq","value":9} Only user having totalgesture greater than or equal to 9 Example
screencount Total number of screens visited Unsigned int screencount = {"operator":"gteq","value":2} Only user having screencount greater than or equal to 5 Example
alias Alias string alias = {"operator":"is","value":”Khem Subedi”} Only users where random alias is “Bijay Jung” Example
registeredon Registeredon date registeredon={"operator":"between","value":["2019-04-14","2019-12-21"]} Example
lastseenon Lastseenon date lastseenon={"operator":"between","value":["2019-04-14","2019-12-21"]} Example
ragegesturecount Rage Gesture Count integer ragegesturecount={"operator":"gt","value":5} Example
responsivegesturecount Responsive Gesture Count integer responsivegesturecount={"operator":"gt","value":5} Example
unresponsivegesturecount Unresponsive Gesture Count integer unresponsivegesturecount={"operator":"gt","value":5} Example
deviceid Device Id string deviceid={"operator":"is","value":5} Example
devicemodel Device Model string devicemodel={"operator":"is","value":"Redmi Note 4X"} Example
totalsessiontime User Total Session Time integer totalsessiontime={"operator":"gt","value":5} Example
totalsession User Total Session count integer totalsession={"operator":"gt","value":5} Example
eventcount User Total Event Count integer eventcount={"operator":"gt","value":5} Example

Filter operators

Depending on the data type of the data field, the following operators are defined and can be used in the query:

Data type lhs Operator symbol Data type rhs Name operator name Example
bool (e.g. platform)
Is True is True istrue video={"operator":"istrue"","value":””}
Is False is False isfalse video={"operator":"isfalse"","value":””}
integer (e.g. Total gesture)
= float equal to is totalgesture={"operator":"is"","value":5}
!= float not equal to isnot totalgesture={"operator":"isnot","value":5}
> float greater than gt totalgesture={"operator":"gt","value":5}
>= float greater than or equal to gteq totalgesture={"operator":"geq","value":5}
< float less than lt totalgesture={"operator":"lt","value":5}
float Less than or equal to lteq totalgesture={"operator":"leq","value":5}
list (float) is in list in totalgesture={"operator":"in","value":[5,6,7]}
list (float) is not in list notin totalgesture={"operator":"notin","value":[5,6,7]}
string (e.g. appversion)
= string equals is appversion={"operator":"is","value":"10.2.3"}
string not equal to isnot appversion={"operator":"isnot","value":"10.2.3"}
list (string) is in list in appversion={"operator":"in","value":["10.2.3","10.2.4"]}
list (string) is not in list notin appversion={"operator":"notin","value":["10.2.3","10.2.4"]}
contains string contains substring contains appversion={"operator":"contains","value":"10"}
contains not string does not contain substring containsnot appversion={"operator":"containsnot","value":"10"}
date (day format) (e.g. registeredon)
= date string on on registeredon={"operator":"on","value":"2019-04-21"}
!= date string not on noton registeredon={"operator":"noton","value":"2019-04-21"}
> date string after after registeredon={"operator":"after","value":"2019-04-21"}
< date string before before registeredon={"operator":"before","value":"2019-04-21"}
between (date string, date string) between between registeredon={"operator":"between","value":["2019-04-14","2019-04-21"]}
platform_dt (e.g. platform)
is Android is Android isandroid platform={“operator”:”isandroid”,”value”:””}
is IOS is IOS isios platform={“operator”:”isios”,”value”:””

Usage Examples (3rd)

For an exemplary app with:

appid = 5ce626063596b9000641efd2

API key = 612929f2-f5d0-4946-ac8e-917dd804eb9a

Basic Request

Filter by countrycode{"operator":"is","value":"NP"}

Filter by country{"operator":"is","value":"Nepal"}

Filter by city{"operator":"is","value":"Bhaktapur"}

Filter by uxcamuserid{"operator":"isnot","value":"5ce626ecc13328649506d286"}

Filter by userid{"operator":"is,"value":"1"}

Filter by alias{"operator":"is","value":"Khem Subedi"}

Filter by registeredon{"operator":"between","value":["2019-04-14","2019-12-21"]}

Filter by lastseenon{"operator":"between","value":["2019-04-14","2019-12-21"]}

Filter by totalsessiontime{"operator":"gt","value":"18"}

Filter by totalsession{"operator":"gt","value":"18"}

Filter by totalgesture {"operator":"gteq","value":9}

Filter by screencount{"operator":"gteq","value":2}

Filter by Platform{"operator":"isandroid","value":""}

Filter by osversion{"operator":"is","value":"9"}

Filter by eventcount{"operator":"gt","value":5}

Filter by ragegesturecount{"operator":"gt","value":5}

Filter by responsivegesturecount{"operator":"gt","value":5}

Filter by unresponsivegesturecount{"operator":"gt","value":5}

Filter by alias{"operator":"is","value":"Khem Subedi"}

Filter by deviceid{"operator":"is","value":5}

Filter by devicemodel{"operator":"is","value":"Redmi Note 4X"


Show first 100 user (page 1) that had at least one event named ‘purchase’{‘operator’:'hasall’,‘value’:[‘purchase’]}&page=15

Filter by session length

Show users (page 1) that were longer than one minute:

Return format (4th)

``` { "success": true, "data": [ { "uxcamuserid": "5dad4883859e1664ec69b92b", "userid": null, "alias": "Ajita Chettri", "property": { "alias": "Ajita Chettri" }, "usage": { "registeredon": "2019-10-21 05:56:19.325", "lastseenon": "2019-10-21 05:56:56.745", "totalsession": 2, "totalsessiontime": "66.636", "totalgesture": 17, "eventcount": 10, "screencount": 6, "ragegesturecount": 4, "responsivegesturecount": 16, "unresponsivegesturecount": 1 }, "location": { "city": "Bhaktapur", "country": "Nepal", "countrycode": "NP" }, "device": { "deviceid": "f27ff861846638b1", "devicemodel": "Pixel XL", "platform": "andriod", "appversion": "1.0", "deviceosversion": "9" } } ] }