Produits pris en charge
L'API PLV expose les familles de produits disponibles sur le site 123PLV.
Toutes les routes sont préfixées par
https://api.123imprim.com/0.2/plv/.
Récupérer les familles et leurs variantes
Une PLV se configure d'abord à partir d'une famille. La requête
GET https://api.123imprim.com/0.2/plv/famille/ retourne, pour chaque famille, ses formats,
supports, impressions, finitions, découpes et options disponibles.
Contrairement aux autres produits, une famille PLV peut proposer des options. Chaque option
contient la liste de ses variantes disponibles. Une variante est identifiée par son champ
id. Il n'existe pas d'endpoint catalogue séparé pour les variantes : la réponse de
famille/ constitue la source de vérité pour les variantes autorisées sur une famille.
Extrait simplifié d'une réponse :
[
{
"id": 76,
"nom_complet": "TOTEM ELLIPTIQUE",
"sans_impression_possible": false,
"formats": [
{"id": 22, "nom": "58x158cm"}
],
"supports": [
{"id": 7, "nom_complet": "Carton double micro-cannelure", "delai_min": 3}
],
"impressions": [
{"id": 1, "nom": "Quadri directe recto seul"}
],
"finitions": [],
"decoupes": [],
"options": [
{
"id": 3,
"nom": "Découpe",
"variantes": [
{"id": 5, "nom": "Standard"},
{"id": 6, "nom": "Double rainage central"}
]
},
{
"id": 1,
"nom": "Fourniture",
"variantes": [
{"id": 3, "nom": "Sans"},
{"id": 7, "nom": "2 crochets"}
]
}
]
}
]
Les listes globales sont aussi disponibles via format/, support/,
impression/, finition/ et decoupe/. Pour construire une configuration,
utilisez toutefois les éléments inclus dans la famille choisie afin de respecter ses compatibilités.
Calculer un prix
Le calcul se fait avec une requête POST sur
https://api.123imprim.com/0.2/plv/prix/. Le champ variantes contient une liste d'IDs
provenant des options de la famille. Lorsqu'une option est utilisée, une seule de ses variantes doit être
sélectionnée.
{
"famille": 76,
"format": 22,
"support": 7,
"impression": 1,
"quantite": 1,
"variantes": [5, 7],
"verification": false
}
Les prix retournés sont exprimés en centimes d'euro et regroupés par délai, comme pour les autres sites :
{
"J+6": {
"Message": "",
"PrixHT": "4800"
}
}
Les champs impression, finition et decoupe dépendent de la famille.
sans_impression_possible indique si une configuration sans impression est autorisée.
Une configuration incompatible avec la famille est refusée avec une réponse HTTP 400.
Créer un panier ou une commande
Les lignes envoyées à POST /0.2/plv/panier/ et
POST /0.2/plv/panier/validate/ utilisent la même structure que l'entrée prix/, y
compris la liste variantes. Les variantes sont enregistrées sur chaque ligne PLV et sont
conservées lors de la transformation du panier en commande.
{
"devis": "Référence partenaire",
"delai": 6,
"adresse_livraison": {
"prenom": "Jean",
"nom": "Dupont",
"societe": "Exemple",
"adresse1": "1 rue de Lyon",
"code_postal": "69007",
"ville": "LYON 07",
"telephone": "0102030405"
},
"lignes": [
{
"label": "Totem accueil",
"famille": 76,
"format": 22,
"support": 7,
"impression": 1,
"quantite": 1,
"variantes": [5, 7],
"verification": false
}
]
}
POST /0.2/plv/panier/ effectue une simulation : le panier est supprimé après la réponse.
POST /0.2/plv/panier/validate/ exige une authentification et transforme le panier en commande.
Les commandes du client authentifié sont consultables via GET /0.2/plv/commande/.