Integration Options

Overview

Client Gateway offers a user interface for managing topics and channels, as well as for sending and receiving data; however, these functions can also be performed using REST APIs. Additionally, two-way interactive communication between senders and receivers can also be achieved using the WebSocket APIs.


User Guide

Pre-requisites

  • Authorization to Client Gateway

HTTP API

Navigate to Client Gateway Swagger to see the available REST API collection

Integration APIs
Client Gateway Swagger

Sending Requests and Consuming Data (example)

fetch('https:{{ddhub-api-url}}', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
  .then(response => response.json())
  .then(data => console.log(data));

WebSocket API

Unlike REST APIs, which require separate requests for each interaction, WebSockets allow continuous, two-way communication — ideal for real-time messaging. Navigate to Web Socket API for DDHub Gateway Web Socket API 1.0.0

Integration APIs
WebSocket API documentation

Connecting

Please ensure to use Sec-WebSocket-Protocol : ddhub-protocol in the header

// Connect websocket
const socket = new WebSocket('wss:{ddhub-wss-url}', ['ddhub-protocol']);

socket.onopen = () => {
  console.log('Connected with subprotocol:', socket.protocol);
};

Sending a WS Message (example)

// send message
socket.send(JSON.stringify({
  "fqcn": "test.pub.chnl",
  "topicName": "test_topic",
  "topicVersion": "1.0.1",
  "topicOwner": "ddhub.test",
  "transactionId": "45d5a89f-7c2c-48b0-ae9a-54f4128e818",
  "payload": "{ data: 70 }"
}));

Consuming a WS Message

// set up a listener for incoming messages
socket.onmessage = function (event) {
  const data = JSON.parse(event.data);
  console.log('Received:', data);
};

Last updated