trackthis v0.6.2
Trackthis
A module that simplifies working with the TrackThis endpoints.
Installation
Simply run npm install --save trackthis and start implementing.
Usage
Usage is very simple. You can find the available methods below.
var TrackThis = require('trackthis'),
trackthis = new TrackThis({
tracker : {
websiteKey : null,
productGroup : 'webcamsv4',
websiteDomain: null,
product : 'vpscash4'
},
api : {
endpoint : 'http://trackthat.nl',
credentials: {
username: '',
password: ''
}
}
});
// Start making API calls.API
You can find a complementary documentation page in the trackthis API docs. This library is loosely based on the API.
Note: All methods in this library support both callback style and promises. It's entirely up to you which you use. This library uses the bluebird promises library.
=====
.searchAccounts(filters, done)
Search for accounts based on filters. You can find the properties available to filter on here, under AccountV2 (search).
Example
trackthis.api.searchAccounts({username : 'kaatje'})
.then(function (accounts) {
// Yeah!
}).catch(function (error) {
// Exception.
});Parameters
| Parameter | Type | Description |
|---|---|---|
| filters | Object | The name of the recipient |
| done | Function | Optional callback, if you don't want to use promises. |
=====
.findFull(partnerCode, done)
Retrieve all known information for an account based on partner code.
Example
trackthis.api.findFull(123)
.then(function (account) {
// Yeah!
}).catch(function (error) {
// Exception.
});Parameters
| Parameter | Type | Description |
|---|---|---|
| partnerCode | Number | The partnerCode to get the information for. |
| done | Function | Optional callback, if you don't want to use promises. |
=====
.findAccount(username, done)
Find information for an account username.
Example
trackthis.api.findAccount('kaatje')
.then(function (account) {
// Yeah!
}).catch(function (error) {
// Exception.
});Parameters
| Parameter | Type | Description |
|---|---|---|
| username | Object/String | An object of filters, or the username as string. |
| done | Function | Optional callback, if you don't want to use promises. |
Note: The available filters are the same as those supplied by .searchAccounts().
=====
.findPerformer(username, done)
Find information based on a performer username.
Note: This convenience method uses .findAccount(), but adds {type:'webcam'}.
Example
trackthis.api.findPerformer('kaatje')
.then(function (performer) {
// Yeah!
}).catch(function (error) {
// Exception.
});Parameters
| Parameter | Type | Description |
|---|---|---|
| username | Object/String | An object of filters, or the username as string. |
| done | Function | Optional callback, if you don't want to use promises. |
Note: The available filters are the same as those supplied by .searchAccounts().
=====
.findStudio(username, done)
Find information based on a studio username.
Note: This convenience method uses .findAccount(), but adds {type:'studio'}.
Example
trackthis.api.findStudio('studioName')
.then(function (studio) {
// Yeah!
}).catch(function (error) {
// Exception.
});Parameters
| Parameter | Type | Description |
|---|---|---|
| username | Object/String | An object of filters, or the username as string. |
| done | Function | Optional callback, if you don't want to use promises. |
Note: The available filters are the same as those supplied by .searchAccounts().
=====
.createAccount(accountOptions, done)
Register a new account with TrackThis. Parameter accountOptions accepts a type and a username.
Example
trackthis.api.createAccount({type: 'webcam', username: 'lookatme'})
.then(function (response) {
// Yeah!
}).catch(function (error) {
// Exception.
});Parameters
| Parameter | Type | Description |
|---|---|---|
| accountOptions | Object | Username and Type for the new account. |
| done | Function | Optional callback, if you don't want to use promises. |
=====
.editAccount(partnerCode, changes, done)
Edit the account properties for partnerCode.
You can find the properties available to supply here, under AccountV2 (edit), parameter changes.
Example
trackthis.api.editAccount(123, {email: 'new@domain.org})
.then(function (response) {
// Yeah!
}).catch(function (error) {
// Exception.
});Parameters
| Parameter | Type | Description |
|---|---|---|
| partnerCode | Number | The partnerCode to update the account for. |
| changes | Object | The changes to apply. |
| done | Function | Optional callback, if you don't want to use promises. |
=====
.registerPerformer(performerOptions, done)
Create a new performer account.
This convenience method combines .createAccount() and .editAccount().
The performerOptions available to supply are those from .createAccount() and .editAccount() mixed.
Example
trackthis.api.registerPerformer({
username : 'lookatme',
email : 'lookatme@now.net',
password : 'hard2guessss',
account_iban: 'foobar123'
}).then(function (response) {
// Yeah!
}).catch(function (error) {
// Exception.
});Parameters
| Parameter | Type | Description |
|---|---|---|
| performerOptions | Object | Options for the new performer account. |
| done | Function | Optional callback, if you don't want to use promises. |
=====
.validateCredentials(credentials, done)
Validate the credentials for an account.
This method checks if the credentials match with trackthis, and if so returns account information.
Argument credentials accepts properties type, username and password.
Example
trackthis.api.validateCredentials({
type : 'studio',
username: 'studioname',
password: 'foobar123'
}).then(function (result) {
if (result.valid) {
// Something to work with.
var accountInfo = result.details;
}
}).catch(function (error) {
// Exception.
});Parameters
| Parameter | Type | Description |
|---|---|---|
| credentials | Object | Credentials to check. |
| done | Function | Optional callback, if you don't want to use promises. |
=====
.findPayments(filterOptions, done)
This method searches for payments with the given criteria, and if so return the payment data otherwise an false
Argument filterOptions accepts properties grouping, period, date and filters.
Example
trackthis.api.findPayments({
grouping: 'day',
period : 'custom',
date : {
start: '2015-01-01',
end : '2015-01-31'
}
}).then(function (result) {
if (result) {
// Something to work with.
var paymentInfo = result.data;
}
}).catch(function (error) {
// Exception.
});Parameters
| Parameter | Type | Description |
|---|---|---|
| filterOptions | Object | Filter options |
| done | Function | Optional callback, if you don't want to use promises. |
=====
.addProvisionCode(promotorCode, performerCode, done)
Add the provision code to an existing performer.
Example
trackthis.api.addProvisionCode(61, 100012).then(function (result) {
if (result) {
// Something to work with.
var performerInfo = result.data;
}
}).catch(function (error) {
// Exception.
});Parameters
| Parameter | Type | Description |
|---|---|---|
| promotorCode | Integer | The promotorcode |
| performerCode | Integer | The performercode |
| done | Function | Optional callback, if you don't want to use promises. |