Aller au contenu
Printaya

Référence

L'API Printaya, point par point

Si vous intégrez Printaya pour la première fois, commencez par le guide d'intégration : il enchaîne les quatre appels qui suffisent à imprimer.

Les bases

Adressehttps://api.printaya.com
AuthentificationAuthorization: Bearer VOTRE_JETON
FormatJSON, sauf l'envoi d'un document (multipart/form-data)
PortéeVotre jeton ne voit que vos postes, vos imprimantes et vos documents

Impressions

Envoyer un document

POST /api/v1/jobs

Envoie un PDF à une imprimante. Répond 201 avec le job créé, ou 200 avec le job existant si la même idempotency_key a déjà été vue.

ParamètreTypeRequisDescription
file fichier PDF oui 50 Mo maximum.
printer_id entier oui L'imprimante où le document doit sortir.
copies entier non De 1 à 99. Défaut : 1.
color booléen non true pour imprimer en couleur. Défaut : false.
title texte non Nom affiché dans l'historique. Défaut : le nom du fichier.
idempotency_key texte non Votre identifiant unique pour ce document. Renvoyer la même clé (réseau coupé, nouvel essai) rend le job existant au lieu d'imprimer deux fois.
queue_id entier non Flux de rangement. Défaut : votre flux principal.

Envoyé en multipart/form-data.

Options d'impression

Toutes facultatives, sur le modèle de PrintNode. En multipart, chaque option est un champ options[nom] : options[duplex]=long-edge.

OptionTypeExempleDescription
bin texte Bac 2 Bac papier, par le nom que lui donne le pilote.
collate booléen true Assemble les exemplaires (1, 2, 3 puis 1, 2, 3). Défaut : réglage du pilote.
color booléen false false pour imprimer en niveaux de gris. Même effet que color à la racine.
copies entier 2 Nombre d'exemplaires, de 1 à 99. Même effet que copies à la racine.
dpi texte 600x600 Résolution, par exemple 600 ou 600x600. Doit être proposée par le pilote.
duplex texte long-edge long-edge (recto verso, reliure grand côté), short-edge (petit côté) ou one-sided (recto seul).
fit_to_page booléen true Ajuste chaque page à la feuille. Défaut : true ; false imprime à la taille réelle.
media texte Plain Type de support (ordinaire, photo...). Accepté, mais pas encore appliqué par l'agent Windows.
nup entier 2 Pages par feuille : 1, 2, 4, 6, 9 ou 16.
pages texte 1-3 Pages à imprimer : 1,3 (la 1 et la 3), 1-5, -5 (jusqu'à la 5), 3- (à partir de la 3).
paper texte A4 Format, par son nom : A4, A3, A5, Letter... Doit exister sur l'imprimante.
rotate entier 90 Rotation de chaque page, en degrés : 0, 90, 180 ou 270.

Une option que l'imprimante ne sait pas appliquer (format, bac, résolution ou recto verso absents) fait échouer le document avant toute impression, avec la raison dans error_message. Les postes dont l'agent est antérieur à la version 1.5.0 ignorent ces options.

POST /api/v1/jobs curl
curl -X POST https://api.printaya.com/api/v1/jobs \
  -H "Authorization: Bearer $PRINTAYA_TOKEN" \
  -F file=@document.pdf \
  -F printer_id=12 \
  -F copies=12 \
  -F color=true \
  -F title=valeur \
  -F idempotency_key=valeur \
  -F queue_id=12 \
  -F 'options[duplex]=long-edge' \
  -F 'options[pages]=1-3'

Suivre l'état d'un document

GET /api/v1/jobs/{job_id}

L'état actuel du job (voir « Statuts » plus bas).

GET /api/v1/jobs/{job_id} curl
curl -X GET https://api.printaya.com/api/v1/jobs/{job_id} \
  -H "Authorization: Bearer $PRINTAYA_TOKEN"

Lister les documents

GET /api/v1/jobs

Tous vos jobs, du plus récent au plus ancien.

Paramètre d'URLExempleDescription
status completed Filtre facultatif sur un statut.
GET /api/v1/jobs curl
curl -X GET https://api.printaya.com/api/v1/jobs?status=completed \
  -H "Authorization: Bearer $PRINTAYA_TOKEN"

Annuler un document

PATCH /api/v1/jobs/{job_id}/cancel

Seulement tant que le poste ne l'a pas pris en charge ; ensuite 409.

PATCH /api/v1/jobs/{job_id}/cancel curl
curl -X PATCH https://api.printaya.com/api/v1/jobs/{job_id}/cancel \
  -H "Authorization: Bearer $PRINTAYA_TOKEN"

Imprimantes

Lister les imprimantes

GET /api/v1/printers

Toutes vos imprimantes, avec leur id (printer_id), leur poste, leur état et l'imprimante par défaut.

GET /api/v1/printers curl
curl -X GET https://api.printaya.com/api/v1/printers \
  -H "Authorization: Bearer $PRINTAYA_TOKEN"

Lister les postes

GET /api/v1/agents

Les ordinateurs où l'agent Printaya est installé, et leur état de connexion.

GET /api/v1/agents curl
curl -X GET https://api.printaya.com/api/v1/agents \
  -H "Authorization: Bearer $PRINTAYA_TOKEN"

Flux

Lister les flux

GET /api/v1/print-queues

Facultatif : les flux servent à ranger vos documents (par agence, par service...).

GET /api/v1/print-queues curl
curl -X GET https://api.printaya.com/api/v1/print-queues \
  -H "Authorization: Bearer $PRINTAYA_TOKEN"

Créer un flux

POST /api/v1/print-queues

Un flux de plus, à passer ensuite en queue_id.

ParamètreTypeRequisDescription
name texte oui Nom lisible.
routing_key texte oui Clé unique parmi vos flux (ex. agence.nord).
description texte non

Envoyé en application/json.

POST /api/v1/print-queues curl
curl -X POST https://api.printaya.com/api/v1/print-queues \
  -H "Authorization: Bearer $PRINTAYA_TOKEN" \
  -d name=valeur \
  -d routing_key=valeur \
  -d description=valeur

Statuts d'un document

Rendus dans le champ status. Un statut définitif ne changera plus ; les autres évoluent au fil de l'impression.

ValeurAu tableau de bordSignifieDéfinitif ?
queued en attente Le document est stocké et l'ordre envoyé au poste. C'est l'état normal juste après l'envoi. non
claimed pris en charge Le poste a réservé le document et le télécharge. non
printing impression Le document a été remis au spouleur Windows ; l'agent attend qu'il ait fini. non
completed imprimé Le spouleur a terminé : tout le document a été remis à la machine. C'est l'état de réussite. oui
failed échec Le document n'a pas pu être imprimé. La raison est dans error_message. oui
to_verify à vérifier Le poste a disparu après avoir pris le document : personne ne sait s'il est sorti. Un humain tranche depuis le tableau de bord - Printaya ne réimprime jamais tout seul. oui
cancelled annulé Annulé avant la prise en charge par le poste. oui