wiki:ApiAppelOffre

Version 7 (modified by x.pechoultres@clariprint.com, 7 years ago) ( diff )

--

API d'Appel d'offre de Clariprint

L'API d'Appel d'Offre permet de lancer des calculs en lots.

API CSV

L'api CSV est adaptée pour des données provenant d'un tableur (Excel).

Base

  • Type de requête : POST
  • url : mon_domaine/optimprokect/csv.wcl

Création d'un appel d'offre

Données du formulaire :

  • key : clef API define au niveau du Client Optimproject
  • action => "creation"
  • callback : URL appelée par le système à la fin du calcul (à tester)
  • sheets : tableau de nom de feuille. ex : sheets[]="A"&sheets[]="B")
  • columns : tableau des colonne indexé sur les feuilles. ex : columns[A]="projet;code;hauteur;largeur;"
  • rows : tableau indexe des ligne de calcul (les projet à calculer)
    • la clef d'index contient "<nom de la feuille>!<num de ligne>" : le nom de la feuille doit correspondre à une feuille de sheets, le num de ligne doit juste permette une clef unique. sous un tableur on utilise le numéro de la ligne
    • valeurs : sous la forme d'une liste séparée par un ";" qui doit correspondre au colonnes (columns) définies.

Données retournées

Données retournées en mode CSV.

Une ligne retournant la clef de session

SESSION;<clef de session>

Pour chaque projet identifié, retourne une ligne

PROJECT;-;<nom du projet>;CREATE

Demande de résultats

Données du formulaire :

  • key : clef API define au niveau du Client Optimproject
  • session : le code session
  • action' :"status"
  • nb_responses : nombre de résultats retournés par lignes par default 1

Données retournées :

Pour chaque projet, une ligne de type :

PROJET;<id clariprint>;<reference>;<OK | CALCUL>;<meilleur tarif>;<mille plus>;<nom du fournisseur>;<rang>;<indice>

En mode CALCUL, les autres données sont vides.

Structures des colonnes

laisser vide si pas de certitudes de l'information.

boolean : oui = 1,y,o

Colonne Valeurs possible Informations
"ref", "reference", "code", "numero" texte référence du produit / devis
"type" dépliant / folded / feuillet / leaflet / brochure / book / chemise / folder type de produit
"procédé"  vide pour automatique, sinon une liste parmi : of, ouv, or, oc, n
"quantité totale", "qt" entier nombre total d'exemplaires du produit
"livré à plat", "flat" booléen pour un dépliant ou une chemise indique si il est livré à plat va
"assemblage","binding"
"PerfectBinding","DCC" Dos Carré Collé
"PerfectBindingPUR","DCCPUR" Brochage Dos Carré Collé PUR
"SewnBinding","DCCC" Brochage Dos Carré Cousu
"Stitching2","PC","piqure cheval","piqûre cheval" 2 agrafes
"Stitching3" 3 agrafes
"Stitching4" 4 agrafes
"OpenEyesStitching2","PB", "piqure bouclette", "piqûre bouclette" 2 bouclettes
"OpenEyesStitching3" 3 bouclettes
"OpenEyesStitching4" 4 bouclettes
"WireO","WO" Spirales
"InlineStiching","PL" Piqûre en ligne
"GluedOnFold","CP" Collage au pli
"Free","FreeBinding" libre, dans liaison
"Folded","NA" plié non assemblé
"orientation assemblage" "portrait","landscape" si vide ou les valeurs données, à la française
"pliage" code JDF ou voir liste ci-dessous
"découpe" cf code découpe
"forme exitante" bool si non, le coût de création de la forme de découpe
"nbr de modèle" entier "4"
"quantité par tirage " entier quantité par tirage la colonne peut être dupliqué par modèles
"nbr de version (changement/modèle)" nombre de version par modèle si applicable
"largeur fini", "width" en cm
"hauteur fini", "height" en cm
"largeur à plat","largeur a plat", "flat width" en cm, pour dépliant et chemise
"hauteur à plat","hauteur a plat", "flat height" en cm, pour dépliant et chemise
"marque de papier", "brand" marque de papier
"type de papier", "qualite de papier" csv2qualitePapier(current,data), "Couché Moderne sans bois Brillant"
"grammage" csv2grammagePapier(current,data), "150"
"encre r" csvAddEncreRecto(current,lower_data), "Q"
"encre v" csvAddEncreVerso(current,lower_data), "Q"
"r modif version" csvChangeEncreRecto(current,lower_data), "Aucune modification"
"v modif version" csvChangeEncreVerso(current,lower_data), "Aucune modification"
"finition r" csvAddFinitionRecto(current,lower_data), "Vernis Acrylique Satin avec réserve tampon"
"finition v" csvAddFinitionRecto(current,lower_data), "Vernis Acrylique Satin"
"trous" csv2trous(current,lower_data), ""
"perforation" csv2perforation(current,lower_data), ""
"numérotation" csv2numerotation(current,lower_data), ""
"rainage" csv2rainage(current,lower_data), "Automatique"
"gauffrage hauteur", "gauffrage h" csv2gauffrageH(current,lower_data), ""
"gauffrage largeur", "gauffrage l" csv2gauffrageL(current,lower_data), ""
"dorure" csv2dorureM(current,lower_data), ""
"dorure hauteur", "dorure h" csv2dorureH(current,lower_data), ""
"dorure largeur", "dorure l" csv2dorureL(current,lower_data), ""
"dorure matière", "dorure matiere" csv2dorureM(current,lower_data), ""
"forme de découpe" csv2decoupeExitante(current,lower_data), ""
"quantité conditionnee" csv2conditionnementQ(product,lower_data), "3500"
"nbr de lot" csv2conditionnementLot(product,lower_data), "4"
"emballage" csv2conditionnementEmballage(product,lower_data), "film"
"exemplaire" csv2conditionnementEmballageQt(product,lower_data), "25"
"nbr de point de livraison" none, "1"
"livraison point" csv2livraison(dev,data), "FR-08"
"livraison quantité" csv2livraisonQt(dev,data), "11900"
"composant","produit" (if (product % opFrontProduct/ProduitComposite)

when x := csv2composant(product,lower_data) in (

product.composants :add x, current := x)), ""

"type de produit" none, ""
"nbr de pages","pages" {
Note: See TracWiki for help on using the wiki.