createOrder
Membuat pesanan di penyimpanan pesanan. 🔐 Metode ini memerlukan otorisasi.
Deskripsi
Metode ini akan menambahkan bahasa default ke dalam body permintaan. Jika Anda ingin mengubah bahasa, cukup berikan dengan argumen kedua. Ini membuat pesanan di penyimpanan pesanan yang ditentukan. Ini mengembalikan Promise yang menyelesaikan menjadi objek IBaseOrdersEntity.
Orders.createOrder(
marker*,
body*,
langCode
);
Skema parameter
Skema
marker(required): string
Identifikasi tekstual dari objek penyimpanan pesanan
contoh: "order_storage_1"
body(required): IOrderData
Objek untuk membuat pesanan
contoh:
{
"formIdentifier": "bar-orders-form",
"paymentAccountIdentifier": "usd-payment",
"formData": {
"marker": "name_1",
"value": "Name",
"type": "string"
},
"products": [
{
"productId": 1,
"quantity": 2
}
]
}
body.formIdentifier(required): string
Identifikasi teks dari objek formulir yang terhubung ke repositori pesanan.
contoh: "bar-orders-form"
body.paymentAccountIdentifier(required): string
Identifikasi teks dari objek pembayaran yang terhubung ke repositori pesanan.
contoh: "payment-1"
body.formData(required): IOrdersFormData | IOrdersFormData[]
Data formulir yang terhubung ke repositori pesanan.
contoh:
[
{
"marker": "name_1",
"value": "Name",
"type": "string"
}
]
formData.marker(required): string
Penanda dari field formulir.
contoh: "name_1"
formData.type(required): string
Tipe nilai.
contoh: "string"
formData.value(required): string
Nilai.
contoh: "Nama"
body.products(required): IOrderProductData[]
Array produk yang dipesan.
contoh: []
products.productId(required): number
Identifikasi produk.
contoh: 1
products.quantity(required): number
Jumlah produk.
contoh: 2
products.signedPrice: string
Harga yang ditandatangani dari produk diperoleh bersama dengan data produk ketika signPrice diatur.
contoh: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
body.couponCode: string
Kode kupon.
body.additionalDiscountsMarkers: string[]
Array penanda diskon tambahan.
body.bonusAmount: number
Jumlah bonus yang diterapkan.
langCode: string
Kode bahasa. Default: "en_US"
contoh: "en_US"
🔒
signedPriceadalah token yang ditandatangani yang membawa harga terkunci — kembalikan saat Anda membuat pesanan. Lihat Harga produk tetap (signedPrice).
Contoh
Contoh minimal
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);
Contoh dengan harga tetap (signedPrice)
Ambil produk dengan signPrice diatur ke penanda penyimpanan pesanan Anda, lalu kembalikan setiap token signedPrice yang diterima dalam pesanan sehingga harga terkunci dihormati:
const { items } = await Products.getProducts([], "en_US", { signPrice: "my-order"});
const body = { "formIdentifier": "orderForm", "paymentAccountIdentifier": "cash", "formData": [], "products": [ { "productId": items[0].id, "quantity": 2, "signedPrice": items[0].signedPrice } ]};
const response = await Orders.createOrder("my-order", body);
Contoh respons
{
"id": 681,
"formIdentifier": "orderForm",
"paymentAccountIdentifier": "cash",
"formData": [
{
"marker": "order_name",
"value": "Ivan",
"type": "string"
}
],
"products": [
{
"productId": 2957,
"quantity": 2
}
],
"currency": "USD",
"totalSum": 285,
"bonusApplied": 0,
"totalDue": 285,
"discountConfig": {
"orderDiscounts": [
{
"id": 2,
"identifier": "personal_discount",
"type": "PERSONAL_DISCOUNT",
"localizeInfos": {
"title": "Personal discount"
},
"startDate": "2026-04-21T18:26:19.815Z",
"endDate": "2028-03-21T19:26:24.741Z",
"discountValue": {
"value": 15,
"maxAmount": null,
"discountType": "FIXED_AMOUNT",
"applicability": "TO_ORDER"
},
"exclusions": null,
"position": 1,
"conditionLogic": "AND",
"gifts": [],
"userGroups": null,
"userExclusions": null,
"conditions": [],
"coupon": null
}
],
"productDiscounts": [],
"coupon": null,
"settings": {
"allowStacking": true,
"maxDiscountValue": 50,
"allowGiftStacking": false,
"maxBonusPaymentPercent": null,
"minBonusAmount": null,
"minOrderAmountForBonus": null,
"giftRefundPolicy": "KEEP_GIFT"
},
"additionalDiscountsMarkers": [],
"totalRaw": 300,
"totalSumWithDiscount": 285,
"excludedGiftProductIds": [],
"bonus": {
"availableBalance": 0,
"maxBonusDiscount": 0,
"minBonusAmount": null,
"minOrderAmountForBonus": null,
"bonusApplied": 0
},
"bonusApplied": 0,
"totalDue": 285
},
"statusIdentifier": "inProgress",
"statusLocalizeInfos": {
"title": "In progress"
},
"createdDate": "2026-06-12T18:05:22.470Z"
}
Skema respons
Skema: IBaseOrdersEntity
id: number
Identifikasi objek.
contoh: 1
formIdentifier: string
Identifikasi teks dari formulir.
contoh: "bar-orders-form"
paymentAccountIdentifier: string
Identifikasi teks dari pembayaran pesanan.
contoh: "payment-1"
formData: IOrdersFormData[]
Data yang dikirimkan oleh formulir yang terhubung ke penyimpanan pesanan.
contoh:
[
{
"marker": "name_1",
"value": "Name",
"type": "string"
}
]
formData.marker: string
Penanda dari field formulir.
contoh: "name_1"
formData.type: string
Tipe nilai.
contoh: "string"
formData.value: string
Nilai.
contoh: "Nama"
products: IOrderProductsData[]
Array produk yang ditambahkan ke pesanan.
contoh:
[
{
"id": 2957,
"title": "Cosmo",
"sku": null,
"previewImage": null,
"price": 150,
"quantity": 2
}
]
products.productId: number
Identifikasi produk.
contoh: 1
products.quantity: number
Jumlah produk.
contoh: 2
currency: string
Mata uang yang digunakan untuk membayar pesanan.
contoh: "USD"
totalSum: string
Jumlah total pesanan.
contoh: "150"
createdDate: string
Tanggal pembuatan pesanan.
contoh: "2023-10-01T12:00:00Z"
statusIdentifier: string
Identifikasi teks dari objek status pesanan (jika tidak diatur, status default akan ditetapkan).
contoh: "status-1"
couponCode: string
**
discountConfig: IOrderDiscountConfig
Konfigurasi diskon yang diterapkan pada pesanan.
discountConfig.bonus: IOrderDiscountBonus | null
Hasil perhitungan bonus, null ketika bonus tidak digunakan, atau dihilangkan sepenuhnya ketika pesanan tidak memiliki konteks bonus.
discountConfig.coupon: unknown | null
Kupon yang diselesaikan, atau null ketika tidak ada kupon yang diterapkan.
discountConfig.orderDiscounts: unknown[]
Diskon tingkat pesanan yang dicocokkan dan diterapkan.
discountConfig.productDiscounts: unknown[]
Diskon tingkat produk yang dicocokkan dan diterapkan.
discountConfig.settings: IOrderDiscountSettings
Pengaturan penumpukan dan batas yang digunakan selama perhitungan.
discountConfig.additionalDiscountsMarkers: string[]
Penanda diskon ekstra yang diminta oleh klien (dihilangkan dalam respons pratinjau).
discountConfig.bonusApplied: number
Jumlah bonus yang diterapkan pada pesanan (dihilangkan dalam respons pratinjau).
contoh: 0
discountConfig.excludedGiftProductIds: string[]
ID produk yang dikecualikan dari pemilihan hadiah (dihilangkan dalam respons pratinjau).
discountConfig.totalDue: number
Jumlah total yang harus dibayar setelah diskon dan bonus (dihilangkan dalam respons pratinjau).
contoh: 300
discountConfig.totalRaw: number
Jumlah total sebelum diskon (dihilangkan dalam respons pratinjau).
contoh: 300
discountConfig.totalSumWithDiscount: number
Jumlah total setelah diskon tetapi sebelum bonus (dihilangkan dalam respons pratinjau).
contoh: 300
bonusAmount: number
Jumlah bonus yang diterapkan pada pesanan.
bonusApplied: number
Bonus yang diterapkan pada pesanan.
totalDue: number
Total yang harus dibayar setelah bonus.
Contoh penggunaan
Panduan langkah demi langkah dalam dokumentasi:
- Pembayaran pesanan — tempatkan pesanan sebagai pengguna yang terautentikasi dan bayar untuk itu.
- Pesanan tiket — pesan tiket acara dari awal hingga akhir.
- Pesanan tamu — tempatkan pesanan sebagai tamu tanpa registrasi.
Coba secara langsung
Jalankan metode ini secara interaktif di sandbox JS SDK — sambungkan URL Proyek dan Token Aplikasi Anda pada kunjungan pertama, lalu buka:
- Pembayaran pesanan — tempatkan pesanan sebagai pengguna yang terautentikasi dan bayar untuk itu.
- Pesanan tiket — pesan tiket acara dari awal hingga akhir.
- Pesanan tamu — tempatkan pesanan sebagai tamu tanpa registrasi.