wiki:ApiAppelOffre

Version 6 (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

boolean : oui = 1,y,o

"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"
"Stitching2","PC","piqure cheval","piqûre cheval"
"PerfectBinding","DCC" BrochageDosCarreColleItem(),
"PerfectBindingPUR","DCCPUR" BrochageDosCarreColleItem(PUR? = true),
"SewnBinding","DCCC" BrochageDosCarreCousuItem(),
"Stitching3" PiqureChevalItem(nbPiqures = 3),
"Stitching4" PiqureChevalItem(nbPiqures = 4),
"OpenEyesStitching2","PB", "piqure bouclette", "piqûre bouclette" PiqureBoucletteItem(nbPiqures = 2),
"OpenEyesStitching3" Piqure 3cBoucletteItem
"OpenEyesStitching4" Piqure 4 BoucletteItem
"WireO","WO"
"InlineStiching","PL" Piqure en ligne
"GluedOnFold","CP" Collage au pli
"Free","FreeBinding"
"Folded","NA" e
"orientation assemblage" "portrait","landscape", "" si vide ou les valeurs donné, à la française
"pliage" csv2pliage(current,lower_data), "plis portefeuille à 3 plis"
"découpe" csv2decoupe(current,lower_data), ""
"forme exitante" csv2decoupeExitante(current,lower_data), ""
"nbr de modèle" csv2nbModeles(current,lower_data), "4"
"quantité par tirage " csv2addModeles(current,lower_data), "3500"
"nbr de version (changement/modèle)" csv2nbVersions(current,lower_data), "1"
"largeur fini" csv2largeurFini(current,lower_data), "14,8"
"hauteur fini" csv2hauteurFini(current,lower_data), "21"
"largeur à plat","largeur a plat" csv2hauteurAplat(current,lower_data), "59,2"
"hauteur à plat","hauteur a plat" csv2largeurAplat(current,lower_data), "21"
"marque de papier" csv2marquePapier(current,data), "Couché Moderne sans bois Brillant"
"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.