Démarrage rapide
Créer votre compte
- Rendez-vous sur app.syvel.io/register
- Renseignez votre email et choisissez un mot de passe
- Votre compte Free est immédiatement actif (100 req/mois)
Créer votre première clé API
Dans le dashboard, section Clés API :
- Cliquez sur Nouvelle clé
- Donnez-lui un nom (ex: “Production”)
- Copiez la clé affichée — elle ne sera plus visible ensuite
Votre clé ressemble à : sv_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Premier appel API
-H "Authorization: Bearer sv_votre_cle"Réponse :
{ "is_risky": true, "risk_score": 100, "reason": "disposable", "is_free_provider": false, "is_corporate_email": false, "did_you_mean": null, "is_alias_email": false, "mx_provider_label": "Yopmail", "deliverability_score": 0}Champs clés
| Champ | Type | Description |
|---|---|---|
is_risky | boolean | Le signal de blocage principal. Utilisez ce champ pour accepter ou refuser. |
risk_score | integer | 0–100. Pour les seuils personnalisés (défaut : 65). |
reason | string | safe · disposable · undeliverable · role_account |
did_you_mean | string | null | Suggestion de correction de typo. |
deliverability_score | integer | 0–100. Probabilité de livraison effective. |
Intégration dans un formulaire
async function validateEmail(email) { try { const res = await fetch( `https://api.syvel.io/v1/check/${encodeURIComponent(email)}`, { headers: { 'Authorization': 'Bearer sv_votre_cle' }, signal: AbortSignal.timeout(3000), // 3 s max — ne jamais bloquer } );
if (!res.ok) return { valid: true }; // quota dépassé, erreur serveur → laisser passer
const data = await res.json();
if (data.is_risky) { return { valid: false, message: "Veuillez utiliser une adresse email professionnelle." }; }
// Proposer une correction si typo détectée if (data.did_you_mean) { return { valid: true, warning: `Vouliez-vous dire ${data.did_you_mean} ?` }; }
return { valid: true }; } catch { return { valid: true }; // erreur réseau ou timeout → fail open }}