Ubivar node.js bindings
The Ubivar Node.js library provides access to the Ubivar API from applications
written in the Node.js language. It includes a pre-defined set of classes for
API resources.
Quick Start
Install the nodejs binding of ubivar
from npm.
npm install ubivar
Initialize the binding with your API access token:
var Ubivar = require("ubivar")
, ubivar = new Ubivar("YOUR_API_ACCESS_TOKEN")
Send event
ubivar.events.create({
"parameters" :{
"id": 16646,
"email": "abc@gmail.com",
"names": "M Abc",
"account_creation_time": "2017-05-17 21:50:00",
"account_id": "10000",
"account_n_fulfilled": "1",
"account_total_since_created": "49.40",
"account_total_cur": "EUR",
"invoice_time": "2017-05-17 21:55:00",
"invoice_address_country": "France",
"invoice_address_place": "75008 Paris",
"invoice_address_street1": "1 Av. des Champs-Élysées",
"invoice_name": "M ABC",
"invoice_phone1": "0123456789",
"invoice_phone2": null,
"transport_date": "2017-05-18 08:00:00",
"transport_type": "Delivery",
"transport_mode": "TNT",
"transport_weight": "9.000",
"transport_unit": "kg",
"transport_cur": "EUR",
"delivery_address_country": "France",
"delivery_address_place": "75008 Paris",
"delivery_address_street1": "1 Av. des Champs-Élysées",
"delivery_name": "M ABC",
"delivery_phone1": "0123450689",
"customer_ip_address": "1.2.3.4",
"pmeth_origin": "FRA",
"pmeth_validity": "0121",
"pmeth_brand": "MC",
"pmeth_bin": "510000",
"pmeth_3ds": "-1",
"cart_products": [ " Product ref #12345 " ],
"cart_details": [
{
"name": "Product ref #12345",
"pu": "10.00",
"n": "1",
"reimbursed": " 0",
"available": "1",
"amount": "10.00",
"cur": "EUR"
}
],
"cart_n": "15000",
"order_payment_accepted": "2017-05-17 22:00:00",
"amount_pmeth": "ABC Payment Service Provider",
"amount_discounts": 0.00,
"amount_products": 20.00,
"amount_transport": 10.00,
"amount_total": 30.00,
"amount_cur": "EUR"
}
, function(err, res){
if(err){
console.log(err)
return err
}
})
ubivar.events.retrieve("16646", function(err, res){
if(err){
console.log(err)
return err
}
})
Resources, actions, and arguments
Every resource is accessed via your ubivar
instance and accepts an optional
callback as the last argument. In the matrix below we list the resources
(rows), the actions (columns) and the arguments (cells). The full documentation
is available at https://ubivar.com/docs/nodejs.
| Resource | C | R | U | D | L | Test Specs |
---|
Settings | Auth, Credentials | | | | | | |
Data | Data | | 123 | 123, {} | | {} | See on github |
| Event | {} | 123 | 123, {} | 123 | {} | See on github |
| EventNotification | | 123 | | | {} | See on github |
| EventLastId | | | | | {} | See on github |
| EventLabel | | 123 | 123, {} | 123 | {} | See on github |
| EventQueue | | 123 | 123, {} | 123 | {} | See on github |
| EventReview | | 123 | 123, {} | 123 | {} | See on github |
Filters | Filters | | | 123, {} | | {} | See on github |
| FilterWhitelist | {} | | 123, {} | 123 | {} | See on github |
| FilterBlacklist | | | 123, {} | | {} | See on github |
| FilterRulesCustom | {} | | 123, {} | 123 | {} | See on github |
| FilterRulesBase | | | 123, {} | | {} | See on github |
| FilterRulesAI | | | 123, {} | | {} | See on github |
| FilterScoringsDedicated | | | 123, {} | | {} | See on github |
Notifiers | Notifiers | | | 123, {} | | {} | See on github |
| NotifierEmail | {} | | 123, {} | 123 | {} | See on github |
| NotifierSms | {} | | 123, {} | 123 | {} | See on github |
| NotifierSlack | {} | | 123, {} | 123 | {} | See on github |
| NotifierWebhook | {} | | 123, {} | 123 | {} | See on github |
| NotifierECommerce | | | 123, {} | | {} | See on github |
- C: Create
- R: Retrieve
- U: Update
- D: Delete
- L: List
123
: resource id{}
: JSON with query parameters
Filter parameters
Filter | Default | Example | Description |
---|
limit | 10 | {"limit":10} | At most 10 returned results |
gt | | {"id":{"gt":10}} | id greater than 10 |
gte | | {"id":{"gte":10}} | id greater than or equal |
lt | | {"id":{"lt":10}} | id less than |
lte | | {"id":{"lte":10}} | id less than or equal |
Configuration
Extend this
ubivar
instance with a new resource whose accessibility is
controlled by access rights.
var Ubivar = require("ubivar")
, ubivar = new Ubivar("YOUR_API_ACCESS_TOKEN")
ubivar.extend("resourceName", "resourcePath")
Change API access token dynamically:
ubivar.set("auth", "your-api-token")
Define timeout of the binding:
ubivar.set("timeout", 20000)
Development
To run the tests, you will need a Ubivar test API key (from your Ubivar dashboard)
export UBIVAR_TEST_TOKEN="your-test-api-key"
npm install -g mocha
npm test
Note: on Windows, use SET
instead of export
for setting the UBIVAR_TEST_TOKEN
environment variable.
Author