Use Wazaj for free — limited-time launch offer

Get started

Shared inbox, templates, teams, and campaigns in one workspace. Start without a credit card.

Référence API

Guide d'intégration API Business

Suivez ces étapes en server-to-server. N'exposez jamais les clés API ni l'URL de base de votre déploiement dans le code client.

La sécurité d'abord

Gardez les clés API uniquement sur votre backend. N'envoyez jamais les clés ni l'URL de base de votre déploiement dans le navigateur ou une app mobile.

Ordre d'intégration

  1. Créer une clé API dans la console développeur du workspace (gérée par le propriétaire). Le secret en clair n'est affiché qu'une fois — enregistrez-le dans votre coffre de secrets ou les variables d'environnement du serveur.
  2. Configurer l'URL de base sur votre serveur : utilisez votre hôte HTTPS plus /api/wazaj/business. Exemple d'hôte de production : https://transuptech.online. Privilégiez la lecture depuis les variables d'environnement plutôt qu'un durcissement dans les bundles clients.
  3. Authentifier chaque requête avec la clé API (voir ci-dessous). Ces routes n'utilisent pas les cookies de session du navigateur.
  4. Envoyer des messages avec POST…/messages/text ou …/messages/template, toujours avec Content-Type: application/json.
  5. Gérer les erreurs et les nouvelles tentatives: traitez explicitement 401, 403, 422 et 503 ; utilisez un backoff exponentiel pour les pannes transitoires.
  6. Gérer les clés avec prudence: faites tourner les clés selon un calendrier et révoquez immédiatement en cas de fuite.

URL de base

Préfixe API complet pour la messagerie métier (exemple de déploiement) : https://transuptech.online/api/wazaj/business

Exemple concret (copiez depuis le bloc ci-dessous) :

URL
https://transuptech.online/api/wazaj/business

Remplacez par votre propre origine dans le code ; les extraits ci-dessous utilisent $BASE_URL qui est remplacé par cet exemple lors de la copie.

Authentification

Les endpoints métier acceptent votre clé API sous l'une de ces formes :

  • X-API-Key: wzj_…
  • Authorization: Bearer wzj_…
  • Authorization: ApiKey wzj_…

Les clés manquantes, invalides, expirées ou révoquées renvoient 401.

HTTP
Content-Type: application/json
X-API-Key: wzj_xxx

1. Envoyer un message texte

POST/messages/text

Chemin complet : https://transuptech.online/api/wazaj/business/messages/text

Corps de la requête

ChampTypeObligatoireDescription
tostringOuiDestination au format E.164 (ex. +50912345678)
bodystringOuiTexte du message
preview_urlbooleanNonComportement d'aperçu d'URL
reply_to_meta_message_idstring | nullNonIdentifiant Meta du message auquel répondre

Exemple JSON

JSON
{
  "to": "+50912345678",
  "body": "Hello from Wazaj API",
  "preview_url": false,
  "reply_to_meta_message_id": null
}

Succès (200)

JSON
{
  "success": true,
  "message_id": 12345
}

cURL

Shell
curl -X POST "https://transuptech.online/api/wazaj/business/messages/text" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $WAZAJ_API_KEY" \
  -d '{
    "to": "+50912345678",
    "body": "Hello from Wazaj API",
    "preview_url": false
  }'

2. Envoyer un message modèle

POST/messages/template

Mêmes en-têtes que pour le texte : Content-Type: application/json et votre clé API.

Corps de la requête

ChampTypeObligatoireDescription
tostringOuiDestination au format E.164
template_namestringOuiNom du modèle approuvé par Meta
template_languagestringOuiCode langue du modèle (ex. en)
template_componentsarrayNonComposants / paramètres du modèle Meta

Exemple JSON

JSON
{
  "to": "+50912345678",
  "template_name": "order_update",
  "template_language": "en",
  "template_components": [
    {
      "type": "body",
      "parameters": [{ "type": "text", "text": "John" }]
    }
  ]
}

Succès (200)

JSON
{
  "success": true,
  "message_id": 12346
}

cURL

Shell
curl -X POST "https://transuptech.online/api/wazaj/business/messages/template" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $WAZAJ_API_KEY" \
  -d '{
    "to": "+50912345678",
    "template_name": "order_update",
    "template_language": "en",
    "template_components": [
      {
        "type": "body",
        "parameters": [{ "type": "text", "text": "John" }]
      }
    ]
  }'

Réponses d'erreur

401 Non autorisé— clé API manquante ou invalide.

JSON
{
  "success": false,
  "message": "Unauthorized"
}

403 Interdit— compte déconnecté ou bloqué pour l'envoi.

JSON
{
  "success": false,
  "message": "Wazaj account disconnected"
}

422 Entité non traitable — erreurs de validation ou règles métier (exemples : billing_send_denied, templates_not_entitled).

JSON
{
  "success": false,
  "message": "Validation failed",
  "errors": {
    "to": ["The to field is required."]
  }
}

503 Service indisponible— module de messagerie ou aval non prêt. Réessayez avec backoff.

Liste de contrôle

  1. Créer une clé API depuis la console développeur.
  2. Stocker le secret dans un coffre ou une variable d'environnement réservée au serveur.
  3. Appeler les endpoints métier uniquement depuis du code serveur à serveur.
  4. Journaliser les réponses non-2xx et mettre en place retry/backoff si pertinent.
  5. Faire tourner les clés selon un calendrier ; révoquer immédiatement en cas de compromission.