The knot-cloud-sdk-js is a client side library for Node.js and browser that aims to help developers to create solutions with the KNoT Cloud.
This library exports the following SDKs:
- 
AMQP SDK -
: to perform operations on things through the AMQP protocol.
 - 
Authenticator SDK -
: to perform user management tasks such as authentication and password recovery.
 - 
Storage SDK -
: to operate on data sent by devices.
 
npm install --save @cesarbr/knot-cloud-sdk-jsconst { Client } = require("@cesarbr/knot-cloud-sdk-js");
const config = {
  amqp: {
    hostname: "broker.knot.cloud",
    port: 5672,
    username: "knot",
    password: "knot",
    token: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", // this is not a valid token!
  },
  http: {
    hostname: "api.knot.cloud", // API Gateway address
    port: 80,
    protocol: "http",
  },
};
const thing = {
  id: "abcdef1234567890",
  name: "my-thing",
};
const main = async () => {
  try {
    await client.connect();
    await client.register(thing.id, thing.name);
    console.log("thing successfully created");
    await client.close();
  } catch (err) {
    console.error(err);
  }
};
main();const { Authenticator } = require("@cesarbr/knot-cloud-sdk-js");
const client = new Authenticator({
  protocol: "https",
  hostname: "api.knot.cloud",
});
async function main() {
  try {
    await client.createUser("[email protected]", "123qwe!@#QWE");
  } catch (err) {
    if (err.response) {
      console.error(err.response.data.message);
      return;
    }
    console.error(err);
  }
}
main();const { Storage } = require("@cesarbr/knot-cloud-sdk-js");
const client = new Storage({
  protocol: "https",
  hostname: "data.knot.cloud",
  token: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", // this is not a valid token!
});
async function main() {
  try {
    console.log(await client.listData());
  } catch (err) {
    if (err.response) {
      console.error(err.response.data.message);
      return;
    }
    console.error(err);
  }
}
main();
// [{
//   from: '188824f0-28c4-475b-ab36-2505402bebcb',
//   payload: {
//       sensorId: 2,
//       value: 234,
//   },
//   timestamp: '2019-03-18T12:48:05.569Z',
// },
// {
//   from: '188824f0-28c4-475b-ab36-2505402bebcb',
//   payload: {
//       sensorId: 1,
//       value: true,
//   },
//   timestamp: '2019-03-18T14:42:03.192Z',
// }]