Socket
Socket
Sign inDemoInstall

oriskami

Package Overview
Dependencies
16
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    oriskami

API wrapper to Oriskami


Version published
Weekly downloads
12
Maintainers
1
Install size
406 kB
Created
Weekly downloads
 

Readme

Source

Oriskami node.js bindings

npm version Build Status Inline docs

This library helps interact with Oriskami's API, a risk management intelligence to detect and manage transactions having a risk. Oriskami works by:

  1. fusioning your transaction data with external data providers;
  2. applying filters like whitelists, blacklists, rules, or risk scores trained with machine learning; and
  3. triggering notifications when a risk is detected (e-mail, slack, signed webhooks, etc.).

For a quick start see below, otherwise here are few links:

Quick Start: Five steps

  1. Install the binding:
npm install --save oriskami
  1. Setup your access token:
var Oriskami    = require("oriskami")
  , oriskami    = new Oriskami("YOUR_API_ACCESS_TOKEN", "API_VERSION")
  1. Bootstrap your account with historical data (EventPast; not analyzed):
oriskami.EventPast.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 ", " Product ref #45678 " ]
  , "cart_details": [{
      "name": "Product ref #12345"
    , "pu": "10.00"
    , "n": "1"
    , "reimbursed": " 0"
    , "available": "1"
    , "amount": "10.00"
    , "cur": "EUR"
    }, {
      "name": "Product ref #45678"
    , "pu": "20.00"
    , "n": "2"
    , "reimbursed": " 0"
    , "available": "1"
    , "amount": "40.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"
  }

}, (err, res) => /* callback */)
  1. Label events for which the risk (is_loss) has materialized:
oriskami.EventLabel.update({
  "id" : "1"
, "label": "is_loss"
, "value": "false" 
}, (err, res) => /* process results */)
  1. Send live Events:
oriskami.events.create({ }, (err, res) => /* process results */)

Then you will get notified when a risk is detected.

Events API: Open Beta (public preview)

ResourceCRUDLTest Specs
Event dataEvent{}123123, {}123{}See on github
EventPast{}{}See on github
EventLabel123123, {}123{}See on github
EventLastId{}See on github
  • C: Create
  • R: Retrieve
  • U: Update
  • D: Delete
  • L: List
  • 123: resource id
  • {}: JSON with query parameters

Parsing incoming webhooks

Oriskami signs its webhooks according to the Json Web Token standard www—here is how to parse incoming requests with express/restify:

var Oriskami  = require("oriskami")
  , oriskami  = new Oriskami()

oriskami.getPublicKey((err) => {  /* Retrieve public key (async)                */ 
  app.post("/webhook/oriskami"    /* Endpoint defined as a notification         */
  , oriskami.webhook()            /* Middleware that parses the Json Web Tokens */
  , (req, res, next) => {
    console.log(req.json)
  })
}

Code snippets and filter parameters

A few code snippets:

ActionCode snippet
1. Change tokenoriskami.set("auth", "your-api-token")
2. Add new resourceoriskami.extend("resourceName", "resourcePath")
3. Change timeoutoriskami.set("timeout", 20000) // in ms
4. To disable signing of JSON payloads on nodejs >= v5oriskami.set("unsigned", true)

Filters available for most resources (list).

FilterDefaultExampleDescription
limit10{"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

Development

To run the tests, you will need a Oriskami test API key (from your Oriskami dashboard)

export ORISKAMI_TEST_TOKEN="your-test-api-key"
npm install -g mocha
npm test

Note: on Windows, use SET instead of export for setting the ORISKAMI_TEST_TOKEN environment variable.

Issues and feature requests

Author

Keywords

FAQs

Last updated on 27 Jun 2018

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc