Aller au contenu

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 lorsqu'aucun profil n'est configuré.

Un test rapide après le déploiement
#!/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/null

L'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.

Rapports depuis le terminal

Les commandes de liste associées à jq remplacent de nombreux petits scripts.

Deux rapports utiles
# Yesterday's failures, with the reason
wajub payments list --status failed --since 2026-01-14 --until 2026-01-14 --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'

Rappelez-vous que --since et --until 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.

Communiquer avec un autre hôte

--api-base dirige une commande vers une autre API. Cette option permet de piloter une plateforme locale ou un environnement de staging sans toucher à vos profils.

Avec une API locale
wajub doctor --api-base http://api.wajub.test
wajub payments list --api-base http://api.wajub.test --limit 5

Pour un usage quotidien, créez plutôt un profil afin de ne jamais oublier l'option.

Un profil local nommé
wajub config set local \
  --base-url http://api.wajub.test \
  --secret-key sk_test.mT9xW2kQ7vB4nL6hR1cY8dF3jS5aG0eU2pA…

wajub payments list --profile local

Autocomplétion du shell

Installer l'autocomplétion pour votre shell
wajub autocomplete

La commande affiche les deux lignes à ajouter au profil de votre shell, pour bash, zsh ou fish. Cette minute est bien investie : personne ne retient quatre-vingt-onze commandes.

Partir d'un exemple fonctionnel

wajub samples
$ wajub samples --list

Available samples:
  webhooks               Minimal webhook receiver with signature verification (Node.js, no dependencies)

$ wajub samples webhooks my-receiver

L'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
wajub open              # the dashboard home
wajub open payments
wajub open keys

Les 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.

De la plus rapide à la plus complète
$ wajub version
@wajub/cli/1.4.0 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 order

status 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ômeVérification probable
401 pour chaque commandeLes identifiants et le champ source affiché à côté
Les commandes ciblent le mauvais comptesource=env, une variable WAJUB_API_KEY restée exportée
Une commande n'existe paswajub help, et rappelez-vous que les sujets utilisent une espace
Rien n'arrive dans wajub listenLes identifiants, et si le profil utilise la sandbox ou le mode live
Une stack trace apparaît au démarrageLa version de Node, la version minimale est 20

Une commande inconnue échoue clairement au lieu d'effectuer une action inattendue.

Une faute de frappe ne déclenche aucune supposition
$ wajub payment

   Error: "payment" is not a wajub command. Run `wajub help` for the list.

Nous signaler ce qui manque

wajub feedback
wajub feedback

La 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.

Que pensez-vous de ce contenu ?