SMS et messages
Filtre anti-spam SMS
Couverture: iOS / Android
Télécharger l'applicationSur cette page
Objectif
Sur iPhone, activez NoCall comme filtre SMS dans les réglages système de Messages et consultez les messages filtrés à cet endroit. L’extension ne filtre pas iMessage. Sur Android, l’analyseur examine le texte partagé : il ne lit pas automatiquement la boîte de réception et ne modifie pas la réception des SMS. Le site n’active pas le filtre du téléphone.
Prérequis
Offre de l’outil: Gratuit / Pro
Tout le monde peut lire ces guides, sans compte. Certains outils nécessitent Pro, comme indiqué dans chaque guide.
Sur iPhone, activez NoCall comme filtre SMS dans les réglages système de Messages et consultez les messages filtrés à cet endroit. L’extension ne filtre pas iMessage. Sur Android, l’analyseur examine le texte partagé : il ne lit pas automatiquement la boîte de réception et ne modifie pas la réception des SMS. Le site n’active pas le filtre du téléphone.
Mode d’emploi
Télécharger l'application
Sur iPhone, ouvrez l’activation SMS dans NoCall et suivez les étapes des Réglages pour sélectionner le filtre. Sur Android, collez un message dans l’analyseur manuel. Consultez les règles et la synchronisation dans l’app.
Sur iPhone, activez NoCall comme filtre SMS dans les réglages système de Messages et consultez les messages filtrés à cet endroit. L’extension ne filtre pas iMessage. Sur Android, l’analyseur examine le texte partagé : il ne lit pas automatiquement la boîte de réception et ne modifie pas la réception des SMS. Le site n’active pas le filtre du téléphone.
Exemple fictif
Exemple inventé, pas une recherche réelle. N’appelez pas et n’ouvrez pas ses liens.
DHL : Dernier avertissement. Votre colis est bloqué. Action requise sur https://parcel.exampleInterpréter le résultat
Il présente certains signes d’arnaque. N’ouvrez pas le lien ; vérifiez les informations directement sur le site ou l’application officiels.
Limites
Sur iPhone, activez NoCall comme filtre SMS dans les réglages système de Messages et consultez les messages filtrés à cet endroit. L’extension ne filtre pas iMessage. Sur Android, l’analyseur examine le texte partagé : il ne lit pas automatiquement la boîte de réception et ne modifie pas la réception des SMS. Le site n’active pas le filtre du téléphone.
Résultat indicatif fondé sur des signaux automatiques, et non sur une vérification de l’expéditeur. Aucun résultat ne garantit qu’un message est sûr.
Résoudre un problème
Sur iPhone, ouvrez l’activation SMS dans NoCall et suivez les étapes des Réglages pour sélectionner le filtre. Sur Android, collez un message dans l’analyseur manuel. Consultez les règles et la synchronisation dans l’app.
Sur iPhone, activez NoCall comme filtre SMS dans les réglages système de Messages et consultez les messages filtrés à cet endroit. L’extension ne filtre pas iMessage. Sur Android, l’analyseur examine le texte partagé : il ne lit pas automatiquement la boîte de réception et ne modifie pas la réception des SMS. Le site n’active pas le filtre du téléphone.
Utiliser avec l’API
Nécessite une API key et des crédits. Chaque appel abouti coûte 1 crédit, même sans données. Un compte Pro actif inclut 20 crédits par mois calendaire UTC, partagés entre toutes les routes de l’API et consommés en premier ; les crédits mensuels non utilisés ne sont pas reportés. Les crédits achetés sur la page de votre compte fonctionnent sans Pro et n’expirent jamais.
Les erreurs ne sont jamais facturées : 401 invalid_api_key (clé absente ou invalide), 403 pro_required (ni crédits Pro ni crédits achetés), 422 entrée invalide, 429 quota_exceeded (plus de crédits), rate_limit_exceeded ou ai_busy (l’IA de sms-check est à pleine capacité), 503 tool_warming (les données sont encore en préparation) ou tool ou fournisseur indisponible. Après un 429 ou un 503, réessayez une fois écoulées les secondes indiquées dans l’en-tête Retry-After.
Version, source et nombre de règles du filtre SMS « Base NoCall » du pays. Uniquement les décomptes, jamais les listes.
Envoyez le corps JSON à la route propre au tool, ou à POST /v2/tools en ajoutant le champ tool. Les deux routes renvoient le même résultat.
POST https://api.nocall.io/v2/sms-filter
POST https://api.nocall.io/v2/tools {"tool":"sms-filter","country":"ES"}Paramètres
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
| country | string (enum, 55) | Non (par défaut: "ES") | Pays dont le jeu de règles SMS est utilisé. |
REQUEST_ID="$(uuidgen)" && [ -n "$REQUEST_ID" ] &&
curl --request POST 'https://api.nocall.io/v2/sms-filter' \
--header "Authorization: Bearer $NOCALL_API_KEY" \
--header 'Content-Type: application/json' \
--header "Idempotency-Key: $REQUEST_ID" \
--data '{"country":"ES"}'import json
import os
import urllib.request
import uuid
api_key = os.environ.get('NOCALL_API_KEY')
if not api_key:
raise SystemExit('Set NOCALL_API_KEY')
request = urllib.request.Request(
'https://api.nocall.io/v2/sms-filter',
method='POST',
data=json.dumps({'country': 'ES'}).encode(),
headers={
'Authorization': 'Bearer ' + api_key,
'Content-Type': 'application/json',
'Idempotency-Key': str(uuid.uuid4()),
},
)
with urllib.request.urlopen(request, timeout=30) as response:
result = json.load(response)
print(result['data']['result'], result['meta']['unitsCharged'])import { randomUUID } from 'node:crypto';
const requestId = randomUUID();
const apiKey = process.env.NOCALL_API_KEY;
if (!apiKey) throw new Error('Set NOCALL_API_KEY');
const response = await fetch('https://api.nocall.io/v2/sms-filter', {
method: 'POST',
headers: {
Authorization: 'Bearer ' + apiKey,
'Content-Type': 'application/json',
'Idempotency-Key': requestId,
},
body: JSON.stringify({ country: 'ES' }),
});
const result = await response.json();
if (!response.ok) throw new Error(result.error?.code ?? 'request_failed');
console.log(result.data.result, result.meta.unitsCharged);Exemple de réponse (200)
Il s’agit de l’exemple documenté dans la référence de l’API. Les recherches utilisent un numéro fictif ; les agrégats et les réponses de l’IA montrent la structure du résultat, pas des données réelles.
{
"data": {
"tool": "sms-filter",
"result": {
"country": "ES",
"version": "2026-03-10",
"updatedAt": "2026-03-10T00:00:00.000Z",
"source": "default",
"counts": {
"riskKeywords": 27,
"brandKeywords": 13,
"trustedDomains": 20,
"shortenerDomains": 10,
"blockedKeywords": 0
}
}
},
"meta": {
"requestId": "req_example",
"unitsCharged": 1,
"usage": {
"periodStart": "2026-10-01",
"unitLimit": 20,
"unitsUsed": 3,
"unitsRemaining": 17
}
}
}Champs du résultat (data.result)
| Champ | Type | Description |
|---|---|---|
| country | string | Pays du jeu de règles. |
| version | string | Version du jeu de règles. |
| updatedAt | string | null | Date de la dernière mise à jour des règles, ou null. |
| source | "database" | "legacy_default" | "default" | "empty" | Provenance des règles. |
| counts | object | Nombre de règles dans chaque liste. Les listes elles-mêmes ne sont jamais renvoyées. |
