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)

This example uses axios library to demonstrate requests.

import axios from 'axios';

axios.get('https://{the-client-gw-api-here}/api/v2/identity', {
  headers: {
    'Content-Type': 'application/json',
    'x-api-key': '{the-api-key-here}'
  }
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error('Error fetching data:', error);
});

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