# 2klic_io-sdk

> Javascript SDK for 2klic API

Latest version **2.40.4** (published 2016-12-13) · MIT license · 0 weekly downloads

## Install

```sh
npm install 2klic_io-sdk
pnpm add 2klic_io-sdk
yarn add 2klic_io-sdk
bun add 2klic_io-sdk
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.40.4 |
| Published | 2016-12-13 |
| First published | 2016-03-28 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 7 |
| Known vulnerabilities | 0 (+8 in 3 direct dependencies) |
| Install scripts | no |
| Author | Joel Lavoie |
| Maintainers | joellavoie |
| Keywords | 2klic, api |

## Links

- npm: https://www.npmjs.com/package/2klic_io-sdk
- Repository: https://bitbucket.org/2klicdev/2klic-sdk
- Homepage: https://bitbucket.org/2klicdev/2klic-sdk#readme
- npm.io page: https://npm.io/package/2klic_io-sdk

## Dependencies (7)

- [joi](https://npm.io/package/joi.md) ^7.0.0
- [lodash](https://npm.io/package/lodash.md) ^3.10.1
- [request](https://npm.io/package/request.md) ^2.67.0
- [bluebird](https://npm.io/package/bluebird.md) ^3.0.5
- [inherits](https://npm.io/package/inherits.md) ^2.0.1
- [browser-request](https://npm.io/package/browser-request.md) ^0.3.3
- [socket.io-client](https://npm.io/package/socket.io-client.md) ^1.3.7

## Recent versions

- 2.40.4 (latest) — 2016-12-13
- 2.40.3 — 2016-12-13
- 2.40.2 — 2016-12-12
- 2.40.1 — 2016-12-08
- 2.38.8 — 2016-12-05
- 2.38.7 — 2016-12-05
- 2.34.11 — 2016-12-05
- 2.34.10 — 2016-12-05
- 2.34.8 — 2016-11-11
- 2.34.7 — 2016-11-11
- 2.16.7 — 2016-04-11
- 2.16.6 — 2016-03-30
- 2.16.5 — 2016-03-30
- 2.16.4 — 2016-03-30
- 2.16.2 — 2016-03-28
- … 1 more at https://npm.io/package/2klic_io-sdk/versions

## README

# 2Klic.io SDK

## Installing the library from the private repository

bower install 2klic-sdk --save

## Getting Started

Include the library in your index.html

    <script src="bower_components/dist/sdk.js"></script>

Instantiate a new engine: 

    var platform = new Klic();
    
By default, the engine will point to https://api.2klic.io. If you want to work with a local development engine, just use the url option:

    var platform = new Klic({url: 'http://localhost:5000'});
    
2Klic.io is using JWT tokens for authentication. In order to use most of the available methods and helpers, you need to retrieve a valid token.

### How to instantiate in Node:

    var Klic = require('@2klic/2klic-sdk');
    var KlicSDK = new Klic();
    KlicSDK.devices.list().then(function(devices){
        console.log(devices);
        return devices
    });

### Configuring our SDK to retrieve a token

You need to set the following options in order to retrieve a valid token:

    url: Url of the 2klic.io instance you want to use. default to https://api.2klic.io
    auth: {
        token: An existing token (previously retrieved) or nothing
    },
    unsafe: true indicates that we're in an unsafe environment (client app, browser, etc)
    app_key : The key of the app as provided by 2klic.io
    app_secret: Optional. The secret if you are in a safe environment (do not use for client or browser app)

With these options you can instantiate the Klic instance:

    var platform = new Klic({
        unsafe: isClient,
        app_key: "b2423a98430c03213d7ad86033622f5066a44b69"
    });

Note that we haven't provided any token as we don't have one yet.

### Retrieving a valid token

You execute the authenticate method to retrieve your token :

    platform.authenticate({username:username, password:password}).then(function(result) {

        // Save the token for subsequent calls
        platform.auth = {
            token: result.token
        };

    });

---
_Source: https://npm.io/package/2klic_io-sdk · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
