InkSmith Press expose une API HTTP en version pour des modèles partagés et des tâches de production. Press Control dans Desktop utilise la même limite de gestion. L'API est pour les clients autorisés; elle n'est pas requise pour le travail local de bureau.
Découvrez l'instance
Un déploiement Press expose GET /health, GET /ready et GET /api/v1/instance. Utilisez la disponibilité et la découverte d'instances pour vérifier la version de l'API, la compatibilité des rendus et le schéma de gabarit accepté avant d'envoyer le travail.
Le serveur doit se trouver derrière sa passerelle HTTPS configurée pour une utilisation à distance. Suivez les options Guide de déploiement Press pour Docker et Windows Service.
Authentifier et portée d'un client
Envoyer Authorization: Bearer <token> sur les requêtes protégées. Les clients API ne reçoivent que les champs d'application dont ils ont besoin. Pour le rendu, les autorisations pertinentes sont renders.create, jobs.read et outputs.read. Les champs de gestion comprennent templates.read, templates.write et templates.publish.
Conservez les justificatifs émis à l'extérieur des modèles, le contrôle des sources et JavaScript du navigateur. Press stocke les identifiants API-client comme des hachages et prend en charge la révocation immédiate.
Soumettre et récupérer une tâche de rendu
Seul un modèle actif publié peut être rendu. Une demande typique est :
POST /api/v1/render-jobs
Authorization: Bearer <token>
Content-Type: application/json
Idempotency-Key: invoice-1042
{"template_id":"<published-template-id>","data":{"customer":{"name":"Ada"}}}
Le travail est asynchrone. Lisez GET /api/v1/render-jobs/:id jusqu'à ce que son statut soit completed, failed ou cancelled. Une fois terminé, GET /api/v1/render-jobs/:id/output retourne le PDF si l'appelant a outputs.read.
Réutiliser la même clé d'idempotency après une défaillance de réseau incertaine seulement pour la même demande et le même titre. Réutiliser avec une entrée modifiée produit 409 idempotency_conflict.
Gérer les révisions du modèle
Les collections, les modèles, les ébauches, les versions et les publications appartiennent au serveur. Le projet de transfert de contenu utilise application/vnd.inksmith.template. Les sauvegardes et la publication nécessitent la révision opaque en cours dans If-Match; une mise à jour en état d'évitement reçoit 412 template_revision_conflict. Une version publiée est immuable. La publication et le retour en arrière fonctionnent sur la révision séparée de la publication.
Voir Press Control pour le flux de travail d'édition de bureau. Le Guide de déploiement Press explique les chemins d'hébergement pris en charge et les limites actuelles.
Portée actuelle: L'administration interactive des utilisateurs et des rôles, l'inscription des certificats et certains contrôles de conservation sont encore en cours d'élaboration. Traiter l'API et les vérifications d'autorisation publiées comme le contrat; ne pas les contourner avec des modifications directes de la base de données.