Commencer avec l’API SMS Novixo

Créez un compte, générez une clé API et envoyez votre premier SMS en quelques minutes avec une API sécurisée et prête pour la production.

getting-started.sh
# Vérifier l’auth (ping) curl -sS "$BASE/api/v1/public/util/ping" \   -H "X-API-KEY: …" \   -H "X-TIMESTAMP: …" \   -H "X-SIGNATURE: …"
✓ Ping · POST sms/send

Prérequis

Le strict nécessaire pour exécuter les exemples ci-dessous (côté serveur de préférence).

  • Un compte Novixo et accès à l’espace client
  • Une clé API (X-API-KEY) émise depuis l’espace client
  • Votre secret API (64 caractères hex) pour calculer la signature — jamais exposé côté navigateur
  • Capacité à envoyer des requêtes HTTPS avec corps JSON (Content-Type: application/json pour les POST)

Authentification (vue minimale)

Chaque appel à /api/v1/public/* est signé. Trois en-têtes suffisent à cadrer le démarrage :

  • X-API-KEY — identifiant de la clé
  • X-TIMESTAMP — horodatage ISO 8601 (ex. 2025-11-02T17:00:00.428Z), fenêtre de validité côté serveur
  • X-SIGNATURE — empreinte HMAC

Chaîne à signer (séparateur |) :

Formule
HMAC_SHA256(
  method + "|" + path + "|" + timestamp + "|" + bodyBrut,
  apiSecret
)

method en majuscules, path exact (ex. /api/v1/public/util/ping), bodyBrut = chaîne JSON pour un POST, ou chaîne vide pour un GET.

Pour le détail (expiration, erreurs, bonnes pratiques), voir Authentification API (HMAC).

Premier appel : ping

Valide clé, secret et horloge. Remplacez https://api.novixo.fr si votre instance utilise un autre hôte.

cURL
curl -sS -X GET "https://api.novixo.fr/api/v1/public/util/ping" \
  -H "X-API-KEY: $NOVIXO_API_KEY" \
  -H "X-TIMESTAMP: $TIMESTAMP" \
  -H "X-SIGNATURE: $SIGNATURE"

Calculez $SIGNATURE à partir de GET|/api/v1/public/util/ping|${TIMESTAMP}| (body vide, pipe final conservé) et de votre secret API.

Réponse JSON (exemple)
{
  "isSuccess": true,
  "message": "✅ Authentification API réussie.",
  "user": "company:1",
  "timestamp": "2025-11-15T10:00:00.000Z"
}

Envoyer votre premier SMS

POST /api/v1/public/sms/send — corps minimal avec destinataire et texte. Le numéro +99905550001 est un numéro sandbox documenté : il simule la livraison sans SMS réel.

DPA : l’acceptation du contrat de sous-traitance (DPA) depuis l’espace client est requise pour les envois réels en production ; sans cela, l’API peut répondre 403 avec le code DPA_NOT_ACCEPTED.

cURL
curl -sS -X POST "https://api.novixo.fr/api/v1/public/sms/send" \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: $NOVIXO_API_KEY" \
  -H "X-TIMESTAMP: $TIMESTAMP" \
  -H "X-SIGNATURE: $SIGNATURE" \
  -d '{
    "recipient": "+99905550001",
    "content": "Bienvenue — premier SMS Novixo (sandbox)."
  }'

Pour la signature, le corps transmis à HMAC doit être exactement la même chaîne JSON que celle du corps HTTP (même espaces, même ordre des clés si vous figez le payload).

Réponse JSON (exemple — asynchrone)
HTTP/1.1 202 Accepted

{
  "id": 123,
  "message": "SMS en cours de traitement...",
  "status": "QUEUED",
  "creditsUsed": "1",
  "smsCount": 1
}

Comprendre la réponse

  • id — identifiant du SMS côté Novixo ; à conserver pour corréler statuts et support
  • status — état initial souvent QUEUED puis évolution vers SENT, DELIVERED, FAILED selon le réseau
  • Suivi — endpoint léger GET /api/v1/public/sms/{id}/status (voir Statut d’un SMS)
  • Logs — historique et détail disponibles depuis l’espace client et les endpoints de liste / détail SMS

Aller plus loin

La même authentification couvre l’ensemble des capacités messaging — on approfondit hors de cette page d’activation.

Documentation complète

Les endpoints, paramètres, codes d’erreur et cas avancés sont documentés dans votre espace client — cette page volontairement courte évite la duplication et vous fait passer à l’action.

Validez en conditions réelles

Sandbox ou échange avec un expert : gardez un cycle court jusqu’au premier succès en production.