Aller au contenu principal

Intégrations & Webhooks

Patterns d'intégration courants

Pattern 1 — Validation à l'inscription (temps réel)

Utilisateur saisit email

[Votre frontend] → POST /v2/email/validate (via widget ou backend)

Résultat instantané (~200ms)

Accepter / Refuser / Suggérer correction

Quand l'utiliser : Formulaires d'inscription, checkout, lead gen


Pattern 2 — Enrichissement batch (traitement différé)

Nouveau lead dans CRM

Export CSV → POST /v2/batch/upload

Polling statut (toutes les 30s)

Export CSV résultats → Import dans CRM

Quand l'utiliser : Nettoyage périodique de base, import de leads


Pattern 3 — Validation avant envoi (pipeline email)

Campagne email programmée

Batch validation (J-1)

Filtrer les invalid + risky

Envoyer uniquement aux valid + unknown

Quand l'utiliser : Campagnes emailing, newsletters


Intégration avec des outils populaires

Zapier / Make (ex-Integromat)

Utilisez l'action HTTP Request avec :

  • URL : https://api.yeswecheck.fr/v2/email/validate
  • Method : POST
  • Header : X-API-Key: ywc_live_...
  • Body : {"email": "{{email_field}}"}

Puis ajoutez un filtre sur status = valid.

n8n

{
"nodes": [
{
"name": "YesWeCheck Validate",
"type": "n8n-nodes-base.httpRequest",
"parameters": {
"url": "https://api.yeswecheck.fr/v2/email/validate",
"method": "POST",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"bodyParameters": {
"parameters": [{"name": "email", "value": "={{$json.email}}"}]
}
}
}
]
}

Alertes & Monitoring

YesWeCheck s'intègre avec les systèmes d'alerting pour surveiller la santé de l'API :

  • HetrixTools — Monitoring de disponibilité
  • Alertmanager — Alertes Prometheus

Consultez l'endpoint de statut public :

curl https://status.yeswecheck.fr/status

Export vers votre CRM

Exemple : Enrichir HubSpot avec les résultats

import requests

def enrich_hubspot_contact(contact_id: str, email: str, api_key: str):
# 1. Valider l'email
result = requests.post(
"https://api.yeswecheck.fr/v2/email/validate",
headers={"X-API-Key": api_key},
json={"email": email, "smtp": True},
).json()

# 2. Mettre à jour la propriété HubSpot
hubspot_props = {
"email_validation_status": result["status"],
"email_validation_score": result["score"],
"email_is_disposable": result["disposable"]["isDisposable"],
}

requests.patch(
f"https://api.hubapi.com/crm/v3/objects/contacts/{contact_id}",
headers={"Authorization": f"Bearer {HUBSPOT_TOKEN}"},
json={"properties": hubspot_props},
)

Bonnes pratiques d'intégration

Cache les résultats

Pour un même email, le résultat ne change pas souvent. Mettez en cache les résultats positifs pendant 24h pour éviter les appels redondants.

const CACHE_TTL = 24 * 60 * 60 * 1000; // 24h
const cache = new Map<string, { result: any; timestamp: number }>();

async function validateWithCache(email: string) {
const cached = cache.get(email);
if (cached && Date.now() - cached.timestamp < CACHE_TTL) {
return cached.result;
}

const result = await validateEmail(email);
cache.set(email, { result, timestamp: Date.now() });
return result;
}
Bulk vs Unitaire

Pour plus de 50 emails, utilisez toujours le batch (POST /batch/upload) plutôt que des appels unitaires en boucle — c'est plus rapide et plus économique.