Lewati ke konten utama

updateOrderByMarkerAndId

Modifikasi pesanan dalam penyimpanan pesanan. 🔐 Metode ini memerlukan otorisasi.

Deskripsi

Metode ini memperbarui satu pesanan di dalam penyimpanan pesanan yang ditentukan berdasarkan penanda dan id-nya. Ini mengembalikan Promise yang menyelesaikan menjadi objek IBaseOrdersEntity dengan pesanan yang diperbarui.

Orders.updateOrderByMarkerAndId(

marker*, id*, body*, langCode

);

Skema parameter

Skema

marker(required): string
Identifikasi teks dari objek penyimpanan pesanan
contoh: "order_storage_1"

id(required): number
ID dari objek pesanan
contoh: 12345

body(required): IOrderData
Objek untuk memperbarui pesanan
contoh:

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

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
Kuantitas produk.
contoh: 2

products.signedPrice: string
Harga yang ditandatangani dari produk diperoleh bersama dengan data produk saat 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"

🔒 signedPrice adalah 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.updateOrderByMarkerAndId("my-order", 1, body);

Contoh dengan harga tetap (signedPrice)

Kirim token signedPrice dari setiap produk (diperoleh saat produk diambil dengan signPrice diatur) sehingga pesanan yang diperbarui mempertahankan harga terkunci:


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.updateOrderByMarkerAndId("my-order", 1, body);

Contoh respons

{
"id": 55,
"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": null,
"bonusApplied": 0,
"totalDue": 285
},
"statusIdentifier": "inProgress",
"statusLocalizeInfos": {
"title": "In progress"
}
}

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
Kuantitas 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.