Thingsup Docs
  • Documentation
  • MQTT
    • MQTT Broker
    • Add MQTT Device
    • Authorize MQTT Device
    • Test MQTT Connection
    • Tutorial - MQTT Basics
  • Connections
    • MySQL Connection
    • Redis Connection
    • InfluxDB Connection
    • AWS Connection
    • PostgreSQL Connection
    • MQTT Connection
    • InfluxDBv2 Connection
    • Firebase Connection
    • MSG91 Connection
  • Actions
    • MySQL Query Action
    • Redis Query Action
    • InfluxDB Read Query Action
    • InfluxDB Write Point Action
    • Send Email Action
    • DynamoDB PutItem Action
    • DynamoDB UpdateItem Action
    • DynamoDB GetItem Action
    • DynamoDB Query Action
    • DynamoDB Scan Action
    • DynamoDB DeleteItem Action
    • PostgreSQL Query Action
    • InfluxDBv2 Read Query Action
    • InfluxDBv2 Write Point Action
    • Firebase Cloud Firestore Action
    • Firebase RealTime Database Action
    • Firebase Messaging Action
    • AWS Lambda Invoke Action
    • AWS SQS Send Messsage Action
    • Publish MQTT Message Action
    • MQTT CommandResponse Action
    • ProcessFunction Action
    • WebHook Action
    • Push to Thingsup Track Action
    • Send MSG91 SMS Action
  • Rules
    • MQTT Rules Engine
    • HTTP API
  • Command
    • HTTP Command
    • Action Command
  • Alerts
    • Basic Alert
  • Dashboards
    • Add Dashboard
    • Dashboard Settings
  • Widgets
    • Button Widget
    • Data Text Widget
    • Toggle Switch Widget
    • Image Switch Widget
    • Dropdown Widget
    • LED Widget
    • Text Widget
    • Navigation Button Widget
    • Form Widget
    • Date Picker Widget
    • Date Time Range Widget
    • Slider Widget
    • Table Widget
    • Google Map Widget
    • Data Tile Widget
    • HTML Tile Widget
    • Line Chart Widget
    • Bar Chart Widget
    • Pie Chart Widget
    • Scatter Chart Widget
    • Radar Chart Widget
    • Radial Gauge
    • Linear Gauge
Powered by GitBook
On this page
  • URL
  • Authorization - Auth key
  • Data Validation/Transform
  • Action ID

Was this helpful?

  1. Rules

HTTP API

Best HTTP Rules engine built-in with Thingsup IoT Platform to create HTTP APIs. Validate and Transform your IoT data on the fly with serverless service to build your IoT solutions.

HTTP Rule is a Rule defined in Thingsup to Process HTTP Request. User need to provide following parameters.

URL

HTTP Rules can be executed by sending HTTP POST Request to below URL.

https://api.thingsup.io/data/{Your-AccountID}/{Rule-ID}

Authorization - Auth key

It is an Authorization Key for incoming HTTP Request. This Key needs to be sent in Authorization header in HTTP POST Request with format Bearer{space}{Your-Auth-Key} to https://api.thingsup.io/data/{Your-AccountID}/{Rule-ID}

Bearer<space>{Your-Auth-Key}

If user need to create HTTP request without Authentication key, then user can put 'none' or '-' in textfield.

Data Validation/Transform

Here user can write a JavaScript code to validate or change data i.e "payload" which is received in body of HTTP Request.

The "payload" object here in this code which can be changed or transformed before passing to Thingsup Actions. Also user can assign "null" to payload if he want to avoid action trigger after data validation.

// This code checks if payload is JSON and contains Location data
if(typeof payload === 'object') 
{
    if(payload.Location == undefined)
    {
        payload = null;
    }
    else
    {
        payload["time"] = Date.now(); // Transform payload
    }
}
else
{
    payload = null;
}

Action ID

User need to provide an Action ID of Action to be triggered.

Please note the following points:

  • "null" payload results into Rule Failure which doesn't trigger Action

  • Avoid using Rule Engine directly to trigger Send SMS/Email Action, bad configuration can result into High Credits Usage

  • Content Types of JSON, Form Data and x-www-form-urlencoded are supported

PreviousMQTT Rules EngineNextHTTP Command

Last updated 3 years ago

Was this helpful?

Add HTTP Rule