Searching visits

Display all searching visits (originating through search engine and/or with search term). This specific api call is turned off by default, please contact support@opentracker.net to turn this api call on.

API Usage

This API produces a json array. Utilize this URL to perform GET or POST requests. Visits can also be retrieved based on a visit_id, and/ or a machine_idx.

Parameters

One or more of the following parameters are required:

filterBySearch: Find all visits searching the specified search term. The default is all search terms.
filterByMachineId Display data for these machine ids. Machine id is a unique identifier of each visitor. The default is all machine ids.
filterByVisitId Display data for these visit ids. Visit id is a unique identifier of each visit. The default is all visit ids.
from Find all visits from the specified unix timestamp. Default is all unix timestamps.
to Find all visits up to the specified unix timestamp. Default is all unix timestamps.
offset The starting point from where the records are to be displayed. Default is [0] (most recent chronological event).
limit Maximum number of records to be displayed in the output. Default is [40]. Maximum is 10,000.
login Your opentracker login email. Default is [support@opentracker.net].
password Your password.
ticketId A ticketId can be used to provide credentials with an expiring token. A ticketId can be used instead of a login/ password combination. Further information can be found here.
site The site for which to display data. Default is [www.opentracker.net].
locale The locale parameter is an identifier for a particular combination of language and region (e.g. en_US) and determines the format of the data returned. A list of locales can be found here.

ignoreLocale Display columns without language translation. Boolean. [false]|true. dataType The dataType parameter determines the format of the data returned. Values can be [json] | html | jsondatatable | jsonjqgrid
dateFormat The dateFormat parameter determines the format of dates returned. An example is dateFormat=yyyy-dd-MM. The syntax can be found here.
timezone The timeZone is the parameter to display the dates in EST | CST | PST | CET | JST | GMT | etc. A list of timeZones can be found here.

Examples

To get the latest 10 visits of all the users whose first visit was through a search in the website www.opentracker.net for the user "support@opentracker.net" with password "xxxxxx":
HTTP GET/ POST: view_visits_searches.jsp?login=demo@opentracker.net&password=demo123&site=www.opentracker.net&offset=0&limit=2

Response

This page returns a json array with 'n' entries starting from the specified offset formatted as:








{ "resultsList": [
{
"visit_id":"1124573",
"machine_idx":"868369",
"last event":"Jun 08 13:38 PM +0500",
"duration":"37s",
"flag":"in",
"status":"puppet_offline",
"visits(pv)":"1 (2)",
"search term":"trace ip address",
"referrers: links leading visitors to your site":"ask.com",
"referrer url":"https:\/\/nortonsafe.search...d=nag&ctype=&tpr=121",
"raw referrer url":"https:\/\/nortonsafe.search.ask.com\/web?q=trace%20ip%20address&o=APN11910&chn=1000&guid=DE6DBB73-98EE-45E1-876D-1807137021AB&doi=2017-06-26&ver=22.9.4.8&prt=NSBU&geo=US&locale=en_US&trackId=nag&ctype=&tpr=121",
"entry page (landing page)":"https:\/\/www.opentracker.net\/feature\/ip-tracker-d",
"entry title":"Best IP tracker to identify IP addresses easily - by Opentracker",
"countryName":"India",
"city":"Imphal",
"region":"Manipur",
"isp":"National Informatics Centre",
"company/ org":"Manipur University, Imphal",
"isp/ org":"",
"provider":"Unknown",
"area code (tel)":"Unknown",
"ZIP/ postal code":"Unknown",
"referrers Logo":"http:\/\/ask.com\/favicon.ico",
"referrer":"ask.com",
"search term":"trace ip address",
"user status":"offline",
"number of visits":"1",
"pageviews":"2",
"total pages viewed":"4",
"last visit duration":"37s",
"current visit duration":"00s",
"total duration":"37s",
"first measurement":"Jun 08 13:37 PM +0500",
"platform/ OS":"Windows NT 10.0",
"browser":"Chrome 83.0.4103.61",
"resolution":"1366 x 768",
"IP address":"14.139.209.196",
"country code (FIPS 10-4)":"in"}
,
{
"visit_id":"1124473",
"machine_idx":"868272",
"last event":"Jun 08 13:00 PM +0500",
"duration":"s.e.",
"flag":"in",
"status":"puppet_offline",
"visits(pv)":"1 (1)",
"search term":"ip tracker",
"referrers: links leading visitors to your site":"google.com",
"referrer url":"https:\/\/www.google.com\/se...5.6.1527.FPrRFEtqgno",
"raw referrer url":"https:\/\/www.google.com\/search?q=ip tracker&oq=ip tracker&gs_l=mobile-heirloom-hp.12..0i433l2j0l2j0i433i2i159.1823.5323.0.6362.11.10.0.1.1.0.476.2970.0j3j1j5j1.10.0....0...1c.1.34.mobile-heirloom-hp..5.6.1527.FPrRFEtqgno",
"entry page (landing page)":"Unknown",
"entry title":"Best IP tracker to identify IP addresses easily - by Opentracker",
"countryName":"India",
"city":"Bangalore",
"region":"Karnataka",
"isp":"Unknown",
"company/ org":"Unknown",
"isp/ org":"Vodafone India",
"provider":"Unknown",
"area code (tel)":"Unknown",
"ZIP/ postal code":"Unknown",
"referrers Logo":"http:\/\/google.com\/favicon.ico",
"referrer":"google.com",
"search term":"ip tracker",
"user status":"offline",
"number of visits":"1",
"pageviews":"1",
"total pages viewed":"2",
"last visit duration":"single event( s.e.)",
"current visit duration":"00s",
"total duration":"00s",
"first measurement":"Jun 08 13:00 PM +0500",
"platform/ OS":"Android",
"browser":"Firefox 67.0",
"resolution":"640 x 360",
"IP address":"42.109.232.38",
"country code (FIPS 10-4)":"in"}
]
}


Errors

If errors are encountered, the first encountered error will be returned of form "Error: exception: message

Error: java.lang.RuntimeException: Login/ site combination is not valid

-------------

(*term*) not available

term* available

*term if reverse index (extra work)

term* || term2* -> extra work merging
term* && term2* -> needs to be indexed(?) extra work


** important ** .. (subset of session table, sessions with terms in it) i'm looking for the last 40 (limit) visits of people who are visiting with any search term ordered by date

** not important ** usecase0a: ... i'm looking for the last 40 (limit) visits of people who are visiting with a search term alphabetically ordered


buckets are used for recency, so that if a key has changing properties in time the bucket can solve this problem. buckets are ordered by date.

** important ** ..  I want to search everyone with first* -> list' of sessions with first*
strat 1: ** important ** .., ..  I want to search everyone with first*, ordered by date -> list' of sessions with first* 
doesnt solve strat 2: ** important ** . { secondary column . } I want to search everyone with first*, ordered by date -> list' of sessions with first* (might be memory problem unsolvable)

doesnt solve strat 2: ** important ** .. { secondary column . } I want to search everyone with first*, ordered by date -> list' of sessions with first* (you cant search on  -> so you cant search on the secondary column)....

hard to solve:



** important ** .- (subset of session table, sessions with first term in it) i'm looking for the last 40 (limit) visits of people who have search term: term* ordered by date

select * from sessions where ipnumber between x and y order by date; (using filesort)
get * from .- cf where search term: term* -> list[10,000]; [list ordered by value .] garanteed < 10,000;

memory / key.column value size  = number in list (/2 safety factor).

-> put into cassandra  .


-> select from cassandra list limit 10,000;



-----------------
list' = mechanism that guarantees no memory overload with large lists. So we have a java list that has no memory contraints.
if the list is 10,000 but you get 1000, you'll miss the most recent. (maybe with a bucketing system you can solve this) 
-----------------


-------------
usecase1: i'm looking for a machine id's search visits -> . || get all visits for the machine id and elimenate the non search visits 
usecase2: i'm looking for a machine id's search visits one year ago -> one index ->  get all visits for the machine id and elimenate the non search visits and within time period

-------------
-------------
usecase3: i'm looking for a searched visit_id for a site -> one index . || use session cf and flag on condition its a searcg visit. (deprecate)
-------------
-------------
usecase4: i'm looking for a machine_id with this visit_id -> not available query
-------------
-------------
or deprecate offset, and just use next tokens. so implement a next token.
offset: we just iterate through. eg offset = 300, limit = 100 -> we need to iterate through first 301 keys, and use 301 - 400, preferably no memory problems = memory / key size = iteration size. 
-------------

We would love to hear your feedback. Please use the facebook comment box below