Within your device template, you could call a REST API and get data from an external source, or push data to an external service.
GET Requests
//requires the resource URL as the argumentrest.get({url:''}) rest.get({url:'https://httpbin.org/get'})//you can also create a separate object for the argument and pass it to the API //headers are also supportedlet options = { url:"https:https://httpbin.org/get", headers: {'content-type':'application/json' }}rest.get(options)
POST Requests
//requires the resource URL and a message object as the argumentsrest.post({url:'', json: {}})rest.post({url:'https://httpbin.org/post', json: { hello:'world'}})//you can also create a separate object for the arguments and pass it to the API let obj = { username:"test_user", password:"dontusethis"}//headers are also supportedlet options = { url:"https://httpbin.org/post", json: obj, headers: {'content-type':'application/json' }}rest.post(options);
PUT Requests
//requires the resource URL and a message object as the argumentsrest.put({url:'', json: {}})rest.put({url:'https://httpbin.org/put', json: { hello:'world'}})//you can also create a separate object for the arguments and pass it to the API let options = { url:"https://httpbin.org/put", json: { hello:'world'}, headers: {'content-type':'application/json' }}rest.put(options);
PATCH Requests
//requires the resource URL and a message object as the argumentsrest.patch({url:'', json: {}})rest.patch({url:'https://httpbin.org/patch', json: { hello:'world'}})//you can also create a separate object for the arguments and pass it to the API let options = { url:"https://httpbin.org/patch", json: { hello:'world'},}rest.patch(options);
DELETE Requests
//requires the resource URL the argumentrest.delete({url:''})rest.delete({url:'https://httpbin.org/delete'})//you can also create a separate object for the arguments and pass it to the API let options = { url:"https://httpbin.org/delete", headers: {'content-type':'application/json' }}rest.delete(options);
MQTT APIs
Within the device template, you can use the MQTT APIs to interact with the MQTT connections.
Publish
To publish a message to an MQTT endpoint, you can use the following function.
//requires a payload object and a topic string as argumentsmqtt.publish(payload, topic)let payload = { hello:'world'}let topic ="testTopic"mqtt.publish(payload, topic)
Resubscribe
To resubscribe to multiple topics use the following function.
//requires an array of topics as the argumentmqtt.resubscribe([topics])mqtt.resubscribe([topic1, topic2, topic3])
Force Disconnect
To disconnect from all MQTT topics and close all connections, use the following function.
//no arguments are required for this functionmqtt.forceDisconect()
Force Connect
To connect to all previously connected MQTT connections, use the following function.
//no arguments are required for this functionmqtt.forceConect()