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 Promise 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.marker(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.
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"
🔒
signedPriceest 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 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);
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 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);
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",
"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.marker: 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: string
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 de statut de commande (si non défini, le statut par défaut sera attribué).
exemple : "status-1"
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.