Logs API
Chaque requête effectuée, avec les deux corps et la raison de son échec.
Chaque appel à l'API est enregistré : la méthode, le chemin, le statut, sa durée, les en-têtes et les deux corps. Lorsqu'un appel ne produit pas le résultat attendu, cette vue est la seule qui puisse vous indiquer ce que vous avez réellement envoyé.
API logsstatus: error
| Method | Endpoint | Status | Duration | Version |
|---|---|---|---|---|
| POST | /payments | 201 | 412 ms | 2026-09-01 |
| POST | /payments/trx_CSUGajfv9xh0XQ5wu2lx | 200 | 88 ms | 2026-09-01 |
| POST | /transfers | 201 | 690 ms | 2026-09-01 |
| POST | /payments/trx_9mWvL2xR7tB5nY4hC6dF | 402 | 1203 ms | 2026-09-01 |
| GET | /balance | 200 | 42 ms | 2026-09-01 |
| POST | /payments | 500 | 5012 ms | 2026-08-01 |
Filtres
Neuf filtres peuvent être combinés. Ils figurent tous dans l'URL, ce qui permet de partager une vue filtrée.
| Filtre | Élément recherché |
|---|---|
| Recherche | Recherche en texte intégral dans l'URL, l'identifiant de la requête, l'adresse IP, la méthode et le message d'erreur |
| Statut | success pour un code inférieur à 400, error à partir de 400, ou un code précis |
| Méthode | GET, POST, PUT, PATCH, DELETE |
| Endpoint | Une partie de l'URL |
| Adresse IP | Une partie de l'adresse IP de l'appelant |
| Date de début, date de fin | Des journées calendaires entières |
| Durée minimale, durée maximale | Des millisecondes, pour trouver les appels les plus lents |
Il n'existe aucun langage de requête
La recherche porte sur du texte brut, pas sur une syntaxe. status:5xx ne renvoie aucun résultat, car cette chaîne est recherchée telle quelle. Utilisez le sélecteur de statut pour les codes et le champ de recherche pour les chaînes de caractères.
Les résultats sont paginés par groupes de 50, du plus récent au plus ancien.
Contenu d'une ligne
| Champ | Remarque |
|---|---|
request_id | L'identifiant de corrélation, également renvoyé dans X-Request-Id |
method, path, full_url | L'URL complète inclut les paramètres d'URL |
status_code, status_label | |
duration_ms | Durée côté serveur, sans votre réseau |
ip_address | L'appelant |
error_message | Présent uniquement si l'appel a échoué |
api_version | La version utilisée pour traiter cet appel |
api_key_id, secret_key_id, sync_key_id, pulse_key_id | La clé utilisée |
slave_team_id | Défini lorsque l'appel agit sur un compte connecté |
Les colonnes de clés permettent de trouver rapidement les appels effectués par un composant oublié. Un ancien worker qui utilise encore une clé renouvelée apparaît avec son propre identifiant de clé.
Le panneau de détail
La sélection d'une ligne ouvre l'enregistrement complet : en-têtes de requête, en-têtes de réponse, corps de la requête, corps de la réponse, agent utilisateur et trace d'erreur lorsqu'une exception s'est produite.
Vous pouvez ainsi lever vos propres doutes. Le corps affiché correspond à ce que l'API a reçu après le traitement par votre framework, votre client HTTP et votre sérialiseur.
Les corps sont tronqués au-delà d'une certaine taille
Le corps de la requête est conservé jusqu'à environ 250 Ko et celui de la réponse jusqu'à 500 Ko. Un payload plus volumineux est coupé. Une exportation ou une réponse de liste très volumineuse ne peut donc pas être reconstituée à l'identique.
Données masquées et données volontairement visibles
Les secrets sont masqués avant l'écriture du log. Aucune donnée sensible n'est donc stockée.
| Masqué | Laissé visible |
|---|---|
En-têtes Authorization, X-API-Key, Cookie, Grant-Authorization, X-Sync | Tous les autres en-têtes |
password, cvv, cvc, pin, pan, private_key | phone, email, name, address |
card.number à n'importe quel niveau et un champ number isolé | account_number, iban, phone_number |
exp_month, exp_year, expiry_date | Montants, devises, métadonnées, références |
La deuxième colonne résulte d'un choix volontaire : les champs métier restent lisibles, car un log illisible ne permet aucun débogage. Seules les données de carte sont systématiquement masquées.
Votre clé ne figure jamais dans le log
Pour savoir quelle clé a effectué un appel, utilisez les colonnes d'identifiant de clé. L'en-tête Authorization lui-même est enregistré sous la forme ***REDACTED***.
Faire le lien avec vos propres logs
Chaque réponse de l'API contient X-Request-Id. Enregistrez-le de votre côté. Toute discussion avec le support ou recherche dans Konsole devient alors une simple recherche au lieu d'une exploration des horodatages.
curl -i https://api.wajub.com/payments \
-H "Authorization: sk.kZ3qP8mWvL2xR7tB5nY4hC6dF9jS1aG0eU3i…" \
-d amount=25000 -d currency=XAF \
| grep -i x-request-idExportation
Vous pouvez exporter les filtres actuels au format CSV ou JSON, avec une limite de 10 000 lignes par exportation. Le CSV contient l'identifiant, la méthode, le chemin, le statut, la durée, l'adresse IP, l'erreur et l'horodatage. Le JSON contient les enregistrements complets.
Les exportations sont décomptées du quota mensuel max_exports de votre plan. Une fois le quota dépassé, l'exportation renvoie une erreur 403 explicite, pas un fichier tronqué.
Pages associées
- ÉvénementsCe que la plateforme a enregistré, par opposition à ce que vous avez appelé.
- Gestion des erreursLa signification de chaque code de statut et la marche à suivre.
- Plafonds et quotasLa raison pour laquelle certaines lignes renvoient une erreur 429.
- Vue d'ensembleLes cartes qui renvoient vers ces lignes.