Como podemos axudarlle?

Cóntenos brevemente de que se trata; responderémoslle por correo electrónico.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Ir á páxina de inicio

Données clients dans le chat (commandes, livraison, factures)

Laissez l’assistant IA répondre aux questions des clients connectés sur leurs propres commandes, grâce à une identité signée, des champs précisément définis et des données récupérées dans votre boutique ou importées.

Avec les données clients, l’assistant IA répond à des questions comme « Où est mon colis ? », « Ma facture est-elle payée ? » ou « Que contenait ma dernière commande ? », pour les clients connectés et uniquement sur leurs propres données. Cette fonction est disponible avec les forfaits payants.

Comment les données sont protégées

Prérequis : vérification d’identité

L’assistant utilise les données clients uniquement pour les visiteurs dont votre serveur a confirmé l’identité. Configurez un secret dans votre compte sous Projet → Vérification d’identité. Il reste sur votre serveur et ne doit jamais se trouver dans le navigateur ou dans le code d’intégration.

Pour chaque client connecté, votre serveur calcule un hachage avec une date d’expiration (au maximum 24 heures plus tard) et le transmet au widget :

$userId = (string) $customer->id;
$exp    = time() + 3600;
$hash   = hash_hmac('sha256', $userId . '.' . $exp, getenv('RC_IDENT_SECRET'));
echo "<script>ReactiveChat('identify', { userId: " . json_encode($userId)
   . ", userHash: " . json_encode($hash) . ", exp: " . $exp . " });</script>";
const crypto = require('crypto');
const exp  = Math.floor(Date.now() / 1000) + 3600;
const hash = crypto.createHmac('sha256', process.env.RC_IDENT_SECRET)
                   .update(String(user.id) + '.' + exp).digest('hex');
// in the template: ReactiveChat('identify', { userId: '<id>', userHash: '<hash>', exp: <exp> });

Un hachage sans exp confirme toujours le visiteur (par exemple pour l’historique des conversations), mais ne suffit pas pour les données clients. Lorsque vous renouvelez le secret, l’ancien reste valable pendant 24 heures.

Signer aussi l’e-mail (pour la prise de rendez-vous et les intégrations basées sur l’e-mail). Un champ email à côté du hachage n’est considérée comme confirmée que si elle fait partie de la signature : userHash = HMAC-SHA256(secret, userId + "." + exp + "." + email) – l’adresse exactement telle que vous la transmettez à identify. Sinon, le visiteur reste connecté, mais l’assistant ne réserve aucun rendez-vous pour cette adresse et les intégrations ne l’utilisent pas pour une recherche. La forme existante userId + "." + exp continue de fonctionner sans modification.

Récupération, import ou les deux

Sous Projet → Données clients, vous choisissez la provenance des données de l’assistant :

Quelles données l’assistant peut recevoir

Vous autorisez chaque champ individuellement. Les réglages par défaut couvrent les questions habituelles :

Un champ désactivé n’atteint jamais l’assistant : il est écarté lors de la récupération et n’est pas stocké lors de l’import. La ville et le code postal nécessitent volontairement une autorisation explicite ; la rue et le nom restent toujours exclus.

Ce qui n’est jamais transmis

Ces données ne peuvent pas être autorisées. Si votre boutique les envoie, elles sont écartées :

Limites

Au maximum 10 commandes par réponse, 20 articles par commande, 200 caractères par texte et 16 kB pour l’ensemble de la réponse. Les champs inconnus sont écartés sans erreur.

Le point de terminaison de récupération

reactive.chat appelle votre point de terminaison avec POST :

POST https://shop.your-domain.com/rc-customer-data
Content-Type: application/json
X-RC-Zeit: 1791196400
X-RC-Signatur: <hex(HMAC_SHA256(endpoint secret, X-RC-Zeit + "." + body))>

{"user_id":"4711","anliegen":"bestellung","referenz":"2026-0815","sprache":"en","nonce":"..."}

Votre point de terminaison doit :

  1. vérifier la signature (comparaison en temps constant) et rejeter les requêtes dont X-RC-Zeit présente un écart de plus de 5 minutes,
  2. renvoyer uniquement les données du user_id fourni,
  3. être accessible via https sur le port 443 à une adresse publique, sans redirection,
  4. répondre en moins de 3 secondes.

Réponse :

{
  "bestellungen": [
    {
      "nummer": "2026-0815", "datum": "2026-09-28", "status": "shipped",
      "summe": "49.90", "waehrung": "EUR",
      "positionen": [ { "name": "Balance bike blue", "menge": 1 } ],
      "versand": { "dienst": "DHL", "sendungsnummer": "00340434...", "status": "out for delivery" },
      "rechnung": { "nummer": "R-2026-1201", "status": "paid", "faellig_am": "2026-10-12" }
    }
  ]
}

Un exemple PHP complet est disponible dans la documentation développeur (kundendaten-referenz-endpunkt.php).

Avec Tester la connexion, reactive.chat appelle votre point de terminaison avec le user_id rc-test et le type de requête test, puis affiche le résultat. Renvoyez une liste vide ou une commande d’exemple pour cet appel.

Import via l’API

Avec une clé d’API disposant de l’autorisation kundendaten:schreiben :

PUT https://reactive.chat/v1/kundendaten/4711?project_id=123
Authorization: Bearer <API key>
Content-Type: application/json

{"bestellungen":[ ... as above ... ]}

project_id est le numéro de votre projet ; si votre espace de travail ne contient qu’un projet, vous pouvez l’omettre. Un PUT remplace toutes les commandes de cet identifiant client (au maximum 50). DELETE /v1/kundendaten/4711?project_id=123 les supprime. Les données importées sont stockées chiffrées chez nous et supprimées 90 jours après le dernier import ; envoyez donc les modifications en continu, par exemple à chaque changement de statut.

Visiteurs non connectés

Si une personne sans identité confirmée pose une question sur une commande, l’assistant ne récupère rien. Il affiche à la place un message que vous configurez sous Projet → Données clients : un texte par langue et, éventuellement, un lien de connexion. Il peut aussi transférer la question à votre équipe.

Ce qui est stocké

Dépannage

Pour approfondir dans la documentation

En détail : Point de terminaison des données clients. Retrouvez tous les chapitres dans la documentation.

Última actualización: