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.

  1. 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"
   }
}
  1. 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