L’API On-Premises ne sera bientôt plus disponible. Consultez notre document Abandon progressif de l’API On-Premises pour de plus amples détails, mais aussi pour connaître la procédure de migration vers notre API Cloud nouvelle génération.

Paramètres d’application

Les paramètres d’application de votre client WhatsApp Business On-Premises.

Conditions requises

  • Les demandes doivent être faites avec votre compte admin
  • Toutes les réponses doivent inclure 200 OK HTTPS

Consultation

Obtenez les paramètres d’application actuels pour votre client WhatsApp Business On-Premises

Exemple

Envoyez une demande GET au point de terminaison /v1/settings/application pour obtenir tous les paramètres d’application actuels.

GET /v1/settings/application

En cas de réussite, la réponse renvoyée comprend le code 200 OK et une charge utile JSON contenant un objet application répertoriant tous les paramètres d’application actuels et leurs valeurs.

Exemple de réponse

{
    "settings": {
        "application": {
            "callback_backoff_delay_ms": 3000,
            "callback_persist": true,
            "garbagecollector_enable": {
                "media": false,
                "messages": true
            },
            "heartbeat_interval": 5,
            "max_callback_backoff_delay_ms": 900000,
            "media": {
                "auto_download": [
                    "image",
                    "video",
                    "voice",
                    "sticker",
                    "audio",
                    "document"
                ]
            },
            "notify_user_change_number": true,
            "show_security_notifications": true,
            "unhealthy_interval": 30,
            "wa_id": "16315551019",
            "webhooks": {
               	"url": "<Webhook URL, https>",
               	"max_concurrent_requests": max-concurrent-requests,
               	"message": { // Available for v2.41.2 and above
                  	"sent": true,
                  	"delivered": true,
                  	"read": false
                 },
             },
             "verbose_logging": false,
             "log_level" : "info"
         },
    },
    "meta": {
        "api_status": "stable",
        "version": "3.0.1"
    }
}

Arêtes

ArêteDescription

/media/providers

Utilisez cette arête pour gérer une liste des fournisseurs de contenus multimédias pour l’envoi de liens multimédias.

Mise à jour

Pour mettre à jour vos paramètres d’application, envoyez une requête PATCH au point de terminaison /v1/settings/application avec un objet JSON contenant les noms et valeurs des champs à définir.

Pour les campagnes de messagerie impliquant un grand volume de messages, il est recommandé de désactiver la collecte des déchets automatique en définissant garbagecollector_enable.messages sur false, et de la réactiver à la fin de la campagne en la redéfinissant sur true.

Vous pouvez vérifier si la collecte des déchets automatique est désactivée en envoyant une requête GET au point de terminaison /v1/settings/application et en consultant la propriété garbagecollector_enable.

Exemple de requête

PATCH /v1/settings/application
{
    "callback_persist": true | false,
    "max_callback_backoff_delay_ms": max-delay-in-ms,
    "media": {
        "auto_download": ["audio", "document", "voice", "video", "image", "sticker"]
    }
    "callback_backoff_delay_ms": "delay-in-ms",
    "heartbeat_interval": heartbeat-interval-in-secs,
    "unhealthy_interval": unhealthy-interval-in-secs,
    "webhooks": { 
        # See the Webhooks Parameters table below for more information
        "max_concurrent_requests": max-concurrent-requests,
        "url": "<Webhook URL, https>",
        "message": {              // Available on v2.41.2 and above
                "sent": false,
                "delivered": true,
                "read": false
           },
    },
    "axolotl_context_striping_disabled": false | true,
    "notify_user_change_number": false | true,
    "show_security_notifications": false | true,
    # Available on v2.49.1 and above
    "garbagecollector_enable": {
        "messages": true | false,
        "media": true | false
    }
    "skip_referral_media_download": true | false,
    "webhook_payload_conversation_pricingmodel_disabled": false | true
    # Available on v2.51.1 and above
    "verbose_logging": false | true,
    "log_level" : log-level-str,
}

En cas de réussite, la réponse contient 200 OK avec null ou un objet JSON.

Si une erreur se produit, consultez les messages d’erreur et de statut.

Paramètres

Certains paramètres exigent que la Coreapp soit redémarrée pour que les modifications soient prises en compte. Il s’agit des paramètres callback_persist, garbagecollector_enable, verbose_logging, log_level et webhooks.max_concurrent_requests.

`log_level`
NomDescription

axolotl_context_striping_disabled

type : booléen

Affecte les limites de connexion à la base de données.


Les performances en sortie et en entrée sont améliorées avec la v2.25. Cette optimisation repose sur la création de connexions supplémentaires à la base de données. Pour certains déploiements, les limites de connexion à la base de données peuvent être atteintes. Dans ce cas, définissez la configuration axolotl_context_striping_disabled sur true pour désactiver cette fonctionnalité d’amélioration des performances. Il n’y a aucun autre effet sur les fonctionnalités de la Coreapp.


Valeurs :true, false (par défaut)

Redémarrage de la Coreapp requis.

callback_backoff_delay_ms

type : chaîne

Délai de réémission d’un rappel ayant échoué, en millisecondes.


Ce paramètre permet de configurer la durée pendant laquelle la réémission est repoussée avant une nouvelle tentative de rappel. Le délai de réémission augmente cette valeur de manière linéaire chaque fois qu’un rappel n’obtient pas la réponse HTTPS 200 OK. Le délai de réémission est limité par le paramètre max_callback_backoff_delay_ms. Par exemple, si un rappel échoue la première fois, il est retenté 3 000 ms (3 s) après. Un deuxième échec entraîne un délai de 6 000 ms (6 s) avant une nouvelle tentative. Cela se poursuit jusqu’à ce que le rappel aboutisse ou que le délai atteigne 900 000 ms (15 min), après quoi les tentatives de rappel continuent mais sans que le délai n’augmente.


Par défaut : 3 000

callback_persist

type : booléen

Stocke les rappels sur disque jusqu’à ce que le webhook en accuse réception ou non. Afin de s’assurer qu’ils sont bien distribués, les messages et les rappels sont stockés dans une base de données locale avant d’en être supprimés. Ainsi, les rappels sont protégés en cas de panne du client ou du serveur de l’API WhatsApp Business.
Les notifications ayant échoué (absence de réponse HTTPS 200) sont renvoyées indéfiniment. Ce paramètre permet de configurer la nouvelle tentative.


Valeurs :true (par défaut), false
Redémarrage de la Coreapp requis.

db_garbagecollector_enable

type : booléen

Ce champ est devenu obsolète depuis la version 2.49.


Active la collecte automatique des déchets de la base de données des messages afin de faciliter la gestion de la base de données.


Ce paramètre est défini sur false qui avaient défini pass_through sur false avant la v2.29. Nous vous recommandons de l’activer pour garantir un fonctionnement stable de votre base de données. Si vous souhaitez le désactiver, nous vous recommandons d’utiliser le point de terminaison /services/message/gc pour gérer la base de données.


Valeurs :true (par défaut), false

Redémarrage de la Coreapp requis.

garbagecollector_enable

type : objet de collecte des déchets

Active la collecte automatique des déchets des messages et des contenus multimédias.


Il est recommandé d’activer la collecte automatique des déchets des messages et des contenus multimédias pour garantir la suppression des lignes et fichiers obsolètes ou inutilisés. Si la collecte des déchets est désactivée, vous pouvez la démarrer en utilisant les points de terminaison /services/message/gc et /services/media/gc. Consultez le tableau Paramètres de la collecte des déchets pour connaître les valeurs possibles.


Redémarrage de la Coreapp requis.

heartbeat_interval

type : nombre entier

Intervalle de surveillance des nœuds Coreapp par le maître nœud, exprimé en secondes.


Par défaut : 5
S’applique aux configurations Multiconnect.

max_callback_backoff_delay_ms

type : chaîne

Délai maximum pour un rappel ayant échoué, en millisecondes. Pour plus d’informations, lisez la description de callback_backoff_delay_ms ci-dessous.


Par défaut : 900 000

media

type : tableau

Liste des contenus multimédias à télécharger automatiquement. Pour plus d’informations, consultez Télécharger automatiquement les paramètres de contenu multimédia.

notify_user_change_number

type : booléen

Affecte la notification système user_changed_number.


Valeurs :true, false (par défaut)

pass_through

type : booléen

À partir de la version 2.35, vous ne pouvez plus réactiver le paramètre pass_through pour les clients de l’API WhatsApp Business.


Permet la suppression ou le stockage des messages individuels dans une base de données locale une fois qu’ils ont été distribués ou lus.


Les messages envoyés sont stockés dans une base de données locale. Cette base de données est utilisée comme historique de l’application. Comme l’entreprise conserve son propre historique, vous pouvez choisir que les messages transitent (pass_through) ou non.

  • Lorsque le paramètre est défini sur true, les messages sont supprimés de la base de données locale une fois qu’ils ont été distribués au destinataire ou lus par celui-ci.
  • Lorsque le paramètre est défini sur false, tous les messages sont enregistrés en local jusqu’à ce qu’ils soient supprimés automatiquement (si db_garbagecollector_enable est défini sur true par exemple) ou explicitement (si db_garbagecollector_enable est défini sur false). Pour en savoir plus, consultez la documentation sur les Services.

Nous vous recommandons de désactiver pass_through pour que le rappel status puisse fonctionner comme prévu.


Valeurs :true, false (par défaut)

Redémarrage de la Coreapp requis.

show_security_notifications

type : booléen

Si ce paramètre est activé, vous recevrez une notification Webhook user_identity_changed lorsque le client de l’API WhatsApp Business détecte qu’un·e utilisateur·ice en discussion avec vous a potentiellement changé. Lorsque cela se produit, tous les messages sortants adressés à cette personne seront bloqués tant que vous n’aurez pas accusé réception du changement d’identité de cette personne à l’aide du point de terminaison identity.


Valeurs :true, false (par défaut)

skip_referral_media_download

type : booléen

Si ce paramètres est défini sur true, l’image ou la vidéo sur laquelle l’utilisateur·ice a cliqué dans une publicité pointant vers WhatsApp n’est pas téléchargée.


Par défaut :false

unhealthy_interval

type : nombre entier

Nombre maximal de secondes qu’un nœud maître attend qu’un nœud Coreapp réponde à une pulsation avant de le considérer en mauvaise santé et de lancer le processus de basculement.


Par défaut : 30
S’applique aux configurations Multiconnect.

webhook_payload_conversation_pricingmodel_disabled

type : booléen

Ce champ est devenu obsolète depuis la version 2.39.

Contrôle l’inclusion des charges utiles d’informations sur les conversations et les tarifs dans les notifications relatives au statut des messages.


Valeurs :true, false (par défaut)

Le redémarrage de la Coreapp n’est pas requis.

webhooks

type : objet webhooks

Obligatoire lorsque vous utilisez des webhooks.

Fournissez l’URL de votre webhook. Si l’URL du webhook n’est pas définie, les rappels seront abandonnés. Pour voir et tester simplement vos webhooks, reportez-vous à l’exemple d’app de test.


Vous pouvez valider les évènements webhook en spécifiant un secret partagé comme paramètre de requête lorsque vous définissez l'URL du Webhook. Exemple : https://url?auth='[shared_secret]'.

URL du webhook. Par exemple : https://spotless-process.glitch.me/webhook.


Si l’URL du webhook n’est pas définie, les rappels sont abandonnés. Les rappels constituent un canal important pour la distribution des notifications en temps opportun et des erreurs hors bande. Nous vous recommandons donc vivement de configurer le point de terminaison de l’URL du Webhook. Pour plus de détails sur les champs des Webhooks, consultez le tableau des paramètres des Webhooks ci-dessous.

verbose_logging

type : booléen

Active la consignation détaillée dans les Coreapps. Ce niveau de consignation doit être utilisé uniquement pour les tests en raison du volume élevé d’informations retournées. S’il est défini sur true, l’attribut log_level est ignoré.


Valeurs :true, false (par défaut)

log_level

type : objet webhooks

Configure le niveau de consignation des Coreapps. Chaque niveau réduit progressivement la quantité de journaux affichés : info présente le plus d’informations, tandis que fatal ne contient que les erreurs critiques.


Valeurs :info (par défaut), warning, error, fatal

Paramètres de Webhooks

NomDescription

max_concurrent_requests

type : nombre entier

Configure le nombre maximal de demandes de rappel en ligne qui sont envoyées.


Valeurs :6 (par défaut), 12, 18, ou 24
Redémarrage de la Coreapp requis.

url

type : chaîne

Les notifications entrantes et sortantes sont acheminées vers cette URL. Pour plus d’informations, consultez la documentation sur les Webhooks.


Un point de terminaison HTTPS est requis ; les communications HTTP ne fonctionnent pas.
Exemple :https://spotless-process.glitch.me/webhook

message

type : Objet Messages

Disponible à partir de la version 2.41.2

Imbriqué dans l’objet webhooks, il permet à la clientèle de définir les notifications webhook liées aux messages qu’elle souhaite recevoir parmi ceux de la liste suivante : sent, delivered, read. Pour plus d’informations sur ces statuts, consultez cette page.


L’entreprise peut choisir de recevoir ces notifications de webhook ou non en définissant les valeurs sur true (par défaut) ou false.

Paramètres du contenu multimédia

NomDescription

auto_download

type : tableau

Spécifie les types de contenu multimédia à télécharger automatiquement.


Valeurs :audio, document, voice, video, image, sticker

Paramètres de la collecte des déchets

NomDescription

messages

type : booléen

Configure la collecte des déchets des messages.


Valeurs :true (par défaut), false
Redémarrage de la Coreapp requis.

media

type : booléen

Configure la collecte des déchets des contenus multimédias.


Valeurs :true, false (par défaut)
Redémarrage de la Coreapp requis.

Réinitialisation des paramètres par défaut

Pour réinitialiser tous les paramètres par défaut des applications, envoyez une demande DELETE au point de terminaison /v1/settings/application.

Exemple de requête

DELETE /v1/settings/application

En cas de réussite, la réponse contient 200 OK avec null ou {}.

Si une erreur se produit, consultez les messages d’erreur et de statut.