Aller au contenu
Chargement des API keys…

Shield

Gérez les seuils de fraude, la liste de blocage et les statistiques depuis l'API.

Shield attribue un score à chaque paiement live et agit selon ce score. Sous votre seuil de vérification, le paiement passe. Entre les deux seuils, il est placé dans une file de vérification. Au niveau du seuil de blocage ou au-dessus, il est refusé. Ces endpoints lisent et modifient cette configuration.

MéthodeEndpointFonction
GET/shield/settingsLire vos seuils et vos options
PUT/shield/settingsLes modifier
GET/shield/statsÉléments bloqués, vérifiés et contestés ce mois-ci
GET/shield/blocklistLister vos valeurs bloquées
POST/shield/blocklistBloquer une valeur
DELETE/shield/blocklist/{id}La débloquer

Paramètres

GEThttps://api.wajub.com/shield/settings
curl https://api.wajub.com/shield/settings \
-H "Authorization: $WAJUB_API_KEY"
Réponse · 200 OK
{
"code": 200,
"status": "OK",
"settings": {
"enabled": true,
"advanced": false,
"block_threshold": 80,
"review_threshold": 50,
"auto_3ds_enabled": false,
"blocklist_enabled": false
}
}
enabledbooleanfacultatif
Indique si vos seuils, votre liste de blocage et vos règles sont appliqués. Consultez la remarque ci-dessous pour comprendre la valeur false.
advancedbooleanfacultatif
Lecture seule. Vaut true lorsque votre plan inclut Shield Advanced, qui débloque la liste de blocage, 3-D Secure automatique et les règles personnalisées.
block_thresholdintegerfacultatif
Un paiement dont le score atteint ou dépasse cette valeur est refusé. Entre 40 et le plafond de la plateforme.
review_thresholdintegerfacultatif
Un paiement dont le score atteint ou dépasse cette valeur est placé dans une file de vérification. Entre 10 et block_threshold moins un.
auto_3ds_enabledbooleanfacultatif
Soumet un paiement par carte risqué à 3-D Secure au lieu de le refuser. Nécessite Shield Advanced.
blocklist_enabledbooleanfacultatif
Indique si votre liste de blocage est consultée. Nécessite Shield Advanced.

Modifier les seuils

Envoyez uniquement les champs à modifier. Les champs absents conservent leur valeur actuelle.

curl -X PUT https://api.wajub.com/shield/settings \
-H "Authorization: $WAJUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "enabled": true, "block_threshold": 70, "review_threshold": 45 }'

Deux règles sont appliquées. Elles ajustent votre valeur au lieu de la refuser.

Un block_threshold inférieur à 40 ou supérieur à 100 renvoie 422. Dans cette plage, il est limité au plafond de la plateforme. Vous pouvez être plus strict que Wajub, jamais moins strict. Un review_threshold hors de la plage 10 à 99 renvoie aussi 422. Dans la plage, il est ramené sous block_threshold afin que la zone de vérification ne soit jamais vide.

Relisez la valeur enregistrée

L'appel PUT renvoie les paramètres réellement enregistrés après l'application du plafond. Si vous envoyez 95 pour un compte dont le plafond de plateforme vaut 80, la réponse indique 80. Fiez-vous à la réponse, pas à votre requête.

Liste de blocage

La liste de blocage refuse immédiatement un paiement avant le calcul du score. Cinq types de valeurs peuvent être bloqués :

typestringobligatoire
Une valeur parmi email, phone, ip, country, card_bin.
valuestringobligatoire
La valeur à bloquer, jusqu'à 255 caractères.
reasonstringfacultatif
Une remarque destinée à votre équipe, jusqu'à 500 caractères. Elle n'est jamais affichée au client.
curl https://api.wajub.com/shield/blocklist \
-H "Authorization: $WAJUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{
  "type": "phone",
  "value": "+237670000000",
  "reason": "Three chargebacks in September"
}'

Chaque écriture renvoie la liste complète. Aucun second appel n'est nécessaire pour actualiser votre vue :

Réponse · 201 Created
{
"code": 201,
"status": "Created",
"message": "Entry added to blocklist.",
"blocklist": [
{
"id": "01JXXXXXXXXXXXXXXXXXXXXXXX",
"team_id": "01JTTTTTTTTTTTTTTTTTTTTTTT",
"type": "phone",
"value": "+237670000000",
"reason": "Three chargebacks in September",
"created_at": "2026-09-14T09:12:44.000000Z",
"updated_at": "2026-09-14T09:12:44.000000Z"
}
]
}

Bloquer deux fois le même type et la même value met à jour le motif de l'entrée existante au lieu de créer un doublon. Vous pouvez donc relancer votre import sans risque. DELETE /shield/blocklist/{id} supprime une entrée et renvoie la liste restante.

Statistiques

GET /shield/stats couvre le mois calendaire en cours et uniquement le trafic live.

Réponse · 200 OK
{
"code": 200,
"status": "OK",
"stats": {
"blocked_this_month": 14,
"review_this_month": 39,
"open_disputes": 2,
"total_transactions": 4127,
"blocklist_entries": 6,
"block_rate": 0.34
}
}
blocked_this_monthintegerfacultatif
Tentatives de paiement refusées par Shield depuis le premier jour du mois.
review_this_monthintegerfacultatif
Tentatives placées dans une file de vérification depuis le premier jour du mois.
open_disputesintegerfacultatif
Litiges actuellement ouverts, toutes périodes confondues.
total_transactionsintegerfacultatif
Paiements live créés depuis le premier jour du mois.
blocklist_entriesintegerfacultatif
Entrées de votre liste de blocage, ou 0 lorsque blocklist_enabled vaut false.
block_ratenumberfacultatif
Pourcentage du total qui a été bloqué, arrondi à deux décimales.

Surveillez le taux de blocage, pas le nombre

Une hausse de blocked_this_month lorsque le trafic augmente est normale. Une hausse de block_rate constitue le véritable signal : elle indique une attaque ou un seuil trop bas qui refuse de vrais clients. Comparez cette valeur à review_this_month avant de modifier un seuil.

Que pensez-vous de ce contenu ?