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 : Authorization: Bearer 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={"Authorization": f"Bearer {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.