Aller au contenu principal

Bac à sable avec les clés de test

Vous pouvez construire et tester votre intégration sans imprimante ni agent installé.

Bac à sable du cloud (clés jp_test_)​

Créez une clé d'API en mode test (Tableau de bord → Développeurs → Clés d'API, mode Test). Son préfixe est jp_test_.

Les travaux créés avec une clé de test n'atteignent jamais un appareil. Le cloud les imprime sur sa propre imprimante virtuelle :

  • aucun appareil ni imprimante n'est nécessaire (printerId et deviceId sont facultatifs) ;
  • le travail passe par queued, sending puis printed (ou failed), et déclenche les mêmes webhooks qu'un vrai travail ;
  • les travaux ticket, ESC/POS, raw et texte gardent un aperçu PNG du papier imprimé.
curl -X POST https://api.jodaprint.dev/v1/jobs \
-H "Authorization: Bearer jp_test_…" \
-H "Content-Type: application/json" \
-d '{"type":"text","encoding":"utf8","data":"Mèsi anpil"}'

curl https://api.jodaprint.dev/v1/jobs/<id>/preview \
-H "Authorization: Bearer jp_test_…" -o job.png

Avec le SDK Node : await jp.jobs.preview(job.id).

L'aperçu est dessiné par le moteur de l'agent lui-même, compilé en WebAssembly : il montre exactement ce qu'imprime une imprimante thermique de 80 mm ou 58 mm. Les images distantes (https://… dans un bloc image) s'affichent comme une case barrée, car le cloud ne les télécharge pas ; les images base64 intégrées s'affichent.

Les travaux du bac à sable ne comptent pas dans les travaux mensuels du forfait. Ils ont "mode": "test" dans l'API et apparaissent dans la liste des travaux du tableau de bord comme les autres.

Aperçu de ticket​

POST /v1/receipt/preview transforme n'importe quel document ticket en PNG sans créer de travail (portée jobs:write) :

curl -X POST https://api.jodaprint.dev/v1/receipt/preview \
-H "Authorization: Bearer $JODAPRINT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"document":{"width":"58mm","blocks":[{"type":"text","value":"Test"}]},"paper":"58mm"}' -o receipt.png

Options : paper (58mm ou 80mm), profile (profil d'imprimante, generic-80mm par défaut) et footer (ajoute la ligne « Printed with JodaPrint » du forfait gratuit).

Imprimante virtuelle locale​

Chaque agent affiche une imprimante nommée JodaPrint Virtual. Elle enregistre chaque travail dans le dossier de données de l'agent (virtual/) : les octets envoyés, un aperçu PNG et un fichier JSON décrivant le travail. Utilisez-la pour tester le mode local depuis le navigateur, sans papier :

await jp.print({ printer: { name: "JodaPrint Virtual" }, type: "receipt", data: monTicket });

Désactivez-la avec printers.virtual.enabled: false dans la configuration de l'appareil.