Aller au contenu principal

updateOrderByMarkerAndId

Modification de commande dans le stockage des commandes. 🔐 Cette méthode nécessite l'autorisation.

Description

Cette méthode met à jour une seule commande dans le stockage des commandes spécifié par son marqueur et son identifiant. Elle renvoie une promesse qui se résout en un objet IBaseOrdersEntity avec la commande mise à jour.

Commandes.updateOrderByMarkerAndId(

marqueur*, id*, corps*, langCode

);

Schéma des paramètres

Schéma

marqueur(obligatoire): string
L'identifiant textuel de l'objet de stockage de commande
exemple : "order_storage_1"

id(obligatoire): number
ID de l'objet de commande
exemple : 12345

corps(obligatoire): IOrderData
Objet pour mettre à jour une commande
exemple :

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

corps.formIdentifier(obligatoire): string
Identifiant textuel de l'objet de formulaire lié au dépôt de commande.
exemple : "bar-orders-form"

corps.paymentAccountIdentifier(obligatoire): string
Identifiant textuel de l'objet de paiement lié au dépôt de commande.
exemple : "payment-1"

corps.formData(obligatoire): IOrdersFormData | IOrdersFormData[]
Données de formulaire liées au dépôt de commande.
exemple :

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

formData.marqueur(obligatoire): string
Marqueur du champ de formulaire.
exemple : "name_1"

formData.type(obligatoire): string
Type de valeur.
exemple : "string"

formData.value(obligatoire): string
Valeur.
exemple : "Nom"

corps.products(obligatoire): IOrderProductData[]
Un tableau de produits commandés.
exemple : []

products.productId(obligatoire): number
Identifiant du produit.
exemple : 1

products.quantity(obligatoire): number
Quantité du produit.
exemple : 2

products.signedPrice: string
Le prix signé du produit est obtenu avec les données du produit lorsque signPrice est défini.
voir : Prix fixe du produit
exemple : "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

corps.couponCode: string
Code de coupon.

corps.additionalDiscountsMarkers: string[]
Tableau de marqueurs de remises supplémentaires.

corps.bonusAmount: number
Montant du bonus à appliquer.

langCode: string
Code de langue. Par défaut : "en_US"
exemple : "en_US"

🔒 signedPrice est le jeton signé qui porte le prix verrouillé — renvoyez-le lorsque vous créez une commande. Voir Prix fixe du produit (signedPrice).

Exemples

Exemple minimal


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

const response = await Orders.updateOrderByMarkerAndId("my-order", 1, corps);

Exemple avec un prix fixe (signedPrice)

Passez le jeton signedPrice de chaque produit (obtenu lorsque les produits ont été récupérés avec signPrice défini) afin que la commande mise à jour conserve le prix verrouillé :


const { items } = await Products.getProducts([], "en_US", {
signPrice: "my-order"
});

const corps = {
"formIdentifier": "orderForm",
"paymentAccountIdentifier": "cash",
"formData": [],
"products": [
{
"productId": items[0].id,
"quantity": 2,
"signedPrice": items[0].signedPrice
}
]
};

const response = await Orders.updateOrderByMarkerAndId("my-order", 1, corps);

Exemple de réponse

{
"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-payment",
"statusLocalizeInfos": {
"title": "In progress"
}
}

Schéma de réponse

Schéma : IBaseOrdersEntity

id: number
Identifiant de l'objet.
exemple : 1

formIdentifier: string
Identifiant textuel du formulaire.
exemple : "bar-orders-form"

paymentAccountIdentifier: string
Identifiant textuel du paiement de la commande.
exemple : "payment-1"

formData: IOrdersFormData[]
Données soumises par le formulaire lié au dépôt de commande.
exemple :

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

formData.marqueur: string
Marqueur du champ de formulaire.
exemple : "name_1"

formData.type: string
Type de valeur.
exemple : "string"

formData.value: string
Valeur.
exemple : "Nom"

products: IOrderProductsData[]
Tableau de produits ajoutés à la commande.
exemple :

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

products.productId: number
Identifiant du produit.
exemple : 1

products.quantity: number
Quantité du produit.
exemple : 2

currency: string
Devise utilisée pour payer la commande.
exemple : "USD"

totalSum: number
Montant total de la commande.
exemple : 150

createdDate: string
Date de création de la commande.
exemple : "2023-10-01T12:00:00Z"

statusIdentifier: string
Identifiant textuel de l'objet d'état de la commande (si non défini, l'état par défaut sera attribué).
exemple : "status-1"

statusLocalizeInfos: ILocalizeInfo
Nom d'état localisé attribué à la commande créée/mise à jour.

couponCode: string
**

discountConfig: IOrderDiscountConfig
Configuration de remise résolue appliquée à la commande.

discountConfig.bonus: IOrderDiscountBonus | null
Résultat du calcul de bonus, null lorsque les bonus ne sont pas utilisés, ou omis entièrement lorsque la commande n'a pas de contexte de bonus.

discountConfig.coupon: unknown | null
Coupon résolu, ou null lorsque aucun coupon n'est appliqué.

discountConfig.orderDiscounts: unknown[]
Remises au niveau de la commande qui ont été correspondantes et appliquées.

discountConfig.productDiscounts: unknown[]
Remises au niveau du produit qui ont été correspondantes et appliquées.

discountConfig.settings: IOrderDiscountSettings
Paramètres d'accumulation et de plafond utilisés lors du calcul.

discountConfig.additionalDiscountsMarkers: string[]
Marqueurs de remises supplémentaires demandées par le client (omis dans les réponses d'aperçu).

discountConfig.bonusApplied: number
Montant du bonus appliqué à la commande (omis dans les réponses d'aperçu).
exemple : 0

discountConfig.excludedGiftProductIds: string[]
IDs de produits exclus de la sélection de cadeaux (omis dans les réponses d'aperçu).

discountConfig.totalDue: number
Montant total dû après remises et bonus (omis dans les réponses d'aperçu).
exemple : 300

discountConfig.totalRaw: number
Montant total avant remises (omis dans les réponses d'aperçu).
exemple : 300

discountConfig.totalSumWithDiscount: number
Montant total après remises mais avant bonus (omis dans les réponses d'aperçu).
exemple : 300

bonusAmount: number
Montant du bonus appliqué à la commande.

bonusApplied: number
Bonus appliqué à la commande.

totalDue: number
Total dû après bonus.