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.