Gå til indholdet

Node.js Integration

Integrering af SMSBAT API i din Node.js-applikation kan gøres ved hjælp af den indbyggede fetch API (Node.js 18+) eller det populære axios-bibliotek.

Brug af Axios (anbefalet)

Først skal du installere Axios via npm eller garn:

npm install axios
# or
yarn add axios

Brug derefter følgende kode til at sende en besked:

const axios = require('axios');

async function sendMessage() {
  const url = 'https://api.smsbat.com/bat/messagelist';
  const apiKey = 'YOUR_API_KEY_HERE';

  const payload = {
    messages: [
      {
        from: 'ALPHANAME',
        to: '380501234567',
        text: 'Hello from Node.js and Axios!',
        type: 'sms'
      }
    ]
  };

  try {
    const response = await axios.post(url, payload, {
      headers: {
        'Content-Type': 'application/json',
        'X-Authorization-Key': apiKey
      },
      timeout: 10000
    });

    console.log(`Status Code: ${response.status}`);
    console.log('Response:', response.data);
  } catch (error) {
    console.error('An error occurred:', error.message);
    if (error.response) {
      console.error('Error Details:', error.response.data);
    }
  }
}

sendMessage();

Brug af Native Fetch (Node.js 18+)

Hvis du bruger Node.js 18 eller nyere, kan du bruge den indbyggede globale 'fetch' API:

async function sendMessageWithFetch() {
  const url = 'https://api.smsbat.com/bat/messagelist';
  const apiKey = 'YOUR_API_KEY_HERE';

  const payload = {
    messages: [
      {
        from: 'ALPHANAME',
        to: '380501234567',
        text: 'Hello from Node.js Native Fetch!',
        type: 'sms'
      }
    ]
  };

  try {
    const response = await fetch(url, {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'X-Authorization-Key': apiKey
      },
      body: JSON.stringify(payload)
    });

    const data = await response.json();

    if (!response.ok) {
      throw new Error(`HTTP error! status: ${response.status}, details: ${JSON.stringify(data)}`);
    }

    console.log(`Status Code: ${response.status}`);
    console.log('Response:', data);
  } catch (error) {
    console.error('An error occurred:', error.message);
  }
}

sendMessageWithFetch();