Le fichier zip et le script de vérification reproductible sont inclus dans la version candidate.
Installation
Téléchargez saazly-chat.zip depuis le canal de distribution indiqué par Saazly.
Dans WordPress Admin, ouvrez Extensions, sélectionnez Ajouter une extension, puis Téléverser une extension.
Installez le fichier zip et activez Saazly Chat.
Ouvrez Réglages, puis Saazly Chat. Collez le Widget ID fourni par Saazly et enregistrez.
Ouvrez la page publique de la boutique et vérifiez que le bouton de chat s’affiche.
Pour permettre la lecture des commandes, un administrateur WooCommerce crée une clé REST API avec une autorisation de lecture, puis connecte la boutique dans Réglages et Connexions aux commandes de Saazly.
Autorisations et scopes
Seuls les utilisateurs disposant de manage_options peuvent modifier le Widget ID.
L’extension ne nécessite aucune autorisation WooCommerce particulière et n’utilise aucune clé REST API.
La connexion serveur distincte utilise une clé WooCommerce REST API avec une autorisation de lecture. Saazly n’écrit aucune donnée de commande, de paiement, de traitement ou de client.
Une adresse e-mail ou un numéro de commande seul ne produit jamais de correspondance vérifiée. Le numéro de commande doit être associé à un nom ou à une adresse e-mail correspondant à la commande du fournisseur.
Données lues et écrites
Le Widget ID public enregistré. La page de réglages peut lire le nom public du widget depuis Saazly.
Une seule valeur d’option WordPress contenant le Widget ID public.
Le widget peut lire les produits, les quantités, les prix et la devise du panier actuel du visiteur. Il s’agit d’un contexte comportemental, et non de données de commande vérifiées.
L’adaptateur serveur lit l’identifiant de commande, le numéro de commande destiné au client, le montant, la devise, le statut du paiement, le statut du traitement, les livraisons, les horodatages du fournisseur, la source des données et leur fraîcheur.
Webhooks
La version 1.0.0 de l’extension du widget n’enregistre et ne reçoit aucun webhook.
La connexion serveur enregistre order.created et order.updated. Chaque envoi est vérifié avec HMAC SHA 256, dédupliqué à l’aide du delivery id et rapproché de la date modified du fournisseur.
Une exécution serveur signée lit les commandes modifiées dans WooCommerce et récupère les webhooks manqués, sans que les événements plus anciens n’écrasent les données plus récentes.
Une fois chargé, le widget utilise la configuration publique des widgets et le service de chat de Saazly conformément à la politique de confidentialité de Saazly.
Stockage des tokens
L’extension du widget ne stocke ni jeton d’accès, ni jeton d’actualisation, ni clé API, ni mot de passe.
Consumer key, consumer secret et webhook secret sont chiffrés avec AES 256 GCM avant leur enregistrement dans la base de données. Les clients authentifiés n’ont aucun accès aux valeurs de la table.
Widget ID est un identifiant public enregistré comme valeur d’option WordPress.
Désinstallation
Désactivez Saazly Chat dans Extensions.
Supprimez l’extension si vous souhaitez la retirer complètement.
Lors de la suppression, uninstall.php retire la clé d’option saazly_chat_widget_id d’une installation standard, de chaque site d’un réseau WordPress multisite et des options du site du réseau.
La suppression des données du navigateur est régie par le processus habituel de suppression des données de Saazly et n’est pas affectée par la suppression des fichiers WordPress.
La connexion aux commandes est désactivée séparément dans Saazly. Les identifiants chiffrés sont effacés, l’accès local est bloqué et les webhooks de commande enregistrés sont supprimés de WooCommerce lorsque la boutique répond.
Dépannage
Copiez la valeur UUID complète depuis Saazly. Les espaces sont supprimés, mais une valeur incomplète n’est pas enregistrée.
Vérifiez que l’extension est active, que le Widget ID est enregistré et que la Content Security Policy de la page autorise cdn.saazly.com.
Le Widget ID est enregistré même si la vérification du nom échoue temporairement. Vérifiez les connexions HTTPS sortantes du serveur WordPress.
Vérifiez que la clé dispose d’une autorisation de lecture, que l’adresse HTTPS est exacte et que l’état du système affiche la même adresse de site.
Vérifiez l’état de l’intégration dans Saazly. La répétition d’un webhook est sans danger et la réconciliation récupère les commandes modifiées depuis le dernier cursor.
Envoyez le domaine de la boutique, l’heure et le message d’erreur. N’envoyez jamais de token ni de mot de passe.