par exemple : le 3ème article à moins -50%
Si vous souhaitez proposer des offres promotionnelles du type : le 3ème article à -50%. Vous pouvez procéder de la manière suivante.
Note : Les règles panier sont uniquement compatibles avec la configuration dynamique des modes d'expédition.
- Lors de l'appel à authorize (récupération de la 1click url), vous indiquez :
- que vous souhaitez pouvoir surcharger les prix des articles selon vos règles
- l'url que Oyst doit appeler pour récupérer les prix actualisés
POST /oneclick/v2/orders/authorize HTTP/1.1
Host: api.sandbox.oyst.eu
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json; charset=utf-8
Cache-Control: no-cache
{
"product":{...},
"order":{
"allow_discount_coupon": true, // or false
...
},
"notifications":{
"events":["order.cart.estimate"],
"url" : "URL_A_APPELER_POUR_RECUPERER_LES_PRIX_ACTUALISES"
}
}
- A chaque modification de la commande Oyst vous interroge pour que vous puissiez redéfinir les prix des articles de la commande.
Pour chaque article vous pouvez :
- surcharger le prix
- surcharger la quantité
- ajouter un message promotionnel (pas encore affiché en front)
- définir les modes d'expédition disponible et leurs tarifs
Sur la commande vous pouvez :
- appliquer des réductions sur le montant de la commande
- ajouter des produits offerts dans le panier
Au niveau de la commande, vous pouvez aussi ajouter un message promotionnel.
Exemple de réponse que vous devez fournir à Oyst :
{
"discount_coupon_error": "Code promo invalid", // Optional if coupon is invalid
"free_items": [{
"title": "Nom de l'article offert", // Obligatoire
"images": ["url_image"], // Obligatoire
"quantity": 1 // Optionnel (défaut à 1)
// ... Autres champs autorises
}],
"merchant_discounts": [{
"amount": { "value": 1000, "currency": "EUR" },
"name": "Nom de la réduction"
}],
"items":[
{
"amount":{
"currency":"EUR",
"value":"100"
},
"crossed_out_amount":{
"currency":"EUR",
"value":"1000"
},
"message":"-90% sur l'article 1 avec la PROMO 1",
"quantity":"1",
"reference":"ITEM1"
},
{
"amount":{
"currency":"EUR",
"value":"10000"
},
"crossed_out_amount":{
"currency":"EUR",
"value":"10000"
},
"quantity":"1",
"reference":"ITEM2"
},
{
"amount":{
"currency":"EUR",
"value":"1500"
},
"crossed_out_amount":{
"currency":"EUR",
"value":"3000"
},
"message":"-50% sur l'article 3 avec la PROMO 2",
"quantity":"1",
"reference":"ITEM3"
}
],
"message":"Vous bénéficiez d'une offre promotionnelle spéciale sur votre commande grâce à l'offre spéciale du jour",
"shipments":[
{
"amount":{
"currency":"EUR",
"value":690
},
"delay":48,
"primary":true,
"carrier":{
"id":"dpd",
"name":"DPD",
"type":"home_delivery"
}
},
{
"amount":{
"currency":"EUR",
"value":390
},
"delay":48,
"primary":false,
"carrier":{
"id":"tnt",
"name":"TNT",
"type":"home_delivery"
}
}
]
}
Configuration des modes d'expéditions
Si vous utilisez les règles panier, Oyst fera un appel unique pour récupérer les règles panier et les modes d'expéditions disponibles