Sipariş indirimi
POST /order-discount
Bir siparişe indirim uygulamak için kullanılır. İndirim sipariş geneline, belirli kalemlere veya ikisine birden uygulanabilir.
İndirim tutarı doğrudan gönderilebileceği gibi, Adisyo'da tanımlı bir indirimin ID'si de gönderilebilir. Tanımlı indirim kullanıldığında tutar Adisyo tarafından hesaplanır. Tanımlı indirimlerin listesi için İndirim listesi sayfasına bakabilirsiniz.
İndirimin uygulandığı yer
İsteğin kökündeki discountId, discountAmount ve discountRate alanları sipariş geneline uygulanır.
orderDetails listesindeki alanlar ise ilgili kaleme uygulanır.
Gönderilmeyen taraf korunur: yalnızca orderDetails gönderildiğinde siparişin mevcut genel indirimi değişmez, yalnızca kök alanlar gönderildiğinde kalem indirimleri değişmez.
Örnek istek
Sipariş geneline indirim
curl -X POST 'https://ext.adisyo.com/api/External/v2/order-discount' \
--header "x-api-key: ..." \
--header "x-api-secret: ..." \
--header "x-api-consumer: ..." \
--header 'Content-Type: application/json' \
--data '{
"orderId": 4815162342,
"discountAmount": 50
}'Tanımlı indirim ile
curl -X POST 'https://ext.adisyo.com/api/External/v2/order-discount' \
--header "x-api-key: ..." \
--header "x-api-secret: ..." \
--header "x-api-consumer: ..." \
--header 'Content-Type: application/json' \
--data '{
"orderId": 4815162342,
"discountId": 34
}'Kalem bazlı indirim
curl -X POST 'https://ext.adisyo.com/api/External/v2/order-discount' \
--header "x-api-key: ..." \
--header "x-api-secret: ..." \
--header "x-api-consumer: ..." \
--header 'Content-Type: application/json' \
--data '{
"orderId": 4815162342,
"orderDetails": [
{ "orderDetailId": 671962, "discountId": 77 },
{ "orderDetailId": 671963, "discountAmount": 25 }
]
}'İstek Parametreleri
| Parametre | Data Tipi | Açıklama |
|---|---|---|
orderId | Number | İndirim uygulanacak siparişin Adisyo ID'si |
discountId | Number? | Sipariş geneline uygulanacak tanımlı indirimin ID'si. Gönderildiğinde tutar/oran tanımdan hesaplanır |
discountAmount | Decimal? | Sipariş geneline uygulanacak indirim tutarı |
discountRate | Decimal? | Sipariş geneline uygulanacak indirim oranı (0-100) |
orderDetails | Array? | Kalem bazlı indirimler |
orderDetails parametreleri
| Parametre | Data Tipi | Açıklama |
|---|---|---|
orderDetailId | Number | İndirim uygulanacak sipariş kaleminin Adisyo ID'si. Sipariş detayları yanıtındaki products[].id alanından alınır |
discountId | Number? | Kaleme uygulanacak tanımlı indirimin ID'si |
discountAmount | Decimal? | Kaleme uygulanacak indirim tutarı |
discountRate | Decimal? | Kaleme uygulanacak indirim oranı (0-100) |
Kurallar
- İstekte en az bir indirim bulunmalıdır: ya sipariş geneli için ya da en az bir kalem için.
discountIdile birliktediscountAmountveyadiscountRategönderilirsediscountIdönceliklidir, diğerleri dikkate alınmaz.discountIdgönderilmediğindediscountAmountvediscountRateaynı anda gönderilemez.- Aynı
orderDetailIdlistede birden fazla kez gönderilemez. - Kaleme uygulanan indirim, kalemin tutarını aşamaz.
- Toplam indirim (kalem indirimleri + sipariş geneli indirim) siparişin tutarını aşamaz.
Örnek cevap
İndirim uygulandı cevabı
{
"status": 100,
"message": "İndirim başarıyla uygulandı."
}