Sipariş indirimi
POST /OrderDiscount
Bu endpoint'in eski adresi /order-discount geriye dönük uyumluluk için bir süre daha çalışacaktır, ancak ileride kaldırılacaktır. Entegrasyonunuzu /OrderDiscount adresine geçirmeniz gerekir.
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
curl -X POST 'https://ext.adisyo.com/api/External/v2/OrderDiscount' \
--header "x-api-key: ..." \
--header "x-api-secret: ..." \
--header "x-api-consumer: ..." \
--header 'Content-Type: application/json' \
--data '{
"orderId": 4815162342,
"discountAmount": 50
}'curl -X POST 'https://ext.adisyo.com/api/External/v2/OrderDiscount' \
--header "x-api-key: ..." \
--header "x-api-secret: ..." \
--header "x-api-consumer: ..." \
--header 'Content-Type: application/json' \
--data '{
"orderId": 4815162342,
"discountId": 34
}'curl -X POST 'https://ext.adisyo.com/api/External/v2/OrderDiscount' \
--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. Tek başına gönderildiğinde tutar/oran tanımdan okunur |
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.
discountIdyanındadiscountAmountya dadiscountRategönderilirse gönderdiğiniz değer uygulanır; indirim yine o tanımlı indirim olarak kaydedilir.discountIdtek başına gönderilirse tanımdaki değer geçerlidir.discountAmountvediscountRateaynı anda gönderilemez;discountIdile birlikte de gönderilemez. Her seviyede yalnızca biri seçilmelidir.- 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
{
"status": 100,
"message": "İndirim başarıyla uygulandı."
}