Radar Spam API

v1.0.0
← Retour au site

Introduction

L'API Radar Spam vous permet de vérifier la réputation des numéros de téléphone en temps réel. Intégrez facilement notre service dans vos applications pour protéger votre entreprise du spam téléphonique.

Rapide

Vérification en moins de 200ms

🔒

Sécurisé

Authentification par clé API

📊

Analytics

Statistiques détaillées

Base URL

https://mvp.lead-aggregator.com/api/v1

Authentification

L'API utilise l'authentification par clé API. Chaque requête doit inclure votre clé API dans l'en-tête.

⚠️

Important

Gardez votre clé API secrète et ne la partagez jamais publiquement.

En-tête requis

X-API-Key: votre_cle_api_ici

Obtenir votre clé API

  1. Connectez-vous à votre tableau de bord
  2. Allez dans la section "API"
  3. Générez une nouvelle clé API
  4. Copiez et sauvegardez votre clé

Quotas et limites

Les quotas API sont partagés avec l'application web. La limite quotidienne est contrôlée par clé/organisation.

Règle Quota quotidien Quota mensuel Remarque
Organisation / clé API 250 Selon le plan du compte Renvoie 429 si limite quotidienne atteinte

Gestion des quotas

  • Quota quotidien API : 250 requêtes/jour (route de vérification)
  • Quota mensuel : dépend du plan du compte
  • Partage : le quota est commun entre interface web et API REST
  • Réponse d'erreur : code QUOTA_EXCEEDED + HTTP 429

Dépassement de quota

En cas de dépassement de la limite quotidienne API, l'API retourne une erreur 429 Too Many Requests.

Endpoints

GET /health

Vérifier l'état de l'API

{
  "status": "healthy",
  "timestamp": "2024-01-15T10:30:00Z",
  "version": "1.0.0"
}
POST /verify

Vérifier la réputation d'un numéro de téléphone

Requête

{
  "phone_number": "+33123456789",
  "country_code": "FR",
  "include_details": true
}

Réponse

{
  "phone_number": "+33123456789",
  "country_code": "FR",
  "status": "À_RISQUE",
  "status_code": "AT_RISK",
  "risk_level": "MEDIUM",
  "reputation_score": 58,
  "confidence": "HIGH",
  "timestamp": "2024-01-15T10:30:00Z",
  "request_id": "12345",
  "real_sources": 2,
  "simulated_sources": 0,
  "details": {
    "sources": {
      "orange": { "score": 70, "status": "AT_RISK", "source_type": "REAL_API", "details": { "negative_reports": 2, "positive_reports": 0 } },
      "hiya": { "score": 50, "status": "AT_RISK", "source_type": "REAL_API", "details": { "reputation_level": "UNCERTAIN" } }
    },
    "sources_summary": {
      "total_reports": 2,
      "orange": { "negative_reports": 2, "positive_reports": 0, "main_spam_type": null, "spam_types_distribution": [] },
      "hiya": { "reports": 0, "reputation_level": "UNCERTAIN" }
    },
    "danger_detected": false,
    "spam_detected": false
  }
}

Valeurs de status : OK, À_RISQUE, URGENT, SPAM

Valeurs de risk_level : LOW, MEDIUM, HIGH, CRITICAL

status_code : version ASCII stable pour intégrations (OK, AT_RISK, URGENT, SPAM)

POST /verify/batch

Vérifier plusieurs numéros en lot (max 100)

Requête

{
  "phone_numbers": ["+33123456789", "+33987654321"],
  "country_code": "FR",
  "include_details": false
}

Réponse

{
  "results": [
    {
      "phone_number": "+33123456789",
      "status": "OK",
      "risk_level": "LOW",
      "reputation_score": 22
    },
    {
      "phone_number": "+33987654321",
      "status": "SPAM",
      "risk_level": "CRITICAL",
      "reputation_score": 96
    }
  ],
  "total_processed": 2,
  "timestamp": "2024-01-15T10:30:00Z"
}
GET /stats

Obtenir les statistiques d'utilisation

Paramètres

  • period - Période (7d, 30d, 90d) - Défaut: 30d

Réponse

{
  "period": "30d",
  "checks": {
    "total": 1250,
    "safe": 1100,
    "spam": 100,
    "suspicious": 50
  },
  "api_usage": {
    "total_requests": 1250,
    "successful_requests": 1200,
    "failed_requests": 50,
    "success_rate": 96.0
  },
  "quota": {
    "daily_limit": 250,
    "remaining_today": 191
  }
}

Exemples d'utilisation

cURL

Vérifier un numéro

curl -X POST https://mvp.lead-aggregator.com/api/v1/verify \
  -H "X-API-Key: votre_cle_api" \
  -H "Content-Type: application/json" \
  -d '{
    "phone_number": "+33123456789",
    "country_code": "FR",
    "include_details": true
  }'

Vérification en lot

curl -X POST https://mvp.lead-aggregator.com/api/v1/verify/batch \
  -H "X-API-Key: votre_cle_api" \
  -H "Content-Type: application/json" \
  -d '{
    "phone_numbers": ["+33123456789", "+33987654321"],
    "country_code": "FR"
  }'

JavaScript

// Vérifier un numéro
async function verifyNumber(phoneNumber) {
  const response = await fetch('https://mvp.lead-aggregator.com/api/v1/verify', {
    method: 'POST',
    headers: {
      'X-API-Key': 'votre_cle_api',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      phone_number: phoneNumber,
      country_code: 'FR',
      include_details: true
    })
  });
  
  const data = await response.json();
  return data;
}

// Utilisation
verifyNumber('+33123456789')
  .then(result => {
    console.log('Statut:', result.status);
    console.log('Score:', result.reputation_score);
  })
  .catch(error => {
    console.error('Erreur:', error);
  });

Python

import requests

def verify_number(phone_number, api_key):
    url = "https://mvp.lead-aggregator.com/api/v1/verify"
    headers = {
        "X-API-Key": api_key,
        "Content-Type": "application/json"
    }
    data = {
        "phone_number": phone_number,
        "country_code": "FR",
        "include_details": True
    }
    
    response = requests.post(url, headers=headers, json=data)
    return response.json()

# Utilisation
result = verify_number("+33123456789", "votre_cle_api")
print(f"Statut: {result['status']}")
print(f"Score: {result['reputation_score']}")

Codes d'erreur

Code Message Description
MISSING_API_KEY Clé API manquante L'en-tête X-API-Key est requis
INVALID_API_KEY Clé API invalide La clé API fournie n'est pas valide
QUOTA_EXCEEDED Quota dépassé Limite quotidienne atteinte
MISSING_PHONE Numéro manquant Le paramètre phone_number est requis
INVALID_BATCH_SIZE Taille de lot invalide Entre 1 et 100 numéros requis