Ana içeriğe geç

createOrder

Sipariş depolama alanında bir sipariş oluşturma. 🔐 Bu yöntem yetkilendirme gerektirir.

Açıklama

Bu yöntem, istek gövdesine varsayılan dili ekleyecektir. Dili değiştirmek isterseniz, sadece ikinci argüman olarak geçirin. Belirtilen sipariş depolama alanında bir sipariş oluşturur. Bir Promise döner ve bu Promise, bir IBaseOrdersEntity nesnesine çözülür.

Orders.createOrder(

marker*, body*, body.formIdentifier*, body.paymentAccountIdentifier*, body.formData*, formData.marker*, formData.type*, formData.value*, body.products*, products.productId*, products.quantity*, body.couponCode, body.additionalDiscountsMarkers, body.bonusAmount, langCode

);

Parametreler şeması

Şema

marker(required): string
Sipariş depolama nesnesinin metinsel tanımlayıcısı
örnek: "order_storage_1"

body(required): IOrderData
Bir sipariş oluşturmak için nesne
örnek:

{
"formIdentifier": "bar-orders-form",
"paymentAccountIdentifier": "usd-payment",
"formData": {
"marker": "name_1",
"value": "Name",
"type": "string"
},
"products": [
{
"productId": 1,
"quantity": 2
}
]
}

body.formIdentifier(required): string
Sipariş deposuna bağlı form nesnesinin metinsel tanımlayıcısı.
örnek: "bar-orders-form"

body.paymentAccountIdentifier(required): string
Sipariş deposuna bağlı ödeme nesnesinin metinsel tanımlayıcısı.
örnek: "payment-1"

body.formData(required): IOrdersFormData | IOrdersFormData[]
Sipariş deposuna bağlı form verileri.
örnek:

[
{
"marker": "name_1",
"value": "Name",
"type": "string"
}
]

formData.marker(required): string
Form alanının işareti.
örnek: "name_1"

formData.type(required): string
Değerin türü.
örnek: "string"

formData.value(required): string
Değer.
örnek: "İsim"

body.products(required): IOrderProductData[]
Sipariş edilen ürünlerin dizisi.
örnek: []

products.productId(required): number
Ürün tanımlayıcısı.
örnek: 1

products.quantity(required): number
Ürünün miktarı.
örnek: 2

body.couponCode: string
Kupon kodu.

body.additionalDiscountsMarkers: string[]
Ek indirim işaretleri dizisi.

body.bonusAmount: number
Uygulanacak bonus miktarı.

langCode: string
Dil kodu. Varsayılan: "en_US"
örnek: "en_US"

Örnekler

Minimal örnek


const body = {
"formIdentifier": "orderForm",
"paymentAccountIdentifier": "cash",
"formData": {
{
"marker": "order_name",
"type": "string",
"value": "Ivan"
}
},
"products": [
{
"productId": 2,
"quantity": 2
}
]
};

const response = await Orders.createOrder("my-order", body);

Örnek yanıt

{
"id": 551,
"formIdentifier": "orderForm",
"paymentAccountIdentifier": "cash",
"formData": [
{
"marker": "order_name",
"value": "Ivan",
"type": "string"
}
],
"products": [
{
"productId": 2957,
"quantity": 2
}
],
"currency": "",
"totalSum": 300,
"bonusApplied": 0,
"totalDue": 300,
"discountConfig": {
"orderDiscounts": [],
"productDiscounts": [],
"coupon": null,
"settings": {
"allowStacking": false,
"maxDiscountValue": null,
"allowGiftStacking": false,
"maxBonusPaymentPercent": null,
"minBonusAmount": null,
"minOrderAmountForBonus": null,
"giftRefundPolicy": "KEEP_GIFT"
},
"additionalDiscountsMarkers": [],
"totalRaw": 300,
"totalSumWithDiscount": 300,
"excludedGiftProductIds": [],
"bonus": {
"availableBalance": 0,
"maxBonusDiscount": 0,
"minBonusAmount": null,
"minOrderAmountForBonus": null,
"bonusApplied": 0
},
"bonusApplied": 0,
"totalDue": 300
},
"createdDate": "2026-04-15T14:20:29.645Z"
}

Yanıt şeması

Şema: IBaseOrdersEntity

id: number
Nesne tanımlayıcısı.
örnek: 1

formIdentifier: string
Formun metinsel tanımlayıcısı.
örnek: "bar-orders-form"

paymentAccountIdentifier: string
Sipariş ödemesinin metinsel tanımlayıcısı.
örnek: "payment-1"

formData: IOrdersFormData[]
Sipariş deposuna bağlı form tarafından gönderilen veriler.
örnek:

[
{
"marker": "name_1",
"value": "Name",
"type": "string"
}
]

formData.marker: string
Form alanının işareti.
örnek: "name_1"

formData.type: string
Değerin türü.
örnek: "string"

formData.value: string
Değer.
örnek: "İsim"

products: IOrderProductsData[]
Siparişe eklenen ürünlerin dizisi.
örnek:

[
{
"id": 2957,
"title": "Cosmo",
"sku": null,
"previewImage": null,
"price": 150,
"quantity": 2
}
]

products.productId: number
Ürün tanımlayıcısı.
örnek: 1

products.quantity: number
Ürünün miktarı.
örnek: 2

currency: string
Siparişin ödenmesinde kullanılan para birimi.
örnek: "USD"

totalSum: number
Toplam sipariş tutarı.
örnek: NaN

createdDate: string
Sipariş oluşturma tarihi.
örnek: "2023-10-01T12:00:00Z"

statusIdentifier: string
Sipariş durumu nesnesinin metinsel tanımlayıcısı (ayarlanmadıysa varsayılan durum atanacaktır).
örnek: "status-1"

couponCode: string
**

discountConfig: IOrderDiscountConfig
Siparişe uygulanan indirim yapılandırması.

discountConfig.bonus: IOrderDiscountBonus | null
Bonus hesaplama sonucu veya bonus kullanılmadığında null.

bonus.availableBalance: number
Kullanıcının hesaplama anındaki bonus bakiyesi.
örnek: 0

bonus.bonusApplied: number
Bu siparişe gerçekten uygulanan bonus miktarı.
örnek: 0

bonus.maxBonusDiscount: number
Bu sipariş için harcanmasına izin verilen maksimum bonus miktarı.
örnek: 0

bonus.minBonusAmount: number | null
Bonus kullanmak için gereken minimum bonus bakiyesi veya eşiği yoksa null.
örnek: null

bonus.minOrderAmountForBonus: number | null
Bonus uygulamak için gereken minimum sipariş toplamı veya eşiği yoksa null.
örnek: null

discountConfig.coupon: unknown | null
Çözümlenen kupon veya uygulanmadığında null.

discountConfig.orderDiscounts: unknown[]
Eşleşen ve uygulanan sipariş düzeyindeki indirimler.

discountConfig.productDiscounts: unknown[]
Eşleşen ve uygulanan ürün düzeyindeki indirimler.

discountConfig.settings: IOrderDiscountSettings
Hesaplama sırasında kullanılan birleştirme ve sınır ayarları.

settings.allowGiftStacking: boolean
Birden fazla hediye indirimlerinin birleştirilip birleştirilemeyeceği.
örnek: false

settings.allowStacking: boolean
Birden fazla hediye olmayan indirimlerin birleştirilip birleştirilemeyeceği.
örnek: false

settings.maxDiscountValue: number | null
Toplam indirim değerinde sert sınır veya sınır yoksa null.
örnek: null

discountConfig.additionalDiscountsMarkers: string[]
Müşteri tarafından talep edilen ek indirim işaretleri (önizleme yanıtlarında atlanır).

discountConfig.bonusApplied: number
Siparişe uygulanan bonus miktarı (önizleme yanıtlarında atlanır).
örnek: 0

discountConfig.excludedGiftProductIds: string[]
Hediye seçiminden hariç tutulan ürün id'leri (önizleme yanıtlarında atlanır).

discountConfig.totalDue: number
İndirimler ve bonuslar sonrası ödenecek toplam tutar (önizleme yanıtlarında atlanır).
örnek: 300

discountConfig.totalRaw: number
İndirimlerden önceki toplam tutar (önizleme yanıtlarında atlanır).
örnek: 300

discountConfig.totalSumWithDiscount: number
İndirimlerden sonra ancak bonuslardan önceki toplam tutar (önizleme yanıtlarında atlanır).
örnek: 300

bonusAmount: number
Siparişe uygulanan bonus miktarı.

bonusApplied: number
Siparişe uygulanan bonus.

totalDue: number
Bonuslar sonrası ödenecek toplam tutar.