Référence développeur

Guide d'intégration

Lire la référence API en Markdown brut →

Connectez-vous avec Google ou un code de vérification par e-mail, puis ouvrez Tableau de bord → Clé API. Copiez la clé lorsqu'elle est affichée : seul son hachage SHA-256 est enregistré dans notre base de données. Les utilisateurs existants peuvent lier une clé héritée à l'aide de son jeton de gestion privé.

Vérification côté serveur

POST /api/v1/check
Content-Type: application/json
x-api-key: YOUR_API_KEY

{
  "text": "Can you quote this project?",
  "email": "[email protected]"
}

Les réponses incluent verdict (allow, block, review), score, reason, engine (jev ou rules), model (version du fournisseur sur les résultats IA), execution_time_ms et notre quota_remaining. Les scores issus des règles sont des estimations heuristiques. La confiance n'est présente que pour Jev. Traitez review comme incertain, pas comme un blocage automatique.

Codes d'état : 400 (entrée invalide), 401 (clé manquante), 403 (clé invalide), 429 (quota épuisé), 503 (service indisponible). Taille maximale du message : 10,000 caractères. Facultatif business_context (jusqu'à 1,000 caractères) décrit les demandes souhaitées ; n'incluez pas de secrets. En cas d'échec du fournisseur, retour aux règles heuristiques locales.

Journaux de détection et rapports d'exécution

Tableau de bord → Journaux de détection affiche vos 7 derniers jours de vérifications authentifiées. Sélectionnez Incertain — à examiner dans le filtre de verdict pour inspecter les résultats incertains. Il s'agit d'un enregistrement des vérifications et des actions signalées, et non d'une boîte de réception ni d'une file d'attente pour conserver ou restaurer des messages. Le site facultatif (une URL HTTP/HTTPS ; seul son nom d'hôte est conservé) et form_id (jusqu'à 80 lettres, chiffres, traits de soulignement, deux-points ou traits d'union) identifient votre intégration. Le texte du message est désactivé par défaut et peut être activé dans votre compte. Les vérifications de la démo publique sont exclues.

La journalisation réussie ajoute check_id et notre report_token à la réponse de vérification ; logging_status vaut saved ou unavailable. Les échecs de journalisation ne modifient pas la classification. Conservez le jeton de rapport sur votre serveur. Après avoir appliqué votre décision, envoyez une requête POST à /api/v1/report avec la même clé API :

{
  "check_id": "CHECK_UUID",
  "report_token": "TOKEN_FROM_CHECK",
  "action": "allowed",
  "reason": "verdict"
}

Valeurs d'action autorisées : allowed, blocked, ou error_allowed. Le dernier plugin WordPress rapporte automatiquement son action. Observe only rapporte allowed avec la raison observe. Un rapport manquant ou échoué apparaît comme Not reported ; une action allowed ne confirme pas la livraison de l'e-mail.

Pour une intégration API personnalisée, l'observation est une politique dans votre propre code serveur : appelez le point de terminaison de vérification, enregistrez le verdict, poursuivez votre flux de soumission normal et signalez l'action que vous avez appliquée. L'API de vérification n'active ni ne désactive automatiquement le blocage dans votre formulaire. L'observation traite tout de même le contenu du message et utilise le quota de détection.

Assistant navigateur facultatif

<form data-formshield> ... </form>
<script src="https://jevshield.com/shield.js" data-key="YOUR_API_KEY"></script>

L'assistant vérifie uniquement les formulaires explicitement marqués, envoie les champs message, e-mail et nom, et autorise la soumission après un échec réseau ou un délai d'expiration de 6 secondes. Il est contournable et expose la clé API aux visiteurs. Utilisez des vérifications côté serveur pour l'application et pour garder la clé privée. Testez les plugins de formulaires AJAX avant de l'activer.

Acheminement des leads

Ouvrez Tableau de bord → Routage pour décrire votre activité et éventuellement enregistrer une URL de webhook ou de réservation. Le contexte du compte est utilisé lorsqu'une requête ne fournit pas son propre business_context. Les résultats à forte intention peuvent envoyer les détails de la demande et du contact à votre webhook configuré ; utilisez une destination que vous contrôlez et couvrez ce traitement dans votre avis de confidentialité.

Une URL de réservation configurée est renvoyée sous forme de meeting_url pour les résultats à forte intention. Votre intégration décide de l'afficher ou de la suivre. Le plugin WordPress et les intégrations personnalisées peuvent avoir un comportement différent ; vérifiez le parcours complet du visiteur. Un test de webhook utilise une demande synthétique et confirme la réponse HTTP de destination, pas la livraison en aval.

Ouvrir les paramètres de routage →

WordPress

Télécharger le dernier ZIP du plugin JevShield, installez-le dans WordPress, puis ouvrez Settings → JevShield AI et saisissez votre clé API et l'endpoint HTTPS complet /api/v1/check. Sous Protection Mode, sélectionnez Observe only pour classifier et journaliser sans que ce plugin bloque. Les nouvelles installations démarrent en Observe only ; les installations existantes configurées conservent le blocage jusqu'à ce que vous changiez le mode. L'observation utilise du quota et transmet les champs de soumission pour traitement, décrivez-le donc dans votre politique de confidentialité. Vérifiez la livraison réelle de votre formulaire avant de passer à Block high-confidence spam.

JevShield est également répertorié dans le Annuaire des plugins WordPress.org. Les versions du répertoire peuvent arriver plus tard que le ZIP ici ; si Protection Mode est absent, mettez à jour à l'aide du dernier ZIP. Le plugin FormShield hérité distinct conserve ses réglages existants et son chemin de mise à jour. Ses réglages de contexte métier et de remplacement d'e-mail exact n'ont pas été ajoutés au plugin JevShield. L'API accepte toujours business_context pour les intégrations personnalisées.