Anura SDK for Server-side JavaScript
The Anura SDK for server-side JavaScript simplifies using Anura Direct for developers. Allowing you to quickly get up and running with analyzing your traffic.
Getting Started
- Have an open active account with Anura - You can see more about Anura's offerings here.
- Minimum Requirements - To use the SDK, you will need Node >=18.
-
Install the SDK - You can run the following command to install the SDK via npm:
npm install @anuraio/anura-sdk
- View our Quick Examples to immediately begin using the SDK!
Quick Examples
Create the Anura Direct Client
import { AnuraDirect, AnuraClientError, AnuraServerError } from '@anuraio/anura-sdk'; // ES Module Import
const { AnuraDirect, AnuraClientError, AnuraServerError } = require('@anuraio/anura-sdk'); // CommonJS Import
const direct = new AnuraDirect('your-instance-id-value-here');
Set a custom source, campaign, and additional data for Anura Direct
direct.source = 'your-source-value';
direct.campaign = 'your-campaign-value';
direct.addAdditionalData('1', 'your-data-value');
Update an element of additional data
// To update an element of additional data, simply add the element again but with a new value.
const indexToUpdate = '1';
direct.addAdditionalData(indexToUpdate, 'your-new-data-value');
Remove an element from additional data
const indexToRemove = '1';
direct.removeAdditionalData(indexToRemove);
Get a result from Anura Direct
(async function() {
const direct = new AnuraDirect('your-instance-id');
try {
const result = await direct.getResult(
'visitors-ip-address',
'visitors-user-agent', // optional
'visitors-app-package-id', // optional
'visitors-device-id', // optional
);
console.log(result);
} catch (error) {
if (error instanceof AnuraClientError) {
// Handle 4XX responses here.
} else if (error instanceof AnuraServerError) {
// Handle 5XX responses here.
} else {
// Handle any other type of error thrown here.
}
}
})();
API Reference
AnuraDirect
Can get results from Anura Direct. These results are fetched using /direct.json API endpoint.
Methods
async getResult(): Promise<DirectResult>- Gets a result from Anura Direct. Throws an error if one occurs throughout the result fetching process.
- Error thrown:
- AnuraClientError: if a 4XX response is returned from Anura Direct
- AnuraServerError: if a 5XX response is returned from Anura Direct
- AnuraError: general exception that represents any other type of error that occurred while fetching from Anura Direct.
Parameters:
Name | Type | Description | Required |
---|---|---|---|
ipAddress | string | The IP address of your visitor. Both IPv4 & IPv6 addresses are supported. | Yes |
userAgent | string | The user agent string of your visitor. | |
app | string | The application package identifier of your visitor (when available.) | |
device | string | The device identifier of your visitor (when available.) |
- Adds an element of additional data to your AnuraDirect client.
- Removes an element of additional data from your AnuraDirect client.
- Returns the instance you have set within your AnuraDirect client.
- Returns the source you have set within your AnuraDirect client.
- Returns the campaign you have set within your AnuraDirect client.
- Returns the campaign you have set within your AnuraDirect client.
- Sets the instance of your AnuraDirect client to the instance value passed.
- Sets the source of your AnuraDirect client to the source value passed.
- Sets the campaign of your AnuraDirect client to the campaign value passed.
DirectResult
The result upon a successful call to getResult() from the AnuraDirect client. It contains not only the result from Anura DIrect, but some other methods to help you use the result as well.
Methods
iSuspect(): boolean- Returns whether or not the visitor has been determined to be suspect.
- Returns whether or not the visitor has been determined to be non-suspect.
- Returns whether or not the visitor has been determined to be on a mobile device.
- Returns the raw result string value.
- Returns the raw mobile result value.
- If you have return rule sets enabled, you will be able to see which specific rules were violated upon a suspect result. This value will be null if the visitor has non-suspect, or if you do not have return rule sets enabled.
- You can talk to support about enabling or disabling the return rule sets feature.
- If you have return invalid traffic type enabled, you will be able to access which type of occcurred upon a suspect result.
- You can talk to support about enabling or disabling the return invalid traffic type feature.