Utilisation avancée
La CLI dans la CI, dans les scripts et quand un problème survient.
Tout ce qui suit montre la CLI en train d'effectuer des tâches que vous feriez autrement à la main : vérifier qu'un déploiement fonctionne, produire un rapport ou vous indiquer lequel des sept problèmes possibles est survenu.
Dans un pipeline
Il n'y a pas de navigateur dans la CI. La clé provient donc de l'environnement. Chaque commande lit WAJUB_API_KEY, et quand elle est définie, elle l'emporte sur tous les profils, --profile compris.
#!/usr/bin/env bash
set -euo pipefail
export WAJUB_API_KEY="$WAJUB_SANDBOX_KEY" # from your CI secret store
# Fail the job if the key, the network or the account is wrong
wajub doctor --json > doctor.json
# Fail the job if the webhook endpoint disappeared
wajub webhooks list --json \
| jq -e '.items[] | select(.url == "https://example.com/webhooks/wajub")' > /dev/nullL'option --json rend la sortie de chaque commande exploitable, et jq -e transforme « aucun résultat » en code de sortie différent de zéro. C'est ce qui fait réellement échouer l'étape.
Une clé live dans la CI est une clé live dans vos logs
Utilisez une clé de sandbox pour tout ce qui s'exécute à chaque push. Réservez une clé live à une tâche volontaire et protégée. Ne l'affichez jamais, même masquée.
Codes de sortie et exécutions sans terminal
Une étape échoue selon le code de sortie : voici ce que renvoie la CLI.
| Code | Quand |
|---|---|
0 | La commande a fait ce qui lui était demandé |
1 | Tout échec : une erreur de l'API, une vérification de wajub doctor, une confirmation qui n'a pas pu être demandée, et un wajub trigger dont le scénario ne s'est pas terminé comme prévu. trigger attend jusqu'à 30 secondes que la sandbox règle le paiement ou le remboursement avant d'abandonner |
127 | La commande n'existe pas, comme le « command not found » d'un shell. La CLI propose la plus proche et ne l'exécute jamais à votre place |
Un pipeline n'a pas de terminal : la CLI ne peut rien y demander. Une commande qui demanderait une
confirmation (une suppression, un paiement, un transfert ou un remboursement avec une clé live,
wajub logout) échoue avec le code 1 sauf si vous passez --yes. wajub skills install exige
--scope. Une saisie masquée de clé (wajub config set, wajub login --manual) échoue aussi :
définissez plutôt WAJUB_API_KEY.
Rapports depuis le terminal
Les commandes de liste associées à jq remplacent de nombreux petits scripts.
# Yesterday's failures, with the reason
wajub payments list --status failed -f date_from=2026-01-14 -f date_to=2026-01-14 -f per_page=100 --json \
| jq -r '.items[] | [.created_at, .id, .amount, .currency, .failure_reason] | @tsv'
# Payouts still not settled
wajub transfers list --status processing --json \
| jq -r '.items[] | [.id, .amount, .currency, .created_at] | @tsv'--since et --until ne sont pas lues par l'API : les dates passent donc par -f date_from et
-f date_to, que seuls les paiements, les remboursements et les litiges acceptent. Elles couvrent
des journées calendaires entières. Pour une période plus courte, filtrez les horodatages dans jq
après avoir récupéré la journée.
Variables d'environnement
Chaque variable ci-dessous s'applique à toutes les commandes, et une option passée sur la ligne de commande l'emporte toujours sur elle, sauf pour la clé.
| Variable | Effet |
|---|---|
WAJUB_API_KEY | La clé à utiliser. L'emporte sur tous les profils, --profile compris |
WAJUB_PROFILE | Le profil à utiliser quand aucun --profile n'est passé |
WAJUB_MAX_RETRIES | Le nombre de nouvelles tentatives après une requête en échec. 2 par défaut, 0 les désactive |
WAJUB_TIMEOUT_MS | La durée maximale d'une requête, en millisecondes, avant qu'elle échoue avec Network Error |
WAJUB_NO_SKILLS | 1 empêche la CLI d'installer d'elle-même les Skills pour agents |
WAJUB_NO_LOGO | 1 masque le logo Wajub au-dessus de wajub, wajub help, wajub version et wajub doctor. Il n'apparaît de toute façon jamais dans un pipe ni avec --json |
Autocomplétion du shell
wajub completion installTAB complète alors les commandes, les options et leurs valeurs : les statuts qu'accepte --status
sur chaque commande list, les types d'événements et les jokers payment.* de
wajub listen --events (l'un après l'autre, séparés par des virgules), les événements de
wajub trigger, vos profils pour --profile et wajub config use, et les chemins de l'API pour
wajub get, post et delete. Cela fonctionne dans bash (3.2 et suivants, y compris celui de
macOS), zsh, fish et PowerShell.
La commande détecte votre shell, ou prend --shell bash|zsh|fish|powershell. Elle ajoute un bloc,
entre des marqueurs # >>> wajub completion >>>, à ~/.zshrc, ~/.bashrc (~/.bash_profile sous
macOS) ou $PROFILE ; pour fish, elle écrit ~/.config/fish/completions/wajub.fish. Ouvrez un
nouveau terminal, c'est tout : les scripts sont régénérés par la première commande après chaque mise
à jour, l'autocomplétion correspond donc toujours à la version installée.
wajub completion # quels shells l'ont, et où
wajub completion zsh # les lignes à ajouter vous-même, si vous gérez vos dotfiles à la main
wajub completion uninstall # retire le bloc, le fichier fish et les scriptsAvant la 1.7, wajub autocomplete installait l'autocomplétion autrement. Ces installations
continuent de fonctionner après la mise à jour, avec la nouvelle autocomplétion ;
wajub completion install remplace leur ligne dans votre fichier de démarrage.
Partir d'un exemple fonctionnel
$ wajub samples --list
Available samples:
webhooks Minimal webhook receiver with signature verification (Node.js, no dependencies)
$ wajub samples webhooks my-receiverL'exemple de webhook ne contient volontairement aucune dépendance. Vous pouvez ainsi lire toute la vérification dans un seul fichier, sans passer par un framework.
Accéder au Dashboard
wajub open # the dashboard home
wajub open payments
wajub open keysLes pages reconnues sont balance, customers, dashboard, disputes, keys, payments, refunds, settings, transfers et webhooks.
Quand un problème survient
Trois commandes, dans l'ordre croissant du niveau de détail fourni.
$ wajub version
@wajub/cli/1.7.3 darwin-arm64 node-v22.11.0
$ wajub status
● Wajub API is reachable, https://api.wajub.com (HTTP 200)
$ wajub doctor
Wajub CLI diagnostics
…seven checks, in orderstatus répond à la question « le problème vient-il de chez eux ou de chez moi ? » sans demander d'identifiants. doctor indique laquelle de vos sept configurations pose problème et termine par un identifiant de requête à transmettre au support.
| Symptôme | Vérification probable |
|---|---|
401 pour chaque commande | Les identifiants et le champ source affiché à côté |
| Les commandes ciblent le mauvais compte | source=env, une variable WAJUB_API_KEY restée exportée |
| Une commande n'existe pas | wajub help, et rappelez-vous que les sujets utilisent une espace |
Rien n'arrive dans wajub listen | Les identifiants, et si le profil utilise la sandbox ou le mode live |
| Une stack trace apparaît au démarrage | La version de Node, la version minimale est 22 |
Une commande inconnue échoue clairement au lieu d'effectuer une action inattendue.
$ wajub payment
› Error: "payment" is not a wajub command. Run `wajub help` for the list.Nous signaler ce qui manque
wajub feedbackLa commande ouvre le formulaire de retour dans votre navigateur. Ajoutez-y l'identifiant de requête obtenu avec wajub doctor : les deux premières questions d'un échange avec le support auront déjà leur réponse.
Pages associées
- Commandes API et ressourcesLa grammaire sur laquelle reposent ces scripts.
- Skills pour agentsL'autre élément que la CLI installe dans votre projet.
- SurveillanceLes mêmes vérifications, exécutées régulièrement plutôt que dans votre terminal.
- Passer en liveLes points à vérifier avant le premier paiement réel.