Aller au contenu

CLI Wajub

L'API, vos webhooks et votre sandbox depuis le terminal.

La CLI donne accès à la même API que votre code, sans avoir à en écrire. Elle accomplit quatre choses impossibles avec un simple alias curl : elle garde vos clés hors de l'historique du shell, transmet les événements live à localhost sans tunnel, produit de vrais paiements dans la sandbox à la demande et installe les recommandations de Wajub dans votre agent de programmation.

Les trois commandes utiles dès le premier jour
npm install -g @wajub/cli

wajub login
wajub doctor
wajub listen --forward-to localhost:3000/webhooks/wajub

La version 1.4.0 contient 91 commandes réparties dans 15 thèmes. Vous en utiliserez environ huit.

Ses points forts

Votre objectifCommande
Recevoir des événements live sur votre ordinateurwajub listen
Produire un véritable paiement dans la sandboxwajub trigger
Lire ou écrire une ressourcewajub payments list, wajub get /balance
Comprendre pourquoi rien ne fonctionnewajub doctor
Apprendre l'API à votre agent de programmationwajub skills install

Grammaire des commandes

Les thèmes sont séparés par une espace, pas par deux-points. Écrivez wajub payments list, jamais wajub payments:list.

Les quatre mêmes verbes pour chaque ressource
wajub payments list --limit 5
wajub payments retrieve trx_CSUGajfv9xh0XQ5wu2lx
wajub customers create -d email=amina@example.com -d name="Amina Nkem"
wajub customers update cus_4tRb3nP8sZcXvK2mQ9wL -d name="Amina N."

Tous les thèmes ci-dessous utilisent la même structure. En apprendre un suffit pour comprendre les autres.

ThèmeCommandesCouverture
payments6Créer, traiter, annuler, répertorier, récupérer et répertorier les remboursements
customers9Les quatre verbes, plus bloquer, débloquer, activer, désactiver et supprimer
invoices8Les quatre verbes, plus envoyer, marquer comme payée, annuler et supprimer
accounts6Les comptes connectés Sync, dont token
disputes6Accepter, clôturer, envoyer un message, fournir des justificatifs, répertorier et récupérer
shield6Liste de blocage, paramètres, statistiques, blocage et déblocage
webhooks6Endpoints, plus rotate-secret
beneficiaries, links5 chacunLes quatre verbes, plus supprimer
refunds, transfers, events, skills3 chacunCréer ou installer, répertorier et récupérer
identity2Associer un numéro à un nom et valider un compte
config2set et use pour les profils

S'y ajoutent les commandes sans thème : balance, channels, countries, currencies, listen, trigger, login, logout, doctor, status, version, open, samples, feedback, ainsi que les commandes brutes get, post et delete.

Quatre options disponibles sur chaque commande

OptionEffet
--jsonProduit une sortie exploitable par une machine au lieu d'un tableau
--profileUtilise un profil nommé à la place du profil par défaut
--api-baseUtilise un autre hôte pour l'API
--api-keyTransmet directement une clé. Obsolète, elle apparaît dans l'historique du shell

La dernière option est volontairement absente de --help. Utilisez wajub login, ou WAJUB_API_KEY dans la CI.

En cas de problème, interrogez d'abord la CLI

wajub doctor contrôle dans l'ordre les sept éléments qui peuvent casser une intégration et indique précisément celui qui échoue.

wajub doctor
Wajub CLI diagnostics

  Config  2 profile(s), default: sandbox
  Credentials  key=pk_test.mT9xW…  env=sandbox  base=https://api.wajub.com  source=profile
  API reachability  https://api.wajub.com (HTTP 200)
  Auth  API key accepted, Boutique Akwa (sandbox)
  Node.js  v22.11.0 (≥ 20 required)
  Environment  wajub-cli v1.4.0  node v22.11.0  darwin/arm64
  Support  last request id: fbe6773e9ce64f158af89e5740fc5817

Everything looks good.

Copiez la dernière ligne dans votre message au support. L'identifiant de requête lui permet de retrouver votre appel dans les logs sans autre information.

Vérifiez le profil actif avant toute opération destructive

wajub config répertorie vos profils, masque leurs clés et marque celui utilisé par défaut. Une commande delete ou transfers create exécutée sur le mauvais profil déplace de l'argent réel.

Que pensez-vous de ce contenu ?