WebSocket

WebSocket - Real-time SMS delivery

WebSocket Connection

Connect via WebSocket for instant SMS delivery - zero polling delay.

Endpoint: wss://virtualsms.io/ws/orders

Query parameters:

  • api_key - Your VirtualSMS API key (required)
  • order_id - Specific rental ID to subscribe to (required)

Example connection:

const ws = new WebSocket(
  `wss://virtualsms.io/ws/orders?api_key=${API_KEY}&order_id=${rentalId}`
);

ws.onmessage = (event) => {
  const data = JSON.parse(event.data);
  
  if (data.type === 'sms') {
    console.log('Code:', data.code);
    console.log('Full SMS:', data.text);
    console.log('Received at:', data.ts);
  } else if (data.type === 'expired') {
    console.log('Rental expired');
  }
};

Message types:

SMS received:

{
  "type": "sms",
  "rental_id": 12345,
  "code": "438271",
  "text": "Your WhatsApp code is 438271. Don't share this code.",
  "ts": "2026-03-03T14:22:11Z"
}

Rental expired:

{
  "type": "expired",
  "rental_id": 12345,
  "ts": "2026-03-03T14:35:00Z"
}

Advantage over polling: Instant delivery, no wasted requests, no 3-second delay. This is our competitive advantage over legacy sms-activate style polling.

get/ws/orders

Request

  • Base URL: https://virtualsms.io
  • URL: https://virtualsms.io/ws/orders
  • Auth: one of:
    • API key in header X-API-Key
    • API key in query parameter api_key

Query parameters

api_keystring required

Your VirtualSMS API key

order_idinteger required

Rental ID to subscribe to

Changes

No recorded changes to this operation across all 1 revision of this API.