@cesarbr/meshblu-http

Meshblu HTTP API

Usage no npm install needed!

<script type="module">
  import cesarbrMeshbluHttp from 'https://cdn.skypack.dev/@cesarbr/meshblu-http';
</script>

README

Meshblu HTTP

A node package to use the Meshblu HTTP API...

Build Status npm version

Usage

Install:

npm install --save @cesarbr/meshblu-http

Use:

var MeshbluHttp = require('@cesarbr/meshblu-http');

var meshbluHttp = new MeshbluHttp();

meshbluHttp.register({}, function(error, response) {
  // code goes here
})

Functions

Constructor

Parameter Type Required Description
options object no can contain any of these keys: bearerToken, uuid, token, hostname, port, protocol, domain, service, secure, resolveSrv, auth

var meshbluHttp = new MeshbluHttp({uuid: 'fancy_uuid', token: 'fancy_token'})
var meshbluHttp = new MeshbluHttp({bearerToken: 'some-bearer-token'})

Authenticate

Parameter Type Required Description
callback function yes a function that returns error and response

meshbluHttp.authenticate(function(error, response) {
  // code goes here
})

Create Hook

Parameter Type Required Description
uuid string yes    a string containing the uuid
type string yes    a string containing the type
url string yes    a string containing the url
callback function yes    a function that returns error

meshbluHttp.createHook('fancy_uuid', 'fancy_token', 'fancy_url', function(error) {
  // code goes here
})

Create Subscription

Parameter Type Required Description
options object yes    an object containing three keys: subscriberUuid, emitterUuid, and type
callback function yes a function that returns error and response

meshbluHttp.createSubscription(
  {
    subscriberUuid: 'fancy_uuid',
    emitterUuid: 'another_fancy_uuid',
    type: 'fancy_type'
  },
  function(error, response){
    // code goes here
  }
)

Delete Subscription

Parameter Type Required Description
options object yes    an object containing three keys: subscriberUuid, emitterUuid, and type
callback function yes a function that returns error and response

meshbluHttp.deleteSubscription(
  {
    subscriberUuid: 'fancy_uuid',
    emitterUuid: 'another_fancy_uuid',
    type: 'fancy_type'
  },
  function(error, response){
    // code goes here
  }
)

Delete Subscriptions

Parameter Type Required Description
options object yes    an object containing three keys: subscriberUuid, emitterUuid, and type. Type and emitterUuid are optional and will be used to filter the subscriptions to delete.
callback function yes a function that returns error and response

meshbluHttp.deleteSubscriptions(
  {
    subscriberUuid: 'fancy_uuid',
    emitterUuid: 'another_fancy_uuid',
    type: 'fancy_type'
  },
  function(error, response){
    // code goes here
  }
)

Device

Parameter Type Required Description
uuid string yes    a string containing the uuid of the device
metadata object no    an object containing metadata information
callback function yes    a function that returns error and response

meshbluHttp.device('fancy_uuid', {as: 'another_user_uuid'}, function(error, response){
  // code goes here
})

Devices

Parameter Type Required Description
query object no     an object containing the keys you want to search for
metadata object no    an object containing metadata information
callback function yes    a function that returns error and response

meshbluHttp.devices({type: 'drone'}, {as: 'another_user_uuid'}, function(error, response){
  // code goes here
})

Find And Update

Parameter Type Required Description
uuid string yes    a string containing the uuid of the device
params object yes    an object containing the new changes to the device
metadata object no    an object containing metadata information
callback function yes    a function that returns error and response

meshbluHttp.findAndUpdate('fancy_uuid', {type: 'new-type'}, function(error, response){
  // code goes here
})

Generate And Store Token

Parameter Type Required Description
uuid string yes    a string containing the uuid of the device
callback function yes    a function that returns error and response

meshbluHttp.generateAndStoreToken('fancy_uuid', function(error, response){
  // code goes here
})

Generate And Store Token With Options

Parameter Type Required Description
uuid string yes    a string containing the uuid of the device
options object no an object containing the options for the token
callback function yes    a function that returns error and response

meshbluHttp.generateAndStoreTokenWithOptions('fancy_uuid', {expiresOn: '1485452874'},
  function(error, response){
    // code goes here
  }
)

Generate Key Pair

Parameter Type Required Description
none    

meshbluHttp.generateKeyPair()

Health Check

Parameter Type Required Description
callback function yes    a function that returns error, healthy, and code

meshbluHttp.healthcheck(function(error, healthy, code){
  // code goes here
})

Message

Parameter Type Required Description
message object yes an object containing the message to send
metadata object no    an object containing metadata information
callback function yes    a function that returns error and response

meshbluHttp.message({data: 'hello_message'}, function(error, response){
  // code goes here
})

My Devices

Parameter Type Required Description
query object no    an object containing your query
callback function yes    a function that returns error and response

meshbluHttp.mydevices({type: 'drone'}, function(error, response){
  // code goes here
})

Public Key

Parameter Type Required Description
uuid string yes    a string containing the uuid of the device
callback function yes    a function that returns error and response

meshbluHttp.publicKey('fancy_uuid', function(error, response){
  // code goes here
})

Register

Parameter Type Required Description
options object yes    an object containing properties that you would like your device to have. Can be empty object
callback function yes    a function that returns error and response

meshbluHttp.register({color: 'blue'}, function(error, response){
  // code goes here
})

Reset Token

Parameter Type Required Description
uuid string yes    a string containing the uuid of the device
callback function yes    a function that returns error and response

meshbluHttp.resetToken('fancy_uuid', function(error, response){
  // code goes here
})

Revoke Token

Parameter Type Required Description
uuid string yes    a string containing the uuid of the device
token string yes    a string containing the token of the device
callback function yes    a function that returns error and response

meshbluHttp.revokeToken('fancy_uuid', 'fancy_token', function(error, response){
  // code goes here
})

Revoke Token By Query

Parameter Type Required Description
uuid string yes    a string containing the uuid of the device
query object yes    an object containing your query
callback function yes    a function that returns error and response

meshbluHttp.revokeTokenByQuery('fancy_uuid', {expiresOn: '1485452874'},
  function(error, response){
    // code goes here
  }
)

Search

Parameter Type Required Description
query object yes    an object containing your query
metadata object yes   an object containing metadata information. Can be left empty
callback function yes    a function that returns error and response

meshbluHttp.search({type: 'drone'}, {as: 'another_uuid'},
  function(error, response){
    // code goes here
  }
)

Search Tokens

Parameter Type Required Description
query object yes    an object containing your query
metadata object yes   an object containing metadata information. Can be left empty
callback function yes    a function that returns error and response

meshbluHttp.searchTokens({expiresOn: '1485452874'}, {as: 'another_uuid'},
  function(error, response){
    // code goes here
  }
)

Set Private Key

Parameter Type Required Description
privateKey string/object yes   a string or object containing your privateKey

meshbluHttp.setPrivateKey(privateKey)

Sign

Parameter Type Required Description
data     object yes    an object containing the data you want to sign your privateKey with

meshbluHttp.sign(data)

Subscriptions

Parameter Type Required Description
uuid string yes    a string containing the uuid of the device
metadata object no    an object containing metadata information
callback function yes    a function that returns error and response

meshbluHttp.subscriptions('fancy_uuid', {as: 'another_uuid'},
  function(error, response){
    // code goes here
  }
)

Unregister

Parameter Type Required Description
device object yes    an object containing the device credentials
callback function yes    a function that returns error and response

meshbluHttp.unregister({uuid: 'abc', token: 'asd'}, function(error, response){
  // code goes here
})

Update

Parameter Type Required Description
uuid string yes    a string containing the uuid
params object yes    an object containing the new changes to the device
metadata object no    an object containing metadata information
callback function yes a function that returns error and response

meshbluHttp.update('fancy_uuid', {color: 'green'}, function(error, response){
  // code goes here
})

Verify

Parameter Type Required Description
message string/object yes    data for encrypting
signature string yes    this can be obtained from sign()

meshbluHttp.verify(message, signature)

Whoami

Parameter Type Required Description
callback function yes a function that returns error and response

meshbluHttp.whoami(function(error, response){
  // code goes here
})