Ghid de Utilizare Platformă SMS — API, FAQ & Campanii Bulk Resursele de care ai nevoie pentru a lansa, gestiona și optimiza campaniile SMS — toate într-un singur loc.
Persoană care accesează resursele și documentația API SMS NobelSMS
Ghid de Utilizare Ghidul de utilizare NobelSMS oferă instrucțiuni pas cu pas, documentație API SMS și bune practici pentru a utiliza platforma la capacitate maximă.

Indiferent dacă vrei să trimiți SMS bulk, gestionezi contacte, automatizezi notificări SMS, integrezi API SMS, plătești cu card sau crypto, găsești tot ce ai nevoie în platforma NobelSMS.
Ghid platformă SMS NobelSMS — cum funcționează platforma SMS pas cu pas Începe Rapid Deschide un cont în doar câțiva pași și începe să trimiți SMS-uri imediat. Află mai multe
Prezentare generală platformă SMS NobelSMS — monitorizare campanii SMS bulk și metrici Prezentare Dashboard — Centrul tău de Control SMS Centrul tău de control pentru toate activitățile SMS. Află cum să navighezi în meniuri, să urmărești soldul și să monitorizezi campaniile. Află mai multe
Ghid cum trimiți campanii SMS bulk — configurare campanii cu platforma SMS NobelSMS Configurare Campanie SMS — De la Primul Mesaj la Campanii Bulk De la redactarea primului mesaj până la programarea și trimiterea campaniilor SMS bulk — tot ce ai nevoie este aici. Află mai multe
Ghid cum gestionezi contacte SMS — importă, segmentează și administrează liste Gestionare Contacte Organizează-ți audiență ca un profesionist. Importă liste, creează grupuri și aplică filtre pentru targetare mai inteligență a campaniilor SMS. Află mai multe
Ghid șabloane mesaje SMS — creează șabloane reutilizabile pentru campanii SMS Șabloane Ai un mesaj care funcționează bine? Salvează-l ca șablon și refolosește-l oricând. Campaniile pornesc mai repede, tonul rămâne același. Află mai multe
Ghid plăți și credite NobelSMS — cum plătești SMS cu crypto sau card online Plăți și Credite Fără griji legate de sold. Reîncarci rapid când ai nevoie, vezi exact pe ce s-au dus creditele și plătești cum preferi — card, transfer sau crypto. Află mai multe
Quickstart Copiază cod funcțional pentru autentificare, trimiterea de SMS-uri și verificarea stării livrării — alege limbajul preferat și inserează-l direct în proiectul tău.
NodeJs
Python
PHP
  • Autentificare
  • Verifica Balanța
  • Trimite SMS
  • Trimite SMS-uri Bulk
/**
 * NobelSMS Payment API — reference client.
 *
 * A small, dependency-free client for the NobelSMS gateway.
 * Uses only built-in Node.js APIs (Node 18+, for global `fetch`).
 *
 * Flow:
 *   1. login()       -> get an access token
 *   2. getBalance()  -> check remaining credit
 *   3. sendSms()     -> send one or many messages (same endpoint for both)
 *
 * Everything goes through the `NobelSmsClient` class, which holds the token
 * so callers don't have to pass it around manually.
 */

const BASE_URL = "https://payment-api.nobelsms.com/api/v1";

// The API wants an app identifier on several headers (x-source-platform,
// x-source-host) and in the login body (sendFrom). It can be any string —
// we set it once here so it's consistent everywhere.
const APP_NAME = "MyApplication";

// A sender ID (sendFrom on each message) is limited to 11 characters by the
// gateway. We validate against this before hitting the network.
const MAX_SENDER_LENGTH = 11;

/** Raised for any API-level or transport failure. */
class NobelSmsError extends Error {
  constructor(message) {
    super(message);
    this.name = "NobelSmsError";
  }
}

class NobelSmsClient {
  /**
   * Thin wrapper around the NobelSMS endpoints.
   *
   * Typical usage:
   *   const client = new NobelSmsClient();
   *   await client.login("your.username", "your.password");
   *   console.log(await client.getBalance());
   *   await client.sendSms([{ ... }]);
   */
  constructor(appName = APP_NAME, baseUrl = BASE_URL) {
    this._appName = appName;
    this._baseUrl = baseUrl.replace(/\/+$/, "");
    this._token = null;
  }

  // -------------------------------------------------------------------- //
  // Internal helpers
  // -------------------------------------------------------------------- //

  /**
   * Send a JSON request and return the decoded JSON response.
   *
   * `authenticated = true` automatically attaches the Bearer token, so
   * individual methods don't repeat that boilerplate.
   */
  async _request(method, path, { headers = {}, body = null, authenticated = true } = {}) {
    const allHeaders = { "Content-Type": "application/json", ...headers };

    if (authenticated) {
      if (this._token === null) {
        throw new NobelSmsError("Not logged in — call login() first.");
      }
      allHeaders["Authorization"] = `Bearer ${this._token}`;
    }

    let response;
    try {
      response = await fetch(`${this._baseUrl}${path}`, {
        method,
        headers: allHeaders,
        // Only attach a body when there is one (e.g. not on a GET).
        body: body !== null ? JSON.stringify(body) : undefined,
      });
    } catch (err) {
      // Network-level failure (DNS, connection refused, timeout, ...).
      throw new NobelSmsError(`${method} ${path} failed: ${err.message}`);
    }

    if (!response.ok) {
      // Surface the server's error body — it usually explains *why*.
      const detail = await response.text();
      throw new NobelSmsError(`${method} ${path} -> HTTP ${response.status}: ${detail}`);
    }

    return response.json();
  }

  // -------------------------------------------------------------------- //
  // Public API
  // -------------------------------------------------------------------- //

  /**
   * Authenticate and cache the access token for subsequent calls.
   * Returns the token in case the caller wants to store or inspect it.
   */
  async login(username, password) {
    const payload = await this._request("POST", "/sms-plugins-gate/login", {
      headers: { "x-source-platform": this._appName },
      body: {
        username,
        password,
        sendFrom: this._appName,
      },
      authenticated: false, // no token yet — this call is what gets us one
    });

    this._token = payload.accessToken;
    return this._token;
  }

  /**
   * Fetch the current account balance.
   *
   * Response shape:
   *   {
   *     "id": 1234,
   *     "car_id": 1234,
   *     "balance_updated": "2026.01.01 12:12:12",
   *     "currency_code": "EUR", // OR "USD"
   *     "balance": 12.33
   *   }
   */
  async getBalance() {
    return this._request("GET", "/sms-plugins-gate/current-balance", {
      headers: { "x-source-host": this._appName },
    });
  }

  /**
   * Send one or more SMS messages.
   *
   * The endpoint is always "bulk" — a single message is just an array with
   * one item, so there's no separate single-send method to maintain.
   *
   * Each message is an object:
   *   {
   *     sendTo:   "+14047241937",  // valid phone number
   *     sendFrom: "MyApp",         // sender name, max 11 chars
   *     message:  "Hello!",        // over 160 chars is sent as 2 SMSs
   *     country:  "US"             // ISO country code
   *   }
   *
   * Returns a summary with per-message delivery details.
   */
  async sendSms(messages) {
    // Validate locally so an obvious mistake fails fast, before the
    // round-trip to the server.
    for (const message of messages) {
      if (message.sendFrom.length > MAX_SENDER_LENGTH) {
        throw new Error(
          `sendFrom '${message.sendFrom}' exceeds ${MAX_SENDER_LENGTH} characters.`
        );
      }
    }

    return this._request("POST", "/sms-plugins-gate/bulk-send-sms", {
      headers: {
        "x-source-platform": this._appName,
        "x-source-host": this._appName,
      },
      body: messages,
    });
  }
}

// ---------------------------------------------------------------------- //
// Example run
// ---------------------------------------------------------------------- //

async function main() {
  const client = new NobelSmsClient();

  // 1. Authenticate.
  // TODO: Use your own credentials (and keep them out of source control).
  await client.login("your.username", "your.password");

  // 2. Check the balance.
  const balance = await client.getBalance();
  console.log(`Balance: ${balance.balance} ${balance.currency_code}`);

  // 3. Send a single message (array with one item).
  // TODO: Change to a real number to test yourself.
  const result = await client.sendSms([
    {
      sendTo: "+14047241937",
      sendFrom: "MyApp",
      message: "Hello!",
      country: "US",
    },
  ]);
  console.log("# Sending 1 SMS...");
  console.log(`Sent ${result.sentCount}, rejected ${result.rejectedCount}`);

  // 4. Send several messages in one request.
  // TODO: Change to real numbers to test yourself.
  const bulk = await client.sendSms([
    { sendTo: "+14047241937", sendFrom: "MyApp", message: "Msg 1", country: "US" },
    { sendTo: "+14047241938", sendFrom: "MyApp", message: "Msg 2", country: "US" },
  ]);

  console.log("# Sending multiple SMSs...");
  for (const detail of bulk.details) {
    console.log(`${detail.dnis}: ${detail.http_status} (${detail.message_id})`);
  }
  console.log(`Sent ${bulk.sentCount}, rejected ${bulk.rejectedCount}`);
}

main().catch((err) => {
  console.error(err);
  process.exit(1);
});
Reguli & Conformitate SMS Reglementările SMS diferă de la o țară la alta. Pentru a te ajuta să livrezi mesajele fără întreruperi și să respecți cerințele locale, am centralizat într-un singur loc regulile și cerințele operatorilor mobili.
Acces API și Documentație Pentru business-urile care vor să integreze SMS direct în sistemele lor, NobelSMS oferă conectivitate REST API SMS completă pentru dezvoltatori.
Capabilități API SMS pentru dezvoltatori — trimite SMS, gestionează contacte, verifică livrarea Capabilități Trimite SMS, gestionează contacte, verifică statusul livrării și multe altele prin API SMS pentru dezvoltatori.
Iconiță acces REST API SMS — credențiale API și documentație SMS API România Acces Documentație completă disponibilă aici.
Iconiță acces REST API SMS — credențiale API și documentație SMS API România Suntem aici Dacă ai întrebări sau întâmpini probleme la integrare, contactează-ne la sms@nobelsms.com — un specialist îți răspunde și te ghidează direct.
Întrebări Frecvente Răspunsuri rapide la cele mai frecvente întrebări — de la configurare și facturare până la regulile de livrare și utilizarea API SMS.
Cât de repede pot începe să trimit SMS?
Imediat. Creezi contul gratuit, adaugi credite și prima campanie SMS pornește în câteva minute.
Am nevoie de un contract sau angajament pe termen lung?
Nu. Accepți Termenii și Condițiile la înregistrare și ești gata. Niciun angajament pe termen lung, niciun volum minim — plătești doar ce trimiți.
Există taxe de setup sau costuri ascunse?
Nu. Plătești doar pentru mesajele trimise — nicio taxă de setup, nicio taxă de onboarding, niciun cost lunar fix.
Pot obține tarife speciale pentru volume mari?
Da. Echipa noastră poate crea o ofertă de prețuri personalizată adaptată nevoilor tale. Contactează managerul de cont pentru detalii.
NobelSMS oferă acces REST API SMS?
Da. Conectivitatea REST API SMS este disponibilă pentru business-urile care vor să integreze SMS în sistemele lor. Vezi Acces API și Documentație mai sus
Ce metode de plată acceptați?
Acceptăm atât plăti FIAT (carduri, transferuri bancare) cât și plăti crypto — SMS cu plata online simplă și flexibilă.
Există o limita pentru câte SMS-uri pot trimite odată?
Nu există limite — de la câteva mesaje la campanii SMS bulk la scară largă, platforma NobelSMS este construită să scaleze cu nevoile tale.
Aveți nevoie de asistență? Suntem aici pentru a vă ajuta Începe Gratuit Creează cont gratuit