SYGNEX GUARD / API

Documentation de l’API

Le connecteur PHP effectue une requête serveur à serveur. Ne placez jamais les clés dans JavaScript ou dans le navigateur.

Avant la mise en production : renseignez config/local.php, importez install_guard.sql, créez l’administrateur et vérifiez l’envoi e-mail.

1. Installation

  1. Créez le sous-domaine guard.sygnexproduction.com, activez HTTPS et faites pointer sa racine web directement vers les fichiers de Guard.
  2. Importez install_guard.sql dans la base centrale qui contient déjà la table utilisateurs.
  3. Renseignez config/local.php et définissez un jeton d’installation aléatoire d’au moins 40 caractères.
  4. Ouvrez /admin/setup.php pour créer le premier administrateur, puis connectez-vous à /admin/index.php.
  5. Créez un site dans le tableau de bord, copiez sa clé et son secret une seule fois et définissez ses destinataires autorisés.
  6. Installez le connecteur PHP sur le serveur du site source. N’appelez jamais l’API depuis le JavaScript du navigateur.

2. Exemple PHP

Le connecteur est autonome et utilise les fonctionnalités HTTPS natives de PHP, sans bibliothèque tierce. Il reçoit une réponse JSON. Le formulaire doit transmettre les champs depuis le serveur.

<?php
require_once __DIR__ . '/client-sdk/sygnex-guard-connector.php';
$guard = new SygnexGuardConnector(
    'YOUR_API_KEY',
    'YOUR_API_SECRET',
    'https://guard.sygnexproduction.com/api/intercept.php',
    'www.your-site.example'
);
$result = $guard->submit([
    'nom_expediteur' => $_POST['nom'] ?? '',
    'email_expediteur' => $_POST['email'] ?? '',
    'email_destinataire' => 'contact@your-site.example',
    'sujet' => $_POST['sujet'] ?? 'Website message',
    'corps_message' => $_POST['message'] ?? '',
    'langue' => 'fr',
    'website' => $_POST['website'] ?? '', // honeypot: keep empty
]);
if (!$result['ok']) {
    // Handle service or quota errors; never expose API secrets.
}

Le champ website doit être caché et rester vide lorsqu’il est rempli par une personne.

3. Champs acceptés par l’API

ChampRequisDescription
api_keyOuiIdentifiant API attribué au site.
api_secretOuiSecret transmis uniquement de serveur à serveur via HTTPS.
site_domainOuiDomaine déclaré dans le tableau de bord.
nom_expediteurOuiNom de l’expéditeur (150 caractères maximum).
email_expediteurOuiAdresse e-mail de retour valide.
email_destinataireOuiDoit correspondre exactement à une adresse autorisée pour ce site.
sujetOui255 caractères maximum.
corps_messageOuiTexte du message (60 000 octets maximum).
langueNonfr, en, de, it, zh ou vi.
websiteNonChamp honeypot : doit rester vide.
pieces_jointesNonTableau JSON name, mime et content_base64 ; formats et taille limités.

4. Réponses habituelles

5. Limites opérationnelles importantes

L’application utilise la fonction native mail() de PHP. Le retour positif de cette fonction ne garantit pas l’arrivée en boîte principale. Vérifiez les conditions d’envoi de votre hébergeur et configurez SPF, DKIM et DMARC. Les contrôles MX/SPF/DMARC sont indicatifs et ne prouvent pas cryptographiquement l’identité d’un domaine. Le défi mathématique réduit le spam automatisé, mais ne constitue pas une protection infaillible.

Les pièces jointes sont encodées en base64 et doivent respecter les limites de config/local.php. Déclarez explicitement les destinataires autorisés pour chaque site ; Guard refuse les destinataires non déclarés.

6. Quotas et suivi de consommation

Au lancement, les valeurs de référence sont de 100 messages protégés par mois pour l’offre gratuite et 1 000 pour Premium. L’offre Entreprise utilise un quota personnalisé défini manuellement. Les quotas sont modifiables par l’administration. L’offre interne ignore le plafond commercial de messages, tout en restant soumise aux protections techniques et aux limites de ressources de l’hébergement.

Guard suit séparément les messages protégés et les e-mails sortants réellement acceptés par mail(). Des alertes sont prévues aux seuils de 70 %, 90 % et 100 %. Une fois le quota mensuel atteint, les nouvelles soumissions de l’offre concernée sont refusées jusqu’au renouvellement du mois ou à la modification du quota. Les capacités réelles d’envoi doivent être vérifiées avec l’hébergeur avant toute offre à gros volume.