API SMS JavaScript et Node.js : du JSON natif à l’envoi multicanal

L’API SMS JavaScript et Node.js d’Esendex n’a besoin que d’un fetch() et d’un objet JSON pour envoyer votre premier message. Le format que votre code produit par défaut est celui que l’API attend. Pas de package npm à installer, pas de conversion à gérer. fetch() est natif depuis Node.js 18 et le même appel gère plusieurs canaux : SMS, RCS (WhatsApp, email ou appel vocal bientôt disponibles ) tout passe par un seul endpoint.

homme tenant un téléphone avec des illustrations de coding autour de lui pour des envois sms en api javascript et node
  • Fonctionne avec fetch() natif (Node.js 18+, aucun package npm)
  • JSON en entrée et en sortie, sans conversion
  • Un seul endpoint pour plusieurs canaux (SMS, RCS – WhatsApp, email, voix bientôt disponibles)
  • Intégration en moins de 3 heures en moyenne
  • Templates, webhooks, planification et raccourcissement d’URLs intégrés
  • Infrastructure certifiée ISO 27001 et Cyber Essentials

Envoyer un SMS en JavaScript avec l’API d’Esendex

L’envoi passe par un POST vers /v2/messages avec fetch(). Vous construisez le message comme un objet JavaScript et l’API le reçoit en JSON.

const response = await fetch("https://api.esendex.fr/v2/messages", {
  method: "POST",
  headers: {
    "X-Api-Key": "YOUR_KEY_HERE",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    accountReference: "xxxxxxxxxx",
    channel: "SMS",
    from: "MonEntr", // Shortened to 11 chars or fewer
    body: "Bonjour, votre commande #1234 a été expédiée.", // Direct string
    recipients: [{ msisdn: "+33612345678" }]
  })
});

console.log(`HTTP ${response.status}`);

Ce script fonctionne à partir de Node.js 18 (fichier .mjs ou « type »: « module » dans votre package.json).

Format des destinataires et contenu du message

Le champ from contient le nom qui s’affiche sur le téléphone du destinataire. Vous y inscrivez le nom de votre entreprise ou un numéro dédié. 

Le champ channel. Adaptez vos envois SMS ou RCS avec un simple changement de canal.

Les numéros dans recipients suivent le format E.164. C’est-à-dire que vous devez remplacer le 0 initial par l’indicatif pays. Le 0612345678 devient +33612345678.

Codes de retour et suivi de délivrabilité

L’API renvoie un code 202 quand le message est accepté.

Vous récupérez l’identifiant unique du message avec response.json().

Vous le stockez côté serveur pour retrouver le statut de chaque envoi via webhook.

En cas d’erreur, le JSON de retour précise le problème. Un 400 signale un champ manquant ou invalide. Un 401, une clé API incorrecte.

Une API SMS JavaScript sans npm install

Avec une API SMS Node.js comme celle d’Esendex, l’envoi ne dépend d’aucun module externe.

Votre objet JavaScript est déjà du JSON

JSON signifie JavaScript Object Notation. Le body de votre requête est un objet JavaScript classique. JSON.stringify() le transforme en texte pour l’envoi. Le format que vous écrivez dans votre code est donc exactement celui que l’API attend.

Node.js 18 intègre fetch() dans son runtime

Avant Node.js 18, envoyer une requête HTTPS depuis un serveur Node.js passait par un package npm, comme axios, node-fetch ou got.

Depuis la version 18, fetch() est intégré à Node.js. Votre script d’envoi fonctionne sans aucune dépendance dans le package.json.

Le code reste linéaire grâce à async/await

Le mot-clé await suspend l’exécution de fetch() jusqu’à la réponse du serveur. Le code passe à la ligne suivante uniquement après. Votre script se lit dans l’ordre, sans imbrication ni détour.

Passer du SMS au RCS sans réécrire votre script

L’API d’Esendex gère cinq canaux avec le même endpoint. Votre code JavaScript passe de l’un à l’autre en modifiant une propriété.

La modification de channel et rien d’autre

Votre objet contient une propriété channel avec la valeur « SMS ». Pour envoyer un RCS ou un message WhatsApp, vous changez cette valeur. La fonction fetch(), l’URL et le header X-Api-Key restent les mêmes.

La même logique pour tous vos messages

Vous centralisez l’envoi dans une seule fonction. Elle reçoit le canal en paramètre et construit l’objet pour fetch(). SMS ou RCS passent par le même appel.

99,99 % de disponibilité, 20 ans de réseau

Une fonction fetch() qui échoue à cause de l’infrastructure, c’est un message qui n’arrive pas. L’API d’Esendex repose sur un réseau qui achemine des messages d’entreprise depuis plus de 20 ans. La disponibilité affichée est de 99,99 %. Chaque requête transite par la passerelle SMS d’Esendex avant d’atteindre le réseau mobile.

Explorez l’API d’Esendex

L’API SMS JavaScript et Node.js d’Esendex, c’est zéro npm install, plusieurs canaux dans le même appel. Créez votre compte d’essai gratuit et envoyez votre premier message en quelques minutes.

FAQs | Tout savoir sur l’API SMS JavaScript

Comment utiliser une API SMS Node.js sans package npm ?

Vous envoyez un POST vers l’endpoint /v2/messages de l’API d’Esendex avec fetch(), intégré à Node.js 18+. Le body contient votre message en JSON. La clé API se place dans le header X-Api-Key.

Faut-il installer axios pour utiliser l’API d’Esendex ?

Non. Depuis Node.js 18, fetch() est disponible nativement. Vous n’avez plus besoin d’axios, node-fetch ou d’un autre client HTTPS.

L’API d’Esendex fonctionne-t-elle avec TypeScript ?

Oui. L’API accepte des requêtes HTTPS standard.  Le body contient votre message en JSON. La clé API se place dans le header X-Api-Key.

Peut-on appeler l’API depuis une fonction serverless (Vercel, AWS Lambda) ?

Oui. fetch() est disponible dans les runtimes serverless modernes. L’API d’Esendex est stateless. Chaque requête est indépendante. Le format est le même que dans un script Node.js classique.

Comment gérer les erreurs d’envoi avec async/await ?

Vous placez votre appel fetch() dans un bloc try/catch. Si l’API détecte un problème, response.ok passe à false. Vous récupérez le détail avec response.json(). Le JSON de retour précise le champ en cause.

Combien coûte l’envoi de SMS par API ?

Avec Esendex, les tarifs dépendent du volume et des canaux utilisés. Vous pouvez nous contacter pour avoir un devis adapté.

Effectuez vos premiers envois dès maintenant