WASABIA — Raccorder un formulaire / Connect a form
================================================
FR
Ce kit s’installe sur le serveur qui reçoit déjà votre formulaire, pas dans
le JavaScript public. Il n’envoie aucun email. Il transmet une demande à votre
espace WASABIA par HTTPS et attend un accusé de réception.

1. Dans WASABIA, créez un raccordement et téléchargez son accès confidentiel.
   Enregistrez-le hors du répertoire public, sous connection-private.json.
   Protégez-le : chmod 600 connection-private.json
2. Préparez event.json selon exemple-event.json. Remplacez les données fictives.
   L’identifiant event_id doit être un UUID unique attribué à la demande par
   votre serveur et conservé avec elle. Réutilisez le MÊME identifiant après
   une interruption ou une réponse perdue. N’en créez pas un nouveau à chaque
   tentative. Un identifiant déjà reçu avec un contenu différent est refusé.
3. Vérifiez localement (sans transmission) :
   python3 automation_sender.py --config connection-private.json --event event.json --check
4. Depuis votre serveur, transmettez la demande :
   python3 automation_sender.py --config connection-private.json --event event.json
5. Vérifiez le dossier ET le cadrage dans WASABIA. Relisez le brouillon.
   Aucune proposition, approbation ni réponse client n’est envoyée par ce kit.

Installation automatique : la personne qui gère le formulaire doit appeler
ce connecteur après enregistrement durable de chaque demande consentie.
Conserver la demande originale et son event_id jusqu’à confirmation received
ou replayed. Le kit limite ses tentatives à trois ; si la réception reste
incertaine, reprendre plus tard avec le même event_id. Aucun ordonnanceur ou
envoi périodique n’est installé par le kit.

Champs : event_id (UUID canonique), name (120 caractères), company (160),
email (254, vide autorisé), message (1 à 2200), language (fr ou en).
name et email vides créent une demande à compléter. Une description de moins
de 40 caractères déclenche aussi une demande de précisions. Ce sont des règles
simples, pas une analyse IA ni une preuve de faisabilité.

Limites : 100 nouveaux événements par canal et par jour UTC, 10 canaux et
5000 dossiers par espace. Les reprises identiques ne consomment pas le quota.
Un essai expiré ou un canal en pause refuse les nouvelles réceptions. Relire
le résultat avant de supprimer une demande de votre système source.

Sécurité : accès révocable, secret jamais inclus dans une URL. Le serveur
WASABIA n’en conserve que l’empreinte. Ne le placez ni dans un email, ni dans
Telegram, ni dans les journaux. « Remplacer l’accès » invalide immédiatement
l’ancien ; « Mettre en pause » bloque la réception. HTTPS vérifié et redirections
refusées. N’envoyez ni mot de passe, ni clé API dans les messages du formulaire.
L’export WASABIA contient les demandes et brouillons privés, jamais ce secret.

Recette : demande complète ; nom/email manquants ; même événement répété ;
réponse perdue puis reprise ; ancien accès après remplacement ; canal en pause.
Le client et le responsable vérifient leur propre intégration avant utilisation.

EN
Install this kit on the server receiving your form, never in public JavaScript.
Save the private connection file outside the public directory with mode 600.
Map each saved enquiry to the fields in exemple-event.json. Assign a unique
canonical UUID once, persist it with the source enquiry, and reuse it for every
retry. Run --check locally, then the same command without --check to transmit.
Verify the record, scope draft and reply draft in WASABIA before going live.

The sender verifies HTTPS, refuses redirects and makes at most three attempts.
Keep the original enquiry and event ID if the outcome is uncertain. Identical
retries are safe; changed content under the same ID is rejected. No scheduler,
email sender, paid AI, price approval or customer acceptance is installed.

Limits: 100 new events per channel per UTC day, 10 channels and 5000 records
per workspace. Missing contact details are flagged by simple rules. Trial
expiry, pausing or credential replacement can stop intake. Never include keys
or passwords in enquiry messages. Private access must stay on your server.

Python 3.10+ standard library only. No package installation required.
