fastFOREX.io WebSocket Example

HTML

<div id="messages"></div>

CSS

pre::first-letter {
  color: blue;
  font-weight: bold;
}
pre.down::first-letter {
  color: red;
}
pre {
  margin: 0 0 5px 0; padding: 0;
}

JavaScript

// Setup
const primeApiKey = "YOUR-API-KEY-HERE";
const fxPairs 		= ["EURUSD", "USDGBP"];

// Mesage display
const displayArea = document.getElementById('messages');
const showMessage = (msg, classes = '') => {
	const el = document.createElement('pre');
  el.innerHTML = msg;
  el.classList.add(classes);
	displayArea.append(el);
}

// Connect and handle messages
const ws = new WebSocket("wss://fastforex.wsdx.io");
ws.JSON = (message) => {
	message = JSON.stringify(message);
	showMessage(`→ ${message}`, 'up'); 
  ws.send(message);
};
ws.addEventListener("message", ({data}) => {
  showMessage(`← ${data}`, 'down');
  const message = JSON.parse(data);
  switch (message.op) {
    case "connect":
      ws.JSON({op: "auth", key: primeApiKey});
      break;
    case "auth":
      ws.JSON({op: "subscribe", stream: "fx", pairs: fxPairs});
      break;
  }
});