admin/logs/traces/range

Wordbee logs changes, deletions and insertions of business objects down to field level. This covers changes to orders, projects, jobs, companies, prices, etc. These business objects are tracked are listed here.

This method returns the traces between a start and and an end date.


URL

(GET) /api/admin/logs/traces/range?from=&to=skip=&take=

PARAMETERS

The URL parameters are:

from

The date range start.

Example:

  • 2018-05-10T09:00:00Z

Specify dates as UTC (Z-indicator) or with the timezone offset.


datetime, Mandatory

to

The date range end. The maximum allowed period between "from" to "to" is 48 hours.

datetime, Mandatory

skip

Optional. Used for pagination. The number of events to skip.

Value is 0 by default.

int?, Optional

take

Optional. Used for pagination. The number of events to retrieve.

Value is 1000 by default. The maximum value is 10000.

int?, Optional


Note, if you are logging a large amount of events, please make sure to use pagination properties skip and take.

Example:

  • /api/admin/logs/traces/range?from=2018-05-10T10:00:00Z&to=2018-05-10T15:00:00Z&skip=0&take=100


LARGE EXPORTS

Use this method for regular exports, in small, fixed time windows. Traces are kept for 45 days.

  • One request returns at most 10,000 traces (take up to 10,000).

  • Within one time window you can read the first 10,000 traces only (skip + take up to 10,000). If hasmore is still true at that point, split the window into smaller time ranges.

  • from is included and to is excluded. Make consecutive windows meet exactly so that no trace is missed or read twice.

  • When a window holds exactly 10,000 traces, hasmore returns true even though no more traces exist.

  • Traces are sorted by date only. Traces that share the same timestamp, or that are written while you export, can shift between pages.


RESULTS

The result is a JSON object with these properties:

rows

An array of trace events. See details here: Trace details

datetime

skip

The skip parameter value.

int

take

The take parameter value.

int

hasmore

True if there are more results.

To fetch the next set of results, call the method again with skip/take set accordingly. Example:

  • First batch: ?skip=0&take=1000

  • Second batch: ?skip=1000&take=1000

  • etc.

bool


EXAMPLE

A few lines of a log file:

{
	"rows": [{
		"v": 1,
		"a": "i",
		"oc": "ps",
		"key": {
			"uid": 138
		},
		"dt": "2017-07-10T16:18:53.6961066Z",
		"uid": 1,
		"cid": 1,
		"ts": "0ec12110-50c9-4c60-927e-3a250eea5ccf",
		"tsc": "new account",
		"flds": [{
			"f": "RssNotifications",
			"v": "Personal"
		},
		{
			"f": "EmailNotifications",
			"v": "Personal"
		},
		{
			"f": "NotifyOrders",
			"v": "Personal"
		},
		{
			"f": "NotifyJobs",
			"v": "Personal"
		},
		{
			"f": "PersonId",
			"v": "0"
		},
		{
			"f": "AddressId",
			"v": "1"
		},
		{
			"f": "FirstName",
			"v": "creation"
		},
		{
			"f": "LastName",
			"v": "test"
		},
		{
			"f": "Email",
			"v": "cpons@wordbee.com"
		},
		{
			"f": "PersonCode",
			"v": "ct"
		},
		{
			"f": "RssNotifications_",
			"v": "1"
		},
		{
			"f": "EmailNotifications_",
			"v": "1"
		},
		{
			"f": "IsActive",
			"v": "False"
		},
		{
			"f": "LoginAttempts",
			"v": "0"
		},
		{
			"f": "Password",
			"v": "*****"
		},
		{
			"f": "PwdDate",
			"v": "10/07/2017 16:18:51"
		},
		{
			"f": "NotifyOrders_",
			"v": "0"
		},
		{
			"f": "NotifyJobs_",
			"v": "0"
		}]
	},
	{
		"v": 1,
		"a": "c",
		"oc": "ps",
		"key": {
			"uid": 138
		},
		"dt": "2017-07-10T16:19:36.6244773Z",
		"ts": "79a5aa40-b302-44ff-baaf-71d88b4c67fd",
		"flds": [{
			"f": "PersonCode",
			"v": "cao",
			"p": "ct"
		}]
	},
	{
		"v": 1,
		"a": "d",
		"oc": "ps",
		"key": {
			"uid": 138
		},
		"dt": "2017-07-10T16:19:46.7389286Z",
		"ts": "313b163f-211c-41d4-bd0e-35496b560fe8",
		"tsc": "Delete",
		"flds": []
	}],
	"skip": 0,
	"take": 1000,
	"hasmore": false
}