@wix/auto_sdk_ecom_order-fulfillments 1.0.67 → 1.0.68

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,6 +7,8 @@ interface ListFulfillmentsForSingleOrderSignature {
7
7
  /**
8
8
  * Retrieves fulfillments associated with a specified order.
9
9
  *
10
+ * An order can have a `fulfillmentStatus` of `FULFILLED` without any fulfillments, for example, when the order is manually marked as fulfilled in the site dashboard. For these orders, the returned list of fulfillments is empty. To learn how to find when these orders were fulfilled, see [Get the date an order was fulfilled](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/orders/sample-flows#get-the-date-an-order-was-fulfilled).
11
+ *
10
12
  *
11
13
  * The `listFulfillmentsForSingleOrder()` function returns a Promise that resolves when the fulfillments are retrieved.
12
14
  * @param - Order ID for which to retrieve fulfillments.
@@ -18,6 +20,8 @@ interface ListFulfillmentsForMultipleOrdersSignature {
18
20
  /**
19
21
  * Retrieves fulfillments associated with multiple specified orders.
20
22
  *
23
+ * An order can have a `fulfillmentStatus` of `FULFILLED` without any fulfillments, for example, when the order is manually marked as fulfilled in the site dashboard. For these orders, the returned list of fulfillments is empty. To learn how to find when these orders were fulfilled, see [Get the date an order was fulfilled](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/orders/sample-flows#get-the-date-an-order-was-fulfilled).
24
+ *
21
25
  *
22
26
  * The `listFulfillmentsForMultipleOrders()` function returns a Promise that resolves when the fulfillments are retrieved.
23
27
  * @param - List of order IDs for which to retrieve fulfillments.
@@ -29,6 +33,8 @@ interface CreateFulfillmentSignature {
29
33
  /**
30
34
  * Creates an order fulfillment.
31
35
  *
36
+ * To create fulfillments for multiple orders in a single call, call [Bulk Create Fulfillments](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/order-fulfillments/bulk-create-fulfillments).
37
+ *
32
38
  *
33
39
  * The `createFulfillment()` function returns a Promise that resolves when the fulfillment is created.
34
40
  * @param - Order ID.
@@ -42,13 +48,17 @@ declare function updateFulfillment$1(httpClient: HttpClient): UpdateFulfillmentS
42
48
  interface UpdateFulfillmentSignature {
43
49
  /**
44
50
  * Updates a fulfillment's properties.
45
- * To update a field's value, include the new value in the `fulfillment` field in the body params.
46
- * To remove a field's value, pass `null`.
47
51
  *
52
+ * To update a field's value, include the new value in `options.fulfillment`.
53
+ *
54
+ * > **Notes:**
55
+ * > + `trackingInfo.trackingNumber` and `trackingInfo.shippingProvider` can be updated but not removed.
56
+ * > + When updating `lineItems`, each line item must include an explicit `quantity`. `lineItems` can't be emptied.
57
+ * > + Line items can't be updated for a fulfillment with `completed: true`.
58
+ * > + A shipping notification email may be sent to the buyer when the tracking info changes, depending on the site's email settings.
48
59
  *
49
- * The `updateFulfillment()` function returns a Promise that resolves when the fulfillment is updated.
50
60
  *
51
- * > **Note:** Updating line item IDs or fulfilled quantities is not allowed. To update line item IDs or quantities, delete the fulfillment and create it again.
61
+ * The `updateFulfillment()` function returns a Promise that resolves when the fulfillment is updated.
52
62
  * @param - Order and fulfillment IDs to be updated.
53
63
  * @param - Available options to use when updating a fulfillment.
54
64
  * @returns Order ID and all of the order's fulfillments after the update.
@@ -60,7 +70,9 @@ interface UpdateFulfillmentSignature {
60
70
  declare function deleteFulfillment$1(httpClient: HttpClient): DeleteFulfillmentSignature;
61
71
  interface DeleteFulfillmentSignature {
62
72
  /**
63
- * Deletes an existing order fulfillment.
73
+ * Deletes a fulfillment from an order.
74
+ *
75
+ * The order's `fulfillmentStatus` is recalculated asynchronously after the call.
64
76
  *
65
77
  *
66
78
  * The `deleteFulfillment()` function returns a Promise that resolves when the fulfillment is deleted.
@@ -71,7 +83,11 @@ interface DeleteFulfillmentSignature {
71
83
  declare function bulkCreateFulfillments$1(httpClient: HttpClient): BulkCreateFulfillmentsSignature;
72
84
  interface BulkCreateFulfillmentsSignature {
73
85
  /**
74
- * Creates multiple fulfillments for one or more orders.
86
+ * Creates fulfillments for multiple orders.
87
+ *
88
+ * You can specify up to 100 orders in a single call. Each order can appear once in `ordersWithFulfillments`.
89
+ *
90
+ * To create a single fulfillment, call [Create Fulfillment](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/order-fulfillments/create-fulfillment).
75
91
  *
76
92
  *
77
93
  * The `bulkCreateFulfillments()` function returns a Promise that resolves when the fulfillments are created.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../index.ts","../../src/ecom-v1-fulfillments-order-fulfillments.public.ts","../../src/ecom-v1-fulfillments-order-fulfillments.universal.ts","../../src/ecom-v1-fulfillments-order-fulfillments.http.ts","../../src/ecom-v1-fulfillments-order-fulfillments.context.ts"],"sourcesContent":["export * from './src/ecom-v1-fulfillments-order-fulfillments.context.js';\n","import { renameKeysFromRESTResponseToSDKResponse } from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { EventDefinition, HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n BulkCreateFulfillmentResponse,\n BulkCreateOrderWithFulfillments,\n CreateFulfillmentApplicationErrors,\n CreateFulfillmentResponse,\n DeleteFulfillmentIdentifiers,\n DeleteFulfillmentResponse,\n Fulfillment,\n FulfillmentsUpdatedEnvelope,\n ListFulfillmentsForMultipleOrdersResponse,\n ListFulfillmentsForSingleOrderResponse,\n OrderWithFulfillments,\n UpdateFulfillmentApplicationErrors,\n UpdateFulfillmentIdentifiers,\n UpdateFulfillmentOptions,\n bulkCreateFulfillments as universalBulkCreateFulfillments,\n createFulfillment as universalCreateFulfillment,\n deleteFulfillment as universalDeleteFulfillment,\n listFulfillmentsForMultipleOrders as universalListFulfillmentsForMultipleOrders,\n listFulfillmentsForSingleOrder as universalListFulfillmentsForSingleOrder,\n updateFulfillment as universalUpdateFulfillment,\n} from './ecom-v1-fulfillments-order-fulfillments.universal.js';\n\nconst TRANSFORM_PATHS_0 = [\n { path: 'entity.fulfillments.createdDate' },\n { path: 'metadata.eventTime' },\n { path: 'modifiedFields.fulfillments.createdDate' },\n];\nexport const __metadata = { PACKAGE_NAME: '@wix/ecom' };\n\nexport function listFulfillmentsForSingleOrder(\n httpClient: HttpClient\n): ListFulfillmentsForSingleOrderSignature {\n return (orderId: string) =>\n universalListFulfillmentsForSingleOrder(\n orderId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ListFulfillmentsForSingleOrderSignature {\n /**\n * Retrieves fulfillments associated with a specified order.\n *\n *\n * The `listFulfillmentsForSingleOrder()` function returns a Promise that resolves when the fulfillments are retrieved.\n * @param - Order ID for which to retrieve fulfillments.\n */\n (orderId: string): Promise<\n NonNullablePaths<\n ListFulfillmentsForSingleOrderResponse,\n `orderWithFulfillments.orderId` | `orderWithFulfillments.fulfillments`,\n 1\n >\n >;\n}\n\nexport function listFulfillmentsForMultipleOrders(\n httpClient: HttpClient\n): ListFulfillmentsForMultipleOrdersSignature {\n return (orderIds: string[]) =>\n universalListFulfillmentsForMultipleOrders(\n orderIds,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ListFulfillmentsForMultipleOrdersSignature {\n /**\n * Retrieves fulfillments associated with multiple specified orders.\n *\n *\n * The `listFulfillmentsForMultipleOrders()` function returns a Promise that resolves when the fulfillments are retrieved.\n * @param - List of order IDs for which to retrieve fulfillments.\n */\n (orderIds: string[]): Promise<\n NonNullablePaths<\n ListFulfillmentsForMultipleOrdersResponse,\n `ordersWithFulfillments` | `ordersWithFulfillments.${number}.orderId`,\n 2\n >\n >;\n}\n\nexport function createFulfillment(\n httpClient: HttpClient\n): CreateFulfillmentSignature {\n return (\n orderId: string,\n fulfillment: NonNullablePaths<\n Fulfillment,\n `lineItems` | `lineItems.${number}._id`,\n 2\n >\n ) =>\n universalCreateFulfillment(\n orderId,\n fulfillment,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateFulfillmentSignature {\n /**\n * Creates an order fulfillment.\n *\n *\n * The `createFulfillment()` function returns a Promise that resolves when the fulfillment is created.\n * @param - Order ID.\n * @param - Fulfillment to create.\n */\n (\n orderId: string,\n fulfillment: NonNullablePaths<\n Fulfillment,\n `lineItems` | `lineItems.${number}._id`,\n 2\n >\n ): Promise<\n NonNullablePaths<\n CreateFulfillmentResponse,\n | `orderWithFulfillments.orderId`\n | `orderWithFulfillments.fulfillments`\n | `fulfillmentId`,\n 1\n > & {\n __applicationErrorsType?: CreateFulfillmentApplicationErrors;\n }\n >;\n}\n\nexport function updateFulfillment(\n httpClient: HttpClient\n): UpdateFulfillmentSignature {\n return (\n identifiers: NonNullablePaths<\n UpdateFulfillmentIdentifiers,\n `fulfillmentId` | `orderId`,\n 0\n >,\n options?: UpdateFulfillmentOptions\n ) =>\n universalUpdateFulfillment(\n identifiers,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateFulfillmentSignature {\n /**\n * Updates a fulfillment's properties.\n * To update a field's value, include the new value in the `fulfillment` field in the body params.\n * To remove a field's value, pass `null`.\n *\n *\n * The `updateFulfillment()` function returns a Promise that resolves when the fulfillment is updated.\n *\n * > **Note:** Updating line item IDs or fulfilled quantities is not allowed. To update line item IDs or quantities, delete the fulfillment and create it again.\n * @param - Order and fulfillment IDs to be updated.\n * @param - Available options to use when updating a fulfillment.\n * @returns Order ID and all of the order's fulfillments after the update.\n */\n (\n identifiers: NonNullablePaths<\n UpdateFulfillmentIdentifiers,\n `fulfillmentId` | `orderId`,\n 0\n >,\n options?: UpdateFulfillmentOptions\n ): Promise<\n NonNullablePaths<OrderWithFulfillments, `orderId` | `fulfillments`, 0> & {\n __applicationErrorsType?: UpdateFulfillmentApplicationErrors;\n }\n >;\n}\n\nexport function deleteFulfillment(\n httpClient: HttpClient\n): DeleteFulfillmentSignature {\n return (\n identifiers: NonNullablePaths<\n DeleteFulfillmentIdentifiers,\n `fulfillmentId` | `orderId`,\n 0\n >\n ) =>\n universalDeleteFulfillment(\n identifiers,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface DeleteFulfillmentSignature {\n /**\n * Deletes an existing order fulfillment.\n *\n *\n * The `deleteFulfillment()` function returns a Promise that resolves when the fulfillment is deleted.\n * @param - Order and fulfillment IDs.\n */\n (\n identifiers: NonNullablePaths<\n DeleteFulfillmentIdentifiers,\n `fulfillmentId` | `orderId`,\n 0\n >\n ): Promise<\n NonNullablePaths<\n DeleteFulfillmentResponse,\n `orderWithFulfillments.orderId` | `orderWithFulfillments.fulfillments`,\n 1\n >\n >;\n}\n\nexport function bulkCreateFulfillments(\n httpClient: HttpClient\n): BulkCreateFulfillmentsSignature {\n return (\n ordersWithFulfillments: NonNullablePaths<\n BulkCreateOrderWithFulfillments,\n | `fulfillments`\n | `fulfillments.${number}.lineItems`\n | `fulfillments.${number}.lineItems.${number}._id`\n | `orderId`,\n 4\n >[]\n ) =>\n universalBulkCreateFulfillments(\n ordersWithFulfillments,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkCreateFulfillmentsSignature {\n /**\n * Creates multiple fulfillments for one or more orders.\n *\n *\n * The `bulkCreateFulfillments()` function returns a Promise that resolves when the fulfillments are created.\n * @param - List of order IDs and their associated fulfillments' info.\n */\n (\n ordersWithFulfillments: NonNullablePaths<\n BulkCreateOrderWithFulfillments,\n | `fulfillments`\n | `fulfillments.${number}.lineItems`\n | `fulfillments.${number}.lineItems.${number}._id`\n | `orderId`,\n 4\n >[]\n ): Promise<\n NonNullablePaths<\n BulkCreateFulfillmentResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `results.${number}.ordersWithFulfillments.orderId`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 4\n >\n >;\n}\n\nexport const onFulfillmentsUpdated = /*#__PURE__*/ EventDefinition(\n 'wix.ecom.v1.fulfillments_updated',\n true,\n (event: FulfillmentsUpdatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ])\n )\n)<FulfillmentsUpdatedEnvelope>();\n\nexport {\n AccountInfo,\n AccountInfoMetadata,\n ActionEvent,\n ApplicationError,\n BaseEventMetadata,\n BulkActionMetadata,\n BulkCreateFulfillmentRequest,\n BulkCreateFulfillmentResponse,\n BulkCreateOrderWithFulfillments,\n BulkOrderFulfillmentsResult,\n BuyerInfo,\n CreateFulfillmentRequest,\n CreateFulfillmentResponse,\n CustomFulfillmentInfo,\n DeleteFulfillmentIdentifiers,\n DeleteFulfillmentRequest,\n DeleteFulfillmentResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n EventMetadata,\n Fulfillment,\n FulfillmentCreated,\n FulfillmentDeleted,\n FulfillmentFulfillmentInfoOneOf,\n FulfillmentLineItem,\n FulfillmentStatus,\n FulfillmentTrackingInfo,\n FulfillmentUpdated,\n FulfillmentsUpdatedEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n IdentityType,\n ItemMetadata,\n ListFulfillmentsForMultipleOrdersRequest,\n ListFulfillmentsForMultipleOrdersResponse,\n ListFulfillmentsForSingleOrderRequest,\n ListFulfillmentsForSingleOrderResponse,\n MessageEnvelope,\n OrderWithFulfillments,\n RestoreInfo,\n UpdateFulfillmentIdentifiers,\n UpdateFulfillmentOptions,\n UpdateFulfillmentRequest,\n UpdateFulfillmentResponse,\n V2FulfillmentTrackingInfo,\n WebhookIdentityType,\n} from './ecom-v1-fulfillments-order-fulfillments.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixEcomV1Fulfillments from './ecom-v1-fulfillments-order-fulfillments.http.js';\n\n/** An order and its associated fulfillments. A fulfillment represents the shipment or delivery of order items. */\nexport interface OrderWithFulfillments {\n /**\n * Order ID.\n * @minLength 1\n * @maxLength 100\n */\n orderId?: string;\n /** Fulfillments associated with the order. */\n fulfillments?: Fulfillment[];\n}\n\n/** A fulfillment represents the shipment or delivery of some or all of an order's line items. */\nexport interface Fulfillment extends FulfillmentFulfillmentInfoOneOf {\n /** Tracking info. */\n trackingInfo?: FulfillmentTrackingInfo;\n /** Custom fulfillment info. */\n customInfo?: CustomFulfillmentInfo;\n /**\n * Fulfillment ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Date and time the fulfillment was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Line items being fulfilled.\n * @maxSize 300\n */\n lineItems?: FulfillmentLineItem[];\n /**\n * The current status of the fulfillment process.\n *\n * Supported values (case-sensitive, any other value is rejected):\n * + `\"Pending\"` - Initial state when fulfillment is created but processing hasn't started.\n * + `\"Accepted\"` - Order has been received and validated for fulfillment.\n * + `\"Ready\"` - Items have been picked and packed, ready for shipping.\n * + `\"In_Delivery\"` - Items have been handed over to the shipping carrier.\n * + `\"Fulfilled\"` - Delivery has been completed successfully.\n *\n * The status typically progresses from `Pending` to `Accepted`, `Ready`, `In_Delivery`, and finally `Fulfilled`.\n * Update the status manually or automatically depending on your fulfillment workflow.\n *\n * This field is informational. The order's `fulfillmentStatus` is primarily derived from the fulfilled line item quantities, not from this field.\n * @minLength 1\n * @maxLength 100\n */\n status?: string | null;\n /**\n * Whether the fulfillment is complete.\n *\n * When `false`, the fulfillment's line items don't count as fulfilled when the order's `fulfillmentStatus` is calculated. When not set, they count as fulfilled.\n *\n * Line items can't be updated in a fulfillment where `completed` is `true`.\n */\n completed?: boolean | null;\n}\n\n/** @oneof */\nexport interface FulfillmentFulfillmentInfoOneOf {\n /** Tracking info. */\n trackingInfo?: FulfillmentTrackingInfo;\n /** Custom fulfillment info. */\n customInfo?: CustomFulfillmentInfo;\n}\n\nexport interface FulfillmentLineItem {\n /**\n * Line item ID (mirrors the ID of the order line item).\n * @format GUID\n */\n _id?: string;\n /**\n * Line item quantity.\n *\n * If the order doesn't have enough unfulfilled units of this line item, the fulfillment isn't created and an error is returned.\n *\n * Default: When creating a fulfillment, the line item's remaining unfulfilled quantity.\n * @min 1\n * @max 100000\n */\n quantity?: number | null;\n}\n\nexport interface FulfillmentTrackingInfo {\n /**\n * Shipping/delivery tracking number.\n * @minLength 1\n * @maxLength 100\n */\n trackingNumber?: string | null;\n /**\n * Shipping provider name. Specify a predefined provider to have `trackingLink` generated automatically, or any other name for a custom provider.\n *\n * Predefined providers:\n * + `\"fedex\"`: FedEx.\n * + `\"ups\"`: UPS.\n * + `\"usps\"`: United States Postal Service.\n * + `\"dhl\"`: DHL.\n * + `\"canadaPost\"`: Canada Post.\n * + `\"hermes\"`: Hermes.\n *\n * For a custom provider, specify `trackingLink` yourself. It isn't generated.\n * @minLength 1\n * @maxLength 100\n */\n shippingProvider?: string | null;\n /**\n * URL where customers can track the shipment.\n *\n * When you don't specify `trackingLink` and `shippingProvider` is a predefined provider, the URL is generated from `trackingNumber` in the carrier's tracking URL format.\n * For a custom provider, specify the URL of the carrier's tracking page.\n * @minLength 1\n * @maxLength 2048\n * @format WEB_URL\n */\n trackingLink?: string | null;\n}\n\nexport interface CustomFulfillmentInfo {\n /**\n * Custom fulfillment info in key:value form.\n * @maxSize 100\n */\n fieldsData?: Record<string, string>;\n}\n\nexport interface FulfillmentCreated {\n /**\n * Order ID (auto generated upon order creation).\n * @format GUID\n */\n orderId?: string;\n /**\n * ID of the newly created fulfillment.\n * @format GUID\n */\n fulfillmentId?: string;\n /** Fulfillment creation date and time. */\n dateCreated?: Date | null;\n /** Buyer information. */\n buyerInfo?: BuyerInfo;\n /** Order fulfillment status. */\n fulfillmentStatus?: FulfillmentStatusWithLiterals;\n /** Fulfillment tracking information. */\n trackingInfo?: V2FulfillmentTrackingInfo;\n}\n\n/** Buyer Info */\nexport interface BuyerInfo {\n /**\n * Wix customer ID\n * @format GUID\n */\n _id?: string | null;\n /**\n * Deprecated (use identityType instead)\n * @readonly\n * @deprecated\n */\n type?: IdentityTypeWithLiterals;\n /** Customer type */\n identityType?: IdentityTypeWithLiterals;\n /**\n * Customer's first name\n * @readonly\n */\n firstName?: string;\n /**\n * Customer's last name\n * @readonly\n */\n lastName?: string;\n /**\n * Customer's phone number\n * @readonly\n */\n phone?: string | null;\n /**\n * Customer's email address\n * @readonly\n */\n email?: string;\n /**\n * Contact Id. needed for cases where the user is the buyer and so it doesn't exist on the buyer info\n * @internal\n * @format GUID\n * @readonly\n */\n contactId?: string | null;\n}\n\nexport enum IdentityType {\n UNSPECIFIED_IDENTITY_TYPE = 'UNSPECIFIED_IDENTITY_TYPE',\n /** Site member */\n MEMBER = 'MEMBER',\n /** Contact */\n CONTACT = 'CONTACT',\n}\n\n/** @enumType */\nexport type IdentityTypeWithLiterals =\n | IdentityType\n | 'UNSPECIFIED_IDENTITY_TYPE'\n | 'MEMBER'\n | 'CONTACT';\n\nexport enum FulfillmentStatus {\n /** None of the order items are fulfilled */\n NOT_FULFILLED = 'NOT_FULFILLED',\n /**\n * All of the order items are fulfilled\n * Orders without shipping info are fulfilled automatically\n */\n FULFILLED = 'FULFILLED',\n /** Order is canceled */\n CANCELED = 'CANCELED',\n /** Some, but not all of the order items are fulfilled */\n PARTIALLY_FULFILLED = 'PARTIALLY_FULFILLED',\n}\n\n/** @enumType */\nexport type FulfillmentStatusWithLiterals =\n | FulfillmentStatus\n | 'NOT_FULFILLED'\n | 'FULFILLED'\n | 'CANCELED'\n | 'PARTIALLY_FULFILLED';\n\nexport interface V2FulfillmentTrackingInfo {\n /**\n * Tracking number.\n * @minLength 1\n * @maxLength 100\n */\n trackingNumber?: string;\n /**\n * Shipping provider. Using the following shipping providers will allow for autofilling the tracking link:\n * * `fedex`\n * * `ups`\n * * `usps`\n * * `dhl`\n * * `canadaPost`\n * @minLength 1\n * @maxLength 100\n */\n shippingProvider?: string;\n /**\n * Tracking link - autofilled if using a predefined shipping provider, otherwise provided on creation.\n * @minLength 1\n * @maxLength 2048\n * @format WEB_URL\n */\n trackingLink?: string | null;\n}\n\nexport interface FulfillmentUpdated {\n /**\n * Order ID (auto generated upon order creation).\n * @format GUID\n */\n orderId?: string;\n /**\n * ID of the updated fulfillment.\n * @format GUID\n */\n fulfillmentId?: string;\n /** Fulfillment tracking information. */\n trackingInfo?: V2FulfillmentTrackingInfo;\n}\n\nexport interface FulfillmentDeleted {\n /**\n * Order ID (auto generated upon order creation).\n * @format GUID\n */\n orderId?: string;\n /**\n * ID of the deleted fulfillment.\n * @format GUID\n */\n fulfillmentId?: string;\n /** Order fulfillment status. */\n fulfillmentStatus?: FulfillmentStatusWithLiterals;\n}\n\nexport interface ListFulfillmentsForSingleOrderRequest {\n /**\n * Order ID for which to retrieve fulfillments.\n * @minLength 1\n * @maxLength 100\n */\n orderId: string;\n}\n\nexport interface ListFulfillmentsForSingleOrderResponse {\n /** Order ID and the order's fulfillments. */\n orderWithFulfillments?: OrderWithFulfillments;\n}\n\nexport interface ListFulfillmentsForMultipleOrdersRequest {\n /**\n * List of order IDs for which to retrieve fulfillments.\n * @minSize 1\n * @maxSize 100\n */\n orderIds: string[];\n}\n\nexport interface ListFulfillmentsForMultipleOrdersResponse {\n /** List of order IDs and their associated fulfillments. */\n ordersWithFulfillments?: OrderWithFulfillments[];\n}\n\nexport interface CreateFulfillmentRequest {\n /** Order ID. */\n orderId: string;\n /** Fulfillment to create. */\n fulfillment: Fulfillment;\n}\n\nexport interface CreateFulfillmentResponse {\n /** Order ID and all of the order's fulfillments, including the created fulfillment. */\n orderWithFulfillments?: OrderWithFulfillments;\n /** ID of the created fulfillment. */\n fulfillmentId?: string;\n}\n\nexport interface UpdateFulfillmentRequest {\n /** Order ID. */\n orderId: string;\n /** Fulfillment to update. */\n fulfillment?: Fulfillment;\n /**\n * Set of fields to update. Fields that aren't included in `fieldMask.paths` are ignored.\n * @internal\n */\n fieldMask?: string[];\n}\n\nexport interface UpdateFulfillmentResponse {\n /** Order ID and all of the order's fulfillments after the update. */\n orderWithFulfillments?: OrderWithFulfillments;\n}\n\nexport interface DeleteFulfillmentRequest {\n /**\n * Order ID.\n * @minLength 1\n * @maxLength 100\n */\n orderId: string;\n /**\n * ID of the fulfillment to delete.\n * @format GUID\n */\n fulfillmentId: string;\n}\n\nexport interface DeleteFulfillmentResponse {\n /** Order ID and the order's associated fulfillments after deletion. */\n orderWithFulfillments?: OrderWithFulfillments;\n}\n\nexport interface BulkCreateFulfillmentRequest {\n /**\n * List of order IDs and their associated fulfillments' info.\n * @minSize 1\n * @maxSize 100\n */\n ordersWithFulfillments: BulkCreateOrderWithFulfillments[];\n}\n\nexport interface BulkCreateOrderWithFulfillments {\n /**\n * Order ID.\n * @minLength 1\n * @maxLength 100\n */\n orderId?: string;\n /**\n * Fulfillments associated with the order.\n * @minSize 1\n */\n fulfillments?: Fulfillment[];\n}\n\nexport interface BulkCreateFulfillmentResponse {\n /** Result for each order in the request. */\n results?: BulkOrderFulfillmentsResult[];\n /** Bulk action metadata. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkOrderFulfillmentsResult {\n /** Item metadata. */\n itemMetadata?: ItemMetadata;\n /** List of order IDs and their associated fulfillments. */\n ordersWithFulfillments?: OrderWithFulfillments;\n}\n\nexport interface ItemMetadata {\n /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n _id?: string | null;\n /** Index of the item within the request array. Allows for correlation between request and response items. */\n originalIndex?: number;\n /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n success?: boolean;\n /** Details about the error in case of failure. */\n error?: ApplicationError;\n}\n\nexport interface ApplicationError {\n /** Error code. */\n code?: string;\n /** Description of the error. */\n description?: string;\n /** Data related to the error. */\n data?: Record<string, any> | null;\n}\n\nexport interface BulkActionMetadata {\n /** Number of items that were successfully processed. */\n totalSuccesses?: number;\n /** Number of items that couldn't be processed. */\n totalFailures?: number;\n /** Number of failures without details because detailed failure threshold was exceeded. */\n undetailedFailures?: number;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\n/** @docsIgnore */\nexport type CreateFulfillmentApplicationErrors = {\n code?: 'TRACKING_NUMBER_ALREADY_EXISTS';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type UpdateFulfillmentApplicationErrors = {\n code?: 'TRACKING_NUMBER_ALREADY_EXISTS';\n description?: string;\n data?: Record<string, any>;\n};\n\nexport interface BaseEventMetadata {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface EventMetadata extends BaseEventMetadata {\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n accountInfo?: AccountInfoMetadata;\n}\n\nexport interface AccountInfoMetadata {\n /** ID of the Wix account associated with the event */\n accountId: string;\n /** ID of the Wix site associated with the event. Only included when the event is tied to a specific site. */\n siteId?: string;\n /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */\n parentAccountId?: string;\n}\n\nexport interface FulfillmentsUpdatedEnvelope {\n entity: OrderWithFulfillments;\n metadata: EventMetadata;\n /** @hidden */\n modifiedFields: Record<string, any>;\n}\n\n/**\n * Triggered when one or more of an order's fulfillments are created, updated, or deleted.\n *\n * The event contains the order ID and all of the order's fulfillments after the change.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage_Wix_Rentals_App_Forms_submissions\n * @permissionScopeId SCOPE.RENTALS.MANAGE\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read eCommerce - all read permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n * @permissionScope Read Orders\n * @permissionScopeId SCOPE.DC-STORES.READ-ORDERS\n * @permissionScope Read Stores - all read permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage eCommerce - all permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n * @permissionId ECOM.READ_FULFILLMENTS\n * @webhook\n * @eventType wix.ecom.v1.fulfillments_updated\n * @serviceIdentifier com.wix.ecom.orders.fulfillments.v1.Fulfillments\n * @slug updated\n */\nexport declare function onFulfillmentsUpdated(\n handler: (event: FulfillmentsUpdatedEnvelope) => void | Promise<void>\n): void;\n\n/**\n * Retrieves fulfillments associated with a specified order.\n *\n *\n * The `listFulfillmentsForSingleOrder()` function returns a Promise that resolves when the fulfillments are retrieved.\n * @param orderId - Order ID for which to retrieve fulfillments.\n * @public\n * @requiredField orderId\n * @permissionId ECOM.READ_FULFILLMENTS\n * @applicableIdentity APP\n * @applicableIdentity MEMBER\n * @fqn com.wix.ecom.orders.fulfillments.v1.Fulfillments.ListFulfillmentsForSingleOrder\n */\nexport async function listFulfillmentsForSingleOrder(\n orderId: string\n): Promise<\n NonNullablePaths<\n ListFulfillmentsForSingleOrderResponse,\n `orderWithFulfillments.orderId` | `orderWithFulfillments.fulfillments`,\n 1\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ orderId: orderId });\n\n const reqOpts =\n ambassadorWixEcomV1Fulfillments.listFulfillmentsForSingleOrder(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { orderId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['orderId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves fulfillments associated with multiple specified orders.\n *\n *\n * The `listFulfillmentsForMultipleOrders()` function returns a Promise that resolves when the fulfillments are retrieved.\n * @param orderIds - List of order IDs for which to retrieve fulfillments.\n * @public\n * @requiredField orderIds\n * @permissionId ECOM.READ_FULFILLMENTS\n * @applicableIdentity APP\n * @applicableIdentity MEMBER\n * @fqn com.wix.ecom.orders.fulfillments.v1.Fulfillments.ListFulfillmentsForMultipleOrders\n */\nexport async function listFulfillmentsForMultipleOrders(\n orderIds: string[]\n): Promise<\n NonNullablePaths<\n ListFulfillmentsForMultipleOrdersResponse,\n `ordersWithFulfillments` | `ordersWithFulfillments.${number}.orderId`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ orderIds: orderIds });\n\n const reqOpts =\n ambassadorWixEcomV1Fulfillments.listFulfillmentsForMultipleOrders(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { orderIds: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['orderIds']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Creates an order fulfillment.\n *\n *\n * The `createFulfillment()` function returns a Promise that resolves when the fulfillment is created.\n * @param orderId - Order ID.\n * @param fulfillment - Fulfillment to create.\n * @public\n * @requiredField fulfillment\n * @requiredField fulfillment.lineItems\n * @requiredField fulfillment.lineItems._id\n * @requiredField orderId\n * @permissionId ECOM.MODIFY_FULFILLMENTS\n * @applicableIdentity APP\n * @fqn com.wix.ecom.orders.fulfillments.v1.Fulfillments.CreateFulfillment\n */\nexport async function createFulfillment(\n orderId: string,\n fulfillment: NonNullablePaths<\n Fulfillment,\n `lineItems` | `lineItems.${number}._id`,\n 2\n >\n): Promise<\n NonNullablePaths<\n CreateFulfillmentResponse,\n | `orderWithFulfillments.orderId`\n | `orderWithFulfillments.fulfillments`\n | `fulfillmentId`,\n 1\n > & {\n __applicationErrorsType?: CreateFulfillmentApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n orderId: orderId,\n fulfillment: fulfillment,\n });\n\n const reqOpts = ambassadorWixEcomV1Fulfillments.createFulfillment(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { orderId: '$[0]', fulfillment: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['orderId', 'fulfillment']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Updates a fulfillment's properties.\n * To update a field's value, include the new value in the `fulfillment` field in the body params.\n * To remove a field's value, pass `null`.\n *\n *\n * The `updateFulfillment()` function returns a Promise that resolves when the fulfillment is updated.\n *\n * > **Note:** Updating line item IDs or fulfilled quantities is not allowed. To update line item IDs or quantities, delete the fulfillment and create it again.\n * @public\n * @requiredField identifiers\n * @requiredField identifiers.fulfillmentId\n * @requiredField identifiers.orderId\n * @param identifiers - Order and fulfillment IDs to be updated.\n * @param options - Available options to use when updating a fulfillment.\n * @permissionId ECOM.MODIFY_FULFILLMENTS\n * @applicableIdentity APP\n * @returns Order ID and all of the order's fulfillments after the update.\n * @fqn com.wix.ecom.orders.fulfillments.v1.Fulfillments.UpdateFulfillment\n */\nexport async function updateFulfillment(\n identifiers: NonNullablePaths<\n UpdateFulfillmentIdentifiers,\n `fulfillmentId` | `orderId`,\n 0\n >,\n options?: UpdateFulfillmentOptions\n): Promise<\n NonNullablePaths<OrderWithFulfillments, `orderId` | `fulfillments`, 0> & {\n __applicationErrorsType?: UpdateFulfillmentApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n fulfillment: { ...options?.fulfillment, id: identifiers?.fulfillmentId },\n orderId: identifiers?.orderId,\n });\n\n const reqOpts = ambassadorWixEcomV1Fulfillments.updateFulfillment(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)\n ?.orderWithFulfillments!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: { fulfillment: '$[1].fulfillment' },\n explicitPathsToArguments: {\n 'fulfillment.id': '$[0].fulfillmentId',\n orderId: '$[0].orderId',\n },\n singleArgumentUnchanged: false,\n },\n ['identifiers', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateFulfillmentOptions {\n /** Fulfillment info. */\n fulfillment?: {\n /** Tracking info. */\n trackingInfo?: FulfillmentTrackingInfo;\n /** Custom fulfillment info. */\n customInfo?: CustomFulfillmentInfo;\n /**\n * Fulfillment ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Date and time the fulfillment was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Line items being fulfilled.\n * @maxSize 300\n */\n lineItems?: FulfillmentLineItem[];\n /**\n * The current status of the fulfillment process.\n *\n * Supported values (case-sensitive, any other value is rejected):\n * + `\"Pending\"` - Initial state when fulfillment is created but processing hasn't started.\n * + `\"Accepted\"` - Order has been received and validated for fulfillment.\n * + `\"Ready\"` - Items have been picked and packed, ready for shipping.\n * + `\"In_Delivery\"` - Items have been handed over to the shipping carrier.\n * + `\"Fulfilled\"` - Delivery has been completed successfully.\n *\n * The status typically progresses from `Pending` to `Accepted`, `Ready`, `In_Delivery`, and finally `Fulfilled`.\n * Update the status manually or automatically depending on your fulfillment workflow.\n *\n * This field is informational. The order's `fulfillmentStatus` is primarily derived from the fulfilled line item quantities, not from this field.\n * @minLength 1\n * @maxLength 100\n */\n status?: string | null;\n /**\n * Whether the fulfillment is complete.\n *\n * When `false`, the fulfillment's line items don't count as fulfilled when the order's `fulfillmentStatus` is calculated. When not set, they count as fulfilled.\n *\n * Line items can't be updated in a fulfillment where `completed` is `true`.\n */\n completed?: boolean | null;\n };\n}\n\nexport interface UpdateFulfillmentIdentifiers {\n /**\n * ID of the fulfillment to be updated.\n * @format GUID\n * @readonly\n */\n fulfillmentId?: string | null;\n /** Order ID. */\n orderId: string;\n}\n\n/**\n * Deletes an existing order fulfillment.\n *\n *\n * The `deleteFulfillment()` function returns a Promise that resolves when the fulfillment is deleted.\n * @public\n * @requiredField identifiers\n * @requiredField identifiers.fulfillmentId\n * @requiredField identifiers.orderId\n * @param identifiers - Order and fulfillment IDs.\n * @permissionId ECOM.MODIFY_FULFILLMENTS\n * @applicableIdentity APP\n * @fqn com.wix.ecom.orders.fulfillments.v1.Fulfillments.DeleteFulfillment\n */\nexport async function deleteFulfillment(\n identifiers: NonNullablePaths<\n DeleteFulfillmentIdentifiers,\n `fulfillmentId` | `orderId`,\n 0\n >\n): Promise<\n NonNullablePaths<\n DeleteFulfillmentResponse,\n `orderWithFulfillments.orderId` | `orderWithFulfillments.fulfillments`,\n 1\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n fulfillmentId: identifiers?.fulfillmentId,\n orderId: identifiers?.orderId,\n });\n\n const reqOpts = ambassadorWixEcomV1Fulfillments.deleteFulfillment(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n fulfillmentId: '$[0].fulfillmentId',\n orderId: '$[0].orderId',\n },\n singleArgumentUnchanged: false,\n },\n ['identifiers']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface DeleteFulfillmentIdentifiers {\n /**\n * ID of the fulfillment to delete.\n * @format GUID\n */\n fulfillmentId: string;\n /**\n * Order ID.\n * @minLength 1\n * @maxLength 100\n */\n orderId: string;\n}\n\n/**\n * Creates multiple fulfillments for one or more orders.\n *\n *\n * The `bulkCreateFulfillments()` function returns a Promise that resolves when the fulfillments are created.\n * @param ordersWithFulfillments - List of order IDs and their associated fulfillments' info.\n * @public\n * @requiredField ordersWithFulfillments\n * @requiredField ordersWithFulfillments.fulfillments\n * @requiredField ordersWithFulfillments.fulfillments.lineItems\n * @requiredField ordersWithFulfillments.fulfillments.lineItems._id\n * @requiredField ordersWithFulfillments.orderId\n * @permissionId ECOM.MODIFY_FULFILLMENTS\n * @applicableIdentity APP\n * @fqn com.wix.ecom.orders.fulfillments.v1.Fulfillments.BulkCreateFulfillment\n */\nexport async function bulkCreateFulfillments(\n ordersWithFulfillments: NonNullablePaths<\n BulkCreateOrderWithFulfillments,\n | `fulfillments`\n | `fulfillments.${number}.lineItems`\n | `fulfillments.${number}.lineItems.${number}._id`\n | `orderId`,\n 4\n >[]\n): Promise<\n NonNullablePaths<\n BulkCreateFulfillmentResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `results.${number}.ordersWithFulfillments.orderId`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n ordersWithFulfillments: ordersWithFulfillments,\n });\n\n const reqOpts =\n ambassadorWixEcomV1Fulfillments.bulkCreateFulfillment(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { ordersWithFulfillments: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['ordersWithFulfillments']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformSDKFieldMaskToRESTFieldMask } from '@wix/sdk-runtime/transformations/field-mask';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nconst TRANSFORM_PATHS_0 = [\n { path: 'orderWithFulfillments.fulfillments.createdDate' },\n];\nconst TRANSFORM_PATHS_1 = [\n { path: 'ordersWithFulfillments.fulfillments.createdDate' },\n];\nconst TRANSFORM_PATHS_2 = [{ path: 'fulfillment.createdDate' }];\nconst TRANSFORM_PATHS_3 = [{ path: 'fieldMask' }];\nconst TRANSFORM_PATHS_4 = [\n { path: 'results.ordersWithFulfillments.fulfillments.createdDate' },\n];\n\nfunction resolveComWixEcomOrdersFulfillmentsV1FulfillmentsUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'www.wixapis.com': [\n {\n srcPath: '/ecom/v1/fulfillments',\n destPath: '/v1/fulfillments',\n },\n ],\n _: [\n {\n srcPath: '/_api/fulfillments',\n destPath: '',\n },\n {\n srcPath: '/_api/ecom-fulfillments',\n destPath: '',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/fulfillments/v1/fulfillments',\n destPath: '/v1/fulfillments',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/ecom/v1/fulfillments',\n destPath: '/v1/fulfillments',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_ecom_order-fulfillments';\n\n/**\n * Retrieves fulfillments associated with a specified order.\n *\n *\n * The `listFulfillmentsForSingleOrder()` function returns a Promise that resolves when the fulfillments are retrieved.\n */\nexport function listFulfillmentsForSingleOrder(\n payload: object\n): RequestOptionsFactory<any> {\n function __listFulfillmentsForSingleOrder({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v1.fulfillments',\n method: 'GET' as any,\n methodFqn:\n 'com.wix.ecom.orders.fulfillments.v1.Fulfillments.ListFulfillmentsForSingleOrder',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomOrdersFulfillmentsV1FulfillmentsUrl({\n protoPath: '/v1/fulfillments/orders/{orderId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __listFulfillmentsForSingleOrder;\n}\n\n/**\n * Retrieves fulfillments associated with multiple specified orders.\n *\n *\n * The `listFulfillmentsForMultipleOrders()` function returns a Promise that resolves when the fulfillments are retrieved.\n */\nexport function listFulfillmentsForMultipleOrders(\n payload: object\n): RequestOptionsFactory<any> {\n function __listFulfillmentsForMultipleOrders({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v1.fulfillments',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.ecom.orders.fulfillments.v1.Fulfillments.ListFulfillmentsForMultipleOrders',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomOrdersFulfillmentsV1FulfillmentsUrl({\n protoPath: '/v1/fulfillments/list-by-ids',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_1,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __listFulfillmentsForMultipleOrders;\n}\n\n/**\n * Creates an order fulfillment.\n *\n *\n * The `createFulfillment()` function returns a Promise that resolves when the fulfillment is created.\n */\nexport function createFulfillment(payload: object): RequestOptionsFactory<any> {\n function __createFulfillment({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: TRANSFORM_PATHS_2,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.ecom.v1.fulfillments',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.ecom.orders.fulfillments.v1.Fulfillments.CreateFulfillment',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomOrdersFulfillmentsV1FulfillmentsUrl({\n protoPath: '/v1/fulfillments/orders/{orderId}/create-fulfillment',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createFulfillment;\n}\n\n/**\n * Updates a fulfillment's properties.\n * To update a field's value, include the new value in the `fulfillment` field in the body params.\n * To remove a field's value, pass `null`.\n *\n *\n * The `updateFulfillment()` function returns a Promise that resolves when the fulfillment is updated.\n *\n * > **Note:** Updating line item IDs or fulfilled quantities is not allowed. To update line item IDs or quantities, delete the fulfillment and create it again.\n */\nexport function updateFulfillment(payload: object): RequestOptionsFactory<any> {\n function __updateFulfillment({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: TRANSFORM_PATHS_3,\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: TRANSFORM_PATHS_2,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.ecom.v1.fulfillments',\n method: 'PATCH' as any,\n methodFqn:\n 'com.wix.ecom.orders.fulfillments.v1.Fulfillments.UpdateFulfillment',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomOrdersFulfillmentsV1FulfillmentsUrl({\n protoPath: '/v1/fulfillments/{fulfillment.id}/orders/{orderId}',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateFulfillment;\n}\n\n/**\n * Deletes an existing order fulfillment.\n *\n *\n * The `deleteFulfillment()` function returns a Promise that resolves when the fulfillment is deleted.\n */\nexport function deleteFulfillment(payload: object): RequestOptionsFactory<any> {\n function __deleteFulfillment({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v1.fulfillments',\n method: 'DELETE' as any,\n methodFqn:\n 'com.wix.ecom.orders.fulfillments.v1.Fulfillments.DeleteFulfillment',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomOrdersFulfillmentsV1FulfillmentsUrl({\n protoPath: '/v1/fulfillments/{fulfillmentId}/orders/{orderId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __deleteFulfillment;\n}\n\n/**\n * Creates multiple fulfillments for one or more orders.\n *\n *\n * The `bulkCreateFulfillments()` function returns a Promise that resolves when the fulfillments are created.\n */\nexport function bulkCreateFulfillment(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkCreateFulfillment({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: TRANSFORM_PATHS_1,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.ecom.v1.fulfillments',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.ecom.orders.fulfillments.v1.Fulfillments.BulkCreateFulfillment',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomOrdersFulfillmentsV1FulfillmentsUrl({\n protoPath: '/v1/fulfillments/orders/bulk/create-fulfillments',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_4,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __bulkCreateFulfillment;\n}\n","import {\n listFulfillmentsForSingleOrder as publicListFulfillmentsForSingleOrder,\n listFulfillmentsForMultipleOrders as publicListFulfillmentsForMultipleOrders,\n createFulfillment as publicCreateFulfillment,\n updateFulfillment as publicUpdateFulfillment,\n deleteFulfillment as publicDeleteFulfillment,\n bulkCreateFulfillments as publicBulkCreateFulfillments,\n} from './ecom-v1-fulfillments-order-fulfillments.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { createEventModule } from '@wix/sdk-runtime/event-definition-modules';\nimport {\n BuildRESTFunction,\n MaybeContext,\n BuildEventDefinition,\n} from '@wix/sdk-types';\nimport { onFulfillmentsUpdated as publicOnFulfillmentsUpdated } from './ecom-v1-fulfillments-order-fulfillments.public.js';\n\nexport const listFulfillmentsForSingleOrder: MaybeContext<\n BuildRESTFunction<typeof publicListFulfillmentsForSingleOrder> &\n typeof publicListFulfillmentsForSingleOrder\n> = /*#__PURE__*/ createRESTModule(publicListFulfillmentsForSingleOrder);\nexport const listFulfillmentsForMultipleOrders: MaybeContext<\n BuildRESTFunction<typeof publicListFulfillmentsForMultipleOrders> &\n typeof publicListFulfillmentsForMultipleOrders\n> = /*#__PURE__*/ createRESTModule(publicListFulfillmentsForMultipleOrders);\nexport const createFulfillment: MaybeContext<\n BuildRESTFunction<typeof publicCreateFulfillment> &\n typeof publicCreateFulfillment\n> = /*#__PURE__*/ createRESTModule(publicCreateFulfillment);\nexport const updateFulfillment: MaybeContext<\n BuildRESTFunction<typeof publicUpdateFulfillment> &\n typeof publicUpdateFulfillment\n> = /*#__PURE__*/ createRESTModule(publicUpdateFulfillment);\nexport const deleteFulfillment: MaybeContext<\n BuildRESTFunction<typeof publicDeleteFulfillment> &\n typeof publicDeleteFulfillment\n> = /*#__PURE__*/ createRESTModule(publicDeleteFulfillment);\nexport const bulkCreateFulfillments: MaybeContext<\n BuildRESTFunction<typeof publicBulkCreateFulfillments> &\n typeof publicBulkCreateFulfillments\n> = /*#__PURE__*/ createRESTModule(publicBulkCreateFulfillments);\n/**\n * Triggered when one or more of an order's fulfillments are created, updated, or deleted.\n *\n * The event contains the order ID and all of the order's fulfillments after the change.\n */\nexport const onFulfillmentsUpdated: BuildEventDefinition<\n typeof publicOnFulfillmentsUpdated\n> &\n typeof publicOnFulfillmentsUpdated = /*#__PURE__*/ createEventModule(\n publicOnFulfillmentsUpdated\n);\n\nexport {\n IdentityType,\n FulfillmentStatus,\n WebhookIdentityType,\n} from './ecom-v1-fulfillments-order-fulfillments.universal.js';\nexport {\n OrderWithFulfillments,\n Fulfillment,\n FulfillmentFulfillmentInfoOneOf,\n FulfillmentLineItem,\n FulfillmentTrackingInfo,\n CustomFulfillmentInfo,\n FulfillmentCreated,\n BuyerInfo,\n V2FulfillmentTrackingInfo,\n FulfillmentUpdated,\n FulfillmentDeleted,\n ListFulfillmentsForSingleOrderRequest,\n ListFulfillmentsForSingleOrderResponse,\n ListFulfillmentsForMultipleOrdersRequest,\n ListFulfillmentsForMultipleOrdersResponse,\n CreateFulfillmentRequest,\n CreateFulfillmentResponse,\n UpdateFulfillmentRequest,\n UpdateFulfillmentResponse,\n DeleteFulfillmentRequest,\n DeleteFulfillmentResponse,\n BulkCreateFulfillmentRequest,\n BulkCreateOrderWithFulfillments,\n BulkCreateFulfillmentResponse,\n BulkOrderFulfillmentsResult,\n ItemMetadata,\n ApplicationError,\n BulkActionMetadata,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n AccountInfo,\n BaseEventMetadata,\n EventMetadata,\n AccountInfoMetadata,\n FulfillmentsUpdatedEnvelope,\n UpdateFulfillmentOptions,\n UpdateFulfillmentIdentifiers,\n DeleteFulfillmentIdentifiers,\n} from './ecom-v1-fulfillments-order-fulfillments.universal.js';\nexport {\n IdentityTypeWithLiterals,\n FulfillmentStatusWithLiterals,\n WebhookIdentityTypeWithLiterals,\n CreateFulfillmentApplicationErrors,\n UpdateFulfillmentApplicationErrors,\n} from './ecom-v1-fulfillments-order-fulfillments.universal.js';\n"],"mappings":"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","names":["bulkCreateFulfillments","createFulfillment","deleteFulfillment","listFulfillmentsForMultipleOrders","listFulfillmentsForSingleOrder","onFulfillmentsUpdated","updateFulfillment","import_rename_all_nested_keys","import_timestamp","import_transform_paths","import_timestamp","import_rest_modules","payload","IdentityType","FulfillmentStatus","WebhookIdentityType","listFulfillmentsForSingleOrder","sdkTransformError","listFulfillmentsForMultipleOrders","createFulfillment","updateFulfillment","deleteFulfillment","TRANSFORM_PATHS_0","listFulfillmentsForSingleOrder","listFulfillmentsForMultipleOrders","createFulfillment","updateFulfillment","deleteFulfillment","bulkCreateFulfillments","TRANSFORM_PATHS_0","import_rest_modules","listFulfillmentsForSingleOrder","listFulfillmentsForMultipleOrders","createFulfillment","updateFulfillment","deleteFulfillment","bulkCreateFulfillments","onFulfillmentsUpdated"]}
1
+ {"version":3,"sources":["../../index.ts","../../src/ecom-v1-fulfillments-order-fulfillments.public.ts","../../src/ecom-v1-fulfillments-order-fulfillments.universal.ts","../../src/ecom-v1-fulfillments-order-fulfillments.http.ts","../../src/ecom-v1-fulfillments-order-fulfillments.context.ts"],"sourcesContent":["export * from './src/ecom-v1-fulfillments-order-fulfillments.context.js';\n","import { renameKeysFromRESTResponseToSDKResponse } from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { EventDefinition, HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n BulkCreateFulfillmentResponse,\n BulkCreateOrderWithFulfillments,\n CreateFulfillmentApplicationErrors,\n CreateFulfillmentResponse,\n DeleteFulfillmentIdentifiers,\n DeleteFulfillmentResponse,\n Fulfillment,\n FulfillmentsUpdatedEnvelope,\n ListFulfillmentsForMultipleOrdersResponse,\n ListFulfillmentsForSingleOrderResponse,\n OrderWithFulfillments,\n UpdateFulfillmentApplicationErrors,\n UpdateFulfillmentIdentifiers,\n UpdateFulfillmentOptions,\n bulkCreateFulfillments as universalBulkCreateFulfillments,\n createFulfillment as universalCreateFulfillment,\n deleteFulfillment as universalDeleteFulfillment,\n listFulfillmentsForMultipleOrders as universalListFulfillmentsForMultipleOrders,\n listFulfillmentsForSingleOrder as universalListFulfillmentsForSingleOrder,\n updateFulfillment as universalUpdateFulfillment,\n} from './ecom-v1-fulfillments-order-fulfillments.universal.js';\n\nconst TRANSFORM_PATHS_0 = [\n { path: 'entity.fulfillments.createdDate' },\n { path: 'metadata.eventTime' },\n { path: 'modifiedFields.fulfillments.createdDate' },\n];\nexport const __metadata = { PACKAGE_NAME: '@wix/ecom' };\n\nexport function listFulfillmentsForSingleOrder(\n httpClient: HttpClient\n): ListFulfillmentsForSingleOrderSignature {\n return (orderId: string) =>\n universalListFulfillmentsForSingleOrder(\n orderId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ListFulfillmentsForSingleOrderSignature {\n /**\n * Retrieves fulfillments associated with a specified order.\n *\n * An order can have a `fulfillmentStatus` of `FULFILLED` without any fulfillments, for example, when the order is manually marked as fulfilled in the site dashboard. For these orders, the returned list of fulfillments is empty. To learn how to find when these orders were fulfilled, see [Get the date an order was fulfilled](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/orders/sample-flows#get-the-date-an-order-was-fulfilled).\n *\n *\n * The `listFulfillmentsForSingleOrder()` function returns a Promise that resolves when the fulfillments are retrieved.\n * @param - Order ID for which to retrieve fulfillments.\n */\n (orderId: string): Promise<\n NonNullablePaths<\n ListFulfillmentsForSingleOrderResponse,\n `orderWithFulfillments.orderId` | `orderWithFulfillments.fulfillments`,\n 1\n >\n >;\n}\n\nexport function listFulfillmentsForMultipleOrders(\n httpClient: HttpClient\n): ListFulfillmentsForMultipleOrdersSignature {\n return (orderIds: string[]) =>\n universalListFulfillmentsForMultipleOrders(\n orderIds,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ListFulfillmentsForMultipleOrdersSignature {\n /**\n * Retrieves fulfillments associated with multiple specified orders.\n *\n * An order can have a `fulfillmentStatus` of `FULFILLED` without any fulfillments, for example, when the order is manually marked as fulfilled in the site dashboard. For these orders, the returned list of fulfillments is empty. To learn how to find when these orders were fulfilled, see [Get the date an order was fulfilled](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/orders/sample-flows#get-the-date-an-order-was-fulfilled).\n *\n *\n * The `listFulfillmentsForMultipleOrders()` function returns a Promise that resolves when the fulfillments are retrieved.\n * @param - List of order IDs for which to retrieve fulfillments.\n */\n (orderIds: string[]): Promise<\n NonNullablePaths<\n ListFulfillmentsForMultipleOrdersResponse,\n `ordersWithFulfillments` | `ordersWithFulfillments.${number}.orderId`,\n 2\n >\n >;\n}\n\nexport function createFulfillment(\n httpClient: HttpClient\n): CreateFulfillmentSignature {\n return (\n orderId: string,\n fulfillment: NonNullablePaths<\n Fulfillment,\n `lineItems` | `lineItems.${number}._id`,\n 2\n >\n ) =>\n universalCreateFulfillment(\n orderId,\n fulfillment,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateFulfillmentSignature {\n /**\n * Creates an order fulfillment.\n *\n * To create fulfillments for multiple orders in a single call, call [Bulk Create Fulfillments](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/order-fulfillments/bulk-create-fulfillments).\n *\n *\n * The `createFulfillment()` function returns a Promise that resolves when the fulfillment is created.\n * @param - Order ID.\n * @param - Fulfillment to create.\n */\n (\n orderId: string,\n fulfillment: NonNullablePaths<\n Fulfillment,\n `lineItems` | `lineItems.${number}._id`,\n 2\n >\n ): Promise<\n NonNullablePaths<\n CreateFulfillmentResponse,\n | `orderWithFulfillments.orderId`\n | `orderWithFulfillments.fulfillments`\n | `fulfillmentId`,\n 1\n > & {\n __applicationErrorsType?: CreateFulfillmentApplicationErrors;\n }\n >;\n}\n\nexport function updateFulfillment(\n httpClient: HttpClient\n): UpdateFulfillmentSignature {\n return (\n identifiers: NonNullablePaths<\n UpdateFulfillmentIdentifiers,\n `fulfillmentId` | `orderId`,\n 0\n >,\n options?: UpdateFulfillmentOptions\n ) =>\n universalUpdateFulfillment(\n identifiers,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateFulfillmentSignature {\n /**\n * Updates a fulfillment's properties.\n *\n * To update a field's value, include the new value in `options.fulfillment`.\n *\n * > **Notes:**\n * > + `trackingInfo.trackingNumber` and `trackingInfo.shippingProvider` can be updated but not removed.\n * > + When updating `lineItems`, each line item must include an explicit `quantity`. `lineItems` can't be emptied.\n * > + Line items can't be updated for a fulfillment with `completed: true`.\n * > + A shipping notification email may be sent to the buyer when the tracking info changes, depending on the site's email settings.\n *\n *\n * The `updateFulfillment()` function returns a Promise that resolves when the fulfillment is updated.\n * @param - Order and fulfillment IDs to be updated.\n * @param - Available options to use when updating a fulfillment.\n * @returns Order ID and all of the order's fulfillments after the update.\n */\n (\n identifiers: NonNullablePaths<\n UpdateFulfillmentIdentifiers,\n `fulfillmentId` | `orderId`,\n 0\n >,\n options?: UpdateFulfillmentOptions\n ): Promise<\n NonNullablePaths<OrderWithFulfillments, `orderId` | `fulfillments`, 0> & {\n __applicationErrorsType?: UpdateFulfillmentApplicationErrors;\n }\n >;\n}\n\nexport function deleteFulfillment(\n httpClient: HttpClient\n): DeleteFulfillmentSignature {\n return (\n identifiers: NonNullablePaths<\n DeleteFulfillmentIdentifiers,\n `fulfillmentId` | `orderId`,\n 0\n >\n ) =>\n universalDeleteFulfillment(\n identifiers,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface DeleteFulfillmentSignature {\n /**\n * Deletes a fulfillment from an order.\n *\n * The order's `fulfillmentStatus` is recalculated asynchronously after the call.\n *\n *\n * The `deleteFulfillment()` function returns a Promise that resolves when the fulfillment is deleted.\n * @param - Order and fulfillment IDs.\n */\n (\n identifiers: NonNullablePaths<\n DeleteFulfillmentIdentifiers,\n `fulfillmentId` | `orderId`,\n 0\n >\n ): Promise<\n NonNullablePaths<\n DeleteFulfillmentResponse,\n `orderWithFulfillments.orderId` | `orderWithFulfillments.fulfillments`,\n 1\n >\n >;\n}\n\nexport function bulkCreateFulfillments(\n httpClient: HttpClient\n): BulkCreateFulfillmentsSignature {\n return (\n ordersWithFulfillments: NonNullablePaths<\n BulkCreateOrderWithFulfillments,\n | `fulfillments`\n | `fulfillments.${number}.lineItems`\n | `fulfillments.${number}.lineItems.${number}._id`\n | `orderId`,\n 4\n >[]\n ) =>\n universalBulkCreateFulfillments(\n ordersWithFulfillments,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkCreateFulfillmentsSignature {\n /**\n * Creates fulfillments for multiple orders.\n *\n * You can specify up to 100 orders in a single call. Each order can appear once in `ordersWithFulfillments`.\n *\n * To create a single fulfillment, call [Create Fulfillment](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/order-fulfillments/create-fulfillment).\n *\n *\n * The `bulkCreateFulfillments()` function returns a Promise that resolves when the fulfillments are created.\n * @param - List of order IDs and their associated fulfillments' info.\n */\n (\n ordersWithFulfillments: NonNullablePaths<\n BulkCreateOrderWithFulfillments,\n | `fulfillments`\n | `fulfillments.${number}.lineItems`\n | `fulfillments.${number}.lineItems.${number}._id`\n | `orderId`,\n 4\n >[]\n ): Promise<\n NonNullablePaths<\n BulkCreateFulfillmentResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `results.${number}.ordersWithFulfillments.orderId`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 4\n >\n >;\n}\n\nexport const onFulfillmentsUpdated = /*#__PURE__*/ EventDefinition(\n 'wix.ecom.v1.fulfillments_updated',\n true,\n (event: FulfillmentsUpdatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ])\n )\n)<FulfillmentsUpdatedEnvelope>();\n\nexport {\n AccountInfo,\n AccountInfoMetadata,\n ActionEvent,\n ApplicationError,\n BaseEventMetadata,\n BulkActionMetadata,\n BulkCreateFulfillmentRequest,\n BulkCreateFulfillmentResponse,\n BulkCreateOrderWithFulfillments,\n BulkOrderFulfillmentsResult,\n BuyerInfo,\n CreateFulfillmentRequest,\n CreateFulfillmentResponse,\n CustomFulfillmentInfo,\n DeleteFulfillmentIdentifiers,\n DeleteFulfillmentRequest,\n DeleteFulfillmentResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n EventMetadata,\n Fulfillment,\n FulfillmentCreated,\n FulfillmentDeleted,\n FulfillmentFulfillmentInfoOneOf,\n FulfillmentLineItem,\n FulfillmentStatus,\n FulfillmentTrackingInfo,\n FulfillmentUpdated,\n FulfillmentsUpdatedEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n IdentityType,\n ItemMetadata,\n ListFulfillmentsForMultipleOrdersRequest,\n ListFulfillmentsForMultipleOrdersResponse,\n ListFulfillmentsForSingleOrderRequest,\n ListFulfillmentsForSingleOrderResponse,\n MessageEnvelope,\n OrderWithFulfillments,\n RestoreInfo,\n UpdateFulfillmentIdentifiers,\n UpdateFulfillmentOptions,\n UpdateFulfillmentRequest,\n UpdateFulfillmentResponse,\n V2FulfillmentTrackingInfo,\n WebhookIdentityType,\n} from './ecom-v1-fulfillments-order-fulfillments.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixEcomV1Fulfillments from './ecom-v1-fulfillments-order-fulfillments.http.js';\n\n/** An order and its associated fulfillments. A fulfillment represents the shipment or delivery of order items. */\nexport interface OrderWithFulfillments {\n /**\n * Order ID.\n * @minLength 1\n * @maxLength 100\n */\n orderId?: string;\n /** Fulfillments associated with the order. */\n fulfillments?: Fulfillment[];\n}\n\n/** A fulfillment represents the shipment or delivery of some or all of an order's line items. */\nexport interface Fulfillment extends FulfillmentFulfillmentInfoOneOf {\n /** Tracking info. */\n trackingInfo?: FulfillmentTrackingInfo;\n /** Custom fulfillment info. */\n customInfo?: CustomFulfillmentInfo;\n /**\n * Fulfillment ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Date and time the fulfillment was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Line items being fulfilled.\n * @maxSize 300\n */\n lineItems?: FulfillmentLineItem[];\n /**\n * The current status of the fulfillment process.\n *\n * Supported values (case-sensitive, any other value is rejected):\n * + `\"Pending\"` - Initial state when fulfillment is created but processing hasn't started.\n * + `\"Accepted\"` - Order has been received and validated for fulfillment.\n * + `\"Ready\"` - Items have been picked and packed, ready for shipping.\n * + `\"In_Delivery\"` - Items have been handed over to the shipping carrier.\n * + `\"Fulfilled\"` - Delivery has been completed successfully.\n *\n * The status typically progresses from `Pending` to `Accepted`, `Ready`, `In_Delivery`, and finally `Fulfilled`.\n * Update the status manually or automatically depending on your fulfillment workflow.\n *\n * This field is informational. The order's `fulfillmentStatus` is primarily derived from the fulfilled line item quantities, not from this field.\n * @minLength 1\n * @maxLength 100\n */\n status?: string | null;\n /**\n * Whether the fulfillment is complete.\n *\n * When `false`, the fulfillment's line items don't count as fulfilled when the order's `fulfillmentStatus` is calculated. When not set, they count as fulfilled.\n *\n * Line items can't be updated in a fulfillment where `completed` is `true`.\n */\n completed?: boolean | null;\n}\n\n/** @oneof */\nexport interface FulfillmentFulfillmentInfoOneOf {\n /** Tracking info. */\n trackingInfo?: FulfillmentTrackingInfo;\n /** Custom fulfillment info. */\n customInfo?: CustomFulfillmentInfo;\n}\n\nexport interface FulfillmentLineItem {\n /**\n * Line item ID (mirrors the ID of the order line item).\n * @format GUID\n */\n _id?: string;\n /**\n * Line item quantity.\n *\n * If the order doesn't have enough unfulfilled units of this line item, the fulfillment isn't created and an error is returned.\n *\n * Default: When creating a fulfillment, the line item's remaining unfulfilled quantity.\n * @min 1\n * @max 100000\n */\n quantity?: number | null;\n}\n\nexport interface FulfillmentTrackingInfo {\n /**\n * Shipping/delivery tracking number.\n * @minLength 1\n * @maxLength 100\n */\n trackingNumber?: string | null;\n /**\n * Shipping provider name. Specify a predefined provider to have `trackingLink` generated automatically, or any other name for a custom provider.\n *\n * Predefined providers:\n * + `\"fedex\"`: FedEx.\n * + `\"ups\"`: UPS.\n * + `\"usps\"`: United States Postal Service.\n * + `\"dhl\"`: DHL.\n * + `\"canadaPost\"`: Canada Post.\n * + `\"hermes\"`: Hermes.\n *\n * For a custom provider, specify `trackingLink` yourself. It isn't generated.\n * @minLength 1\n * @maxLength 100\n */\n shippingProvider?: string | null;\n /**\n * URL where customers can track the shipment.\n *\n * When you don't specify `trackingLink` and `shippingProvider` is a predefined provider, the URL is generated from `trackingNumber` in the carrier's tracking URL format.\n * For a custom provider, specify the URL of the carrier's tracking page.\n * @minLength 1\n * @maxLength 2048\n * @format WEB_URL\n */\n trackingLink?: string | null;\n}\n\nexport interface CustomFulfillmentInfo {\n /**\n * Custom fulfillment info in key:value form.\n * @maxSize 100\n */\n fieldsData?: Record<string, string>;\n}\n\nexport interface FulfillmentCreated {\n /**\n * Order ID (auto generated upon order creation).\n * @format GUID\n */\n orderId?: string;\n /**\n * ID of the newly created fulfillment.\n * @format GUID\n */\n fulfillmentId?: string;\n /** Fulfillment creation date and time. */\n dateCreated?: Date | null;\n /** Buyer information. */\n buyerInfo?: BuyerInfo;\n /** Order fulfillment status. */\n fulfillmentStatus?: FulfillmentStatusWithLiterals;\n /** Fulfillment tracking information. */\n trackingInfo?: V2FulfillmentTrackingInfo;\n}\n\n/** Buyer Info */\nexport interface BuyerInfo {\n /**\n * Wix customer ID\n * @format GUID\n */\n _id?: string | null;\n /**\n * Deprecated (use identityType instead)\n * @readonly\n * @deprecated\n */\n type?: IdentityTypeWithLiterals;\n /** Customer type */\n identityType?: IdentityTypeWithLiterals;\n /**\n * Customer's first name\n * @readonly\n */\n firstName?: string;\n /**\n * Customer's last name\n * @readonly\n */\n lastName?: string;\n /**\n * Customer's phone number\n * @readonly\n */\n phone?: string | null;\n /**\n * Customer's email address\n * @readonly\n */\n email?: string;\n /**\n * Contact Id. needed for cases where the user is the buyer and so it doesn't exist on the buyer info\n * @internal\n * @format GUID\n * @readonly\n */\n contactId?: string | null;\n}\n\nexport enum IdentityType {\n UNSPECIFIED_IDENTITY_TYPE = 'UNSPECIFIED_IDENTITY_TYPE',\n /** Site member */\n MEMBER = 'MEMBER',\n /** Contact */\n CONTACT = 'CONTACT',\n}\n\n/** @enumType */\nexport type IdentityTypeWithLiterals =\n | IdentityType\n | 'UNSPECIFIED_IDENTITY_TYPE'\n | 'MEMBER'\n | 'CONTACT';\n\nexport enum FulfillmentStatus {\n /** None of the order items are fulfilled */\n NOT_FULFILLED = 'NOT_FULFILLED',\n /**\n * All of the order items are fulfilled\n * Orders without shipping info are fulfilled automatically\n */\n FULFILLED = 'FULFILLED',\n /** Order is canceled */\n CANCELED = 'CANCELED',\n /** Some, but not all of the order items are fulfilled */\n PARTIALLY_FULFILLED = 'PARTIALLY_FULFILLED',\n}\n\n/** @enumType */\nexport type FulfillmentStatusWithLiterals =\n | FulfillmentStatus\n | 'NOT_FULFILLED'\n | 'FULFILLED'\n | 'CANCELED'\n | 'PARTIALLY_FULFILLED';\n\nexport interface V2FulfillmentTrackingInfo {\n /**\n * Tracking number.\n * @minLength 1\n * @maxLength 100\n */\n trackingNumber?: string;\n /**\n * Shipping provider. Using the following shipping providers will allow for autofilling the tracking link:\n * * `fedex`\n * * `ups`\n * * `usps`\n * * `dhl`\n * * `canadaPost`\n * @minLength 1\n * @maxLength 100\n */\n shippingProvider?: string;\n /**\n * Tracking link - autofilled if using a predefined shipping provider, otherwise provided on creation.\n * @minLength 1\n * @maxLength 2048\n * @format WEB_URL\n */\n trackingLink?: string | null;\n}\n\nexport interface FulfillmentUpdated {\n /**\n * Order ID (auto generated upon order creation).\n * @format GUID\n */\n orderId?: string;\n /**\n * ID of the updated fulfillment.\n * @format GUID\n */\n fulfillmentId?: string;\n /** Fulfillment tracking information. */\n trackingInfo?: V2FulfillmentTrackingInfo;\n}\n\nexport interface FulfillmentDeleted {\n /**\n * Order ID (auto generated upon order creation).\n * @format GUID\n */\n orderId?: string;\n /**\n * ID of the deleted fulfillment.\n * @format GUID\n */\n fulfillmentId?: string;\n /** Order fulfillment status. */\n fulfillmentStatus?: FulfillmentStatusWithLiterals;\n}\n\nexport interface ListFulfillmentsForSingleOrderRequest {\n /**\n * Order ID for which to retrieve fulfillments.\n * @minLength 1\n * @maxLength 100\n */\n orderId: string;\n}\n\nexport interface ListFulfillmentsForSingleOrderResponse {\n /** Order ID and the order's fulfillments. */\n orderWithFulfillments?: OrderWithFulfillments;\n}\n\nexport interface ListFulfillmentsForMultipleOrdersRequest {\n /**\n * List of order IDs for which to retrieve fulfillments.\n * @minSize 1\n * @maxSize 100\n */\n orderIds: string[];\n}\n\nexport interface ListFulfillmentsForMultipleOrdersResponse {\n /** List of order IDs and their associated fulfillments. */\n ordersWithFulfillments?: OrderWithFulfillments[];\n}\n\nexport interface CreateFulfillmentRequest {\n /** Order ID. */\n orderId: string;\n /** Fulfillment to create. */\n fulfillment: Fulfillment;\n}\n\nexport interface CreateFulfillmentResponse {\n /** Order ID and all of the order's fulfillments, including the created fulfillment. */\n orderWithFulfillments?: OrderWithFulfillments;\n /** ID of the created fulfillment. */\n fulfillmentId?: string;\n}\n\nexport interface UpdateFulfillmentRequest {\n /** Order ID. */\n orderId: string;\n /** Fulfillment to update. */\n fulfillment?: Fulfillment;\n /**\n * Set of fields to update. Fields that aren't included in `fieldMask.paths` are ignored.\n * @internal\n */\n fieldMask?: string[];\n}\n\nexport interface UpdateFulfillmentResponse {\n /** Order ID and all of the order's fulfillments after the update. */\n orderWithFulfillments?: OrderWithFulfillments;\n}\n\nexport interface DeleteFulfillmentRequest {\n /**\n * Order ID.\n * @minLength 1\n * @maxLength 100\n */\n orderId: string;\n /**\n * ID of the fulfillment to delete.\n * @format GUID\n */\n fulfillmentId: string;\n}\n\nexport interface DeleteFulfillmentResponse {\n /** Order ID and the order's associated fulfillments after deletion. */\n orderWithFulfillments?: OrderWithFulfillments;\n}\n\nexport interface BulkCreateFulfillmentRequest {\n /**\n * List of order IDs and their associated fulfillments' info.\n * @minSize 1\n * @maxSize 100\n */\n ordersWithFulfillments: BulkCreateOrderWithFulfillments[];\n}\n\nexport interface BulkCreateOrderWithFulfillments {\n /**\n * Order ID.\n * @minLength 1\n * @maxLength 100\n */\n orderId?: string;\n /**\n * Fulfillments associated with the order.\n * @minSize 1\n */\n fulfillments?: Fulfillment[];\n}\n\nexport interface BulkCreateFulfillmentResponse {\n /** Result for each order in the request. */\n results?: BulkOrderFulfillmentsResult[];\n /** Bulk action metadata. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkOrderFulfillmentsResult {\n /** Item metadata. */\n itemMetadata?: ItemMetadata;\n /**\n * Order ID and all of the order's fulfillments, including fulfillments that existed before the call.\n *\n * Returned only when `itemMetadata.success` is `true`.\n */\n ordersWithFulfillments?: OrderWithFulfillments;\n}\n\nexport interface ItemMetadata {\n /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n _id?: string | null;\n /** Index of the item within the request array. Allows for correlation between request and response items. */\n originalIndex?: number;\n /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n success?: boolean;\n /** Details about the error in case of failure. */\n error?: ApplicationError;\n}\n\nexport interface ApplicationError {\n /** Error code. */\n code?: string;\n /** Description of the error. */\n description?: string;\n /** Data related to the error. */\n data?: Record<string, any> | null;\n}\n\nexport interface BulkActionMetadata {\n /** Number of items that were successfully processed. */\n totalSuccesses?: number;\n /** Number of items that couldn't be processed. */\n totalFailures?: number;\n /** Number of failures without details because detailed failure threshold was exceeded. */\n undetailedFailures?: number;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\n/** @docsIgnore */\nexport type CreateFulfillmentApplicationErrors = {\n code?: 'TRACKING_NUMBER_ALREADY_EXISTS';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type UpdateFulfillmentApplicationErrors = {\n code?: 'TRACKING_NUMBER_ALREADY_EXISTS';\n description?: string;\n data?: Record<string, any>;\n};\n\nexport interface BaseEventMetadata {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface EventMetadata extends BaseEventMetadata {\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n accountInfo?: AccountInfoMetadata;\n}\n\nexport interface AccountInfoMetadata {\n /** ID of the Wix account associated with the event */\n accountId: string;\n /** ID of the Wix site associated with the event. Only included when the event is tied to a specific site. */\n siteId?: string;\n /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */\n parentAccountId?: string;\n}\n\nexport interface FulfillmentsUpdatedEnvelope {\n entity: OrderWithFulfillments;\n metadata: EventMetadata;\n /** @hidden */\n modifiedFields: Record<string, any>;\n}\n\n/**\n * Triggered when one or more of an order's fulfillments are created, updated, or deleted.\n *\n * The event contains the order ID and all of the order's fulfillments after the change.\n * @permissionScope Manage Stores - all permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.MANAGE-STORES\n * @permissionScope Manage_Wix_Rentals_App_Forms_submissions\n * @permissionScopeId SCOPE.RENTALS.MANAGE\n * @permissionScope Manage Stores\n * @permissionScopeId SCOPE.STORES.MANAGE-STORES\n * @permissionScope Read eCommerce - all read permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.READ-ECOM\n * @permissionScope Read Orders\n * @permissionScopeId SCOPE.DC-STORES.READ-ORDERS\n * @permissionScope Read Stores - all read permissions\n * @permissionScopeId SCOPE.DC-STORES-MEGA.READ-STORES\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionScope Manage eCommerce - all permissions\n * @permissionScopeId SCOPE.DC-ECOM-MEGA.MANAGE-ECOM\n * @permissionScope Manage Orders\n * @permissionScopeId SCOPE.DC-STORES.MANAGE-ORDERS\n * @permissionId ECOM.READ_FULFILLMENTS\n * @webhook\n * @eventType wix.ecom.v1.fulfillments_updated\n * @serviceIdentifier com.wix.ecom.orders.fulfillments.v1.Fulfillments\n * @slug updated\n */\nexport declare function onFulfillmentsUpdated(\n handler: (event: FulfillmentsUpdatedEnvelope) => void | Promise<void>\n): void;\n\n/**\n * Retrieves fulfillments associated with a specified order.\n *\n * An order can have a `fulfillmentStatus` of `FULFILLED` without any fulfillments, for example, when the order is manually marked as fulfilled in the site dashboard. For these orders, the returned list of fulfillments is empty. To learn how to find when these orders were fulfilled, see [Get the date an order was fulfilled](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/orders/sample-flows#get-the-date-an-order-was-fulfilled).\n *\n *\n * The `listFulfillmentsForSingleOrder()` function returns a Promise that resolves when the fulfillments are retrieved.\n * @param orderId - Order ID for which to retrieve fulfillments.\n * @public\n * @requiredField orderId\n * @permissionId ECOM.READ_FULFILLMENTS\n * @applicableIdentity APP\n * @applicableIdentity MEMBER\n * @fqn com.wix.ecom.orders.fulfillments.v1.Fulfillments.ListFulfillmentsForSingleOrder\n */\nexport async function listFulfillmentsForSingleOrder(\n orderId: string\n): Promise<\n NonNullablePaths<\n ListFulfillmentsForSingleOrderResponse,\n `orderWithFulfillments.orderId` | `orderWithFulfillments.fulfillments`,\n 1\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ orderId: orderId });\n\n const reqOpts =\n ambassadorWixEcomV1Fulfillments.listFulfillmentsForSingleOrder(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { orderId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['orderId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves fulfillments associated with multiple specified orders.\n *\n * An order can have a `fulfillmentStatus` of `FULFILLED` without any fulfillments, for example, when the order is manually marked as fulfilled in the site dashboard. For these orders, the returned list of fulfillments is empty. To learn how to find when these orders were fulfilled, see [Get the date an order was fulfilled](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/orders/sample-flows#get-the-date-an-order-was-fulfilled).\n *\n *\n * The `listFulfillmentsForMultipleOrders()` function returns a Promise that resolves when the fulfillments are retrieved.\n * @param orderIds - List of order IDs for which to retrieve fulfillments.\n * @public\n * @requiredField orderIds\n * @permissionId ECOM.READ_FULFILLMENTS\n * @applicableIdentity APP\n * @applicableIdentity MEMBER\n * @fqn com.wix.ecom.orders.fulfillments.v1.Fulfillments.ListFulfillmentsForMultipleOrders\n */\nexport async function listFulfillmentsForMultipleOrders(\n orderIds: string[]\n): Promise<\n NonNullablePaths<\n ListFulfillmentsForMultipleOrdersResponse,\n `ordersWithFulfillments` | `ordersWithFulfillments.${number}.orderId`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ orderIds: orderIds });\n\n const reqOpts =\n ambassadorWixEcomV1Fulfillments.listFulfillmentsForMultipleOrders(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { orderIds: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['orderIds']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Creates an order fulfillment.\n *\n * To create fulfillments for multiple orders in a single call, call [Bulk Create Fulfillments](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/order-fulfillments/bulk-create-fulfillments).\n *\n *\n * The `createFulfillment()` function returns a Promise that resolves when the fulfillment is created.\n * @param orderId - Order ID.\n * @param fulfillment - Fulfillment to create.\n * @public\n * @requiredField fulfillment\n * @requiredField fulfillment.lineItems\n * @requiredField fulfillment.lineItems._id\n * @requiredField orderId\n * @permissionId ECOM.MODIFY_FULFILLMENTS\n * @applicableIdentity APP\n * @fqn com.wix.ecom.orders.fulfillments.v1.Fulfillments.CreateFulfillment\n */\nexport async function createFulfillment(\n orderId: string,\n fulfillment: NonNullablePaths<\n Fulfillment,\n `lineItems` | `lineItems.${number}._id`,\n 2\n >\n): Promise<\n NonNullablePaths<\n CreateFulfillmentResponse,\n | `orderWithFulfillments.orderId`\n | `orderWithFulfillments.fulfillments`\n | `fulfillmentId`,\n 1\n > & {\n __applicationErrorsType?: CreateFulfillmentApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n orderId: orderId,\n fulfillment: fulfillment,\n });\n\n const reqOpts = ambassadorWixEcomV1Fulfillments.createFulfillment(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { orderId: '$[0]', fulfillment: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['orderId', 'fulfillment']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Updates a fulfillment's properties.\n *\n * To update a field's value, include the new value in `options.fulfillment`.\n *\n * > **Notes:**\n * > + `trackingInfo.trackingNumber` and `trackingInfo.shippingProvider` can be updated but not removed.\n * > + When updating `lineItems`, each line item must include an explicit `quantity`. `lineItems` can't be emptied.\n * > + Line items can't be updated for a fulfillment with `completed: true`.\n * > + A shipping notification email may be sent to the buyer when the tracking info changes, depending on the site's email settings.\n *\n *\n * The `updateFulfillment()` function returns a Promise that resolves when the fulfillment is updated.\n * @public\n * @requiredField identifiers\n * @requiredField identifiers.fulfillmentId\n * @requiredField identifiers.orderId\n * @param identifiers - Order and fulfillment IDs to be updated.\n * @param options - Available options to use when updating a fulfillment.\n * @permissionId ECOM.MODIFY_FULFILLMENTS\n * @applicableIdentity APP\n * @returns Order ID and all of the order's fulfillments after the update.\n * @fqn com.wix.ecom.orders.fulfillments.v1.Fulfillments.UpdateFulfillment\n */\nexport async function updateFulfillment(\n identifiers: NonNullablePaths<\n UpdateFulfillmentIdentifiers,\n `fulfillmentId` | `orderId`,\n 0\n >,\n options?: UpdateFulfillmentOptions\n): Promise<\n NonNullablePaths<OrderWithFulfillments, `orderId` | `fulfillments`, 0> & {\n __applicationErrorsType?: UpdateFulfillmentApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n fulfillment: { ...options?.fulfillment, id: identifiers?.fulfillmentId },\n orderId: identifiers?.orderId,\n });\n\n const reqOpts = ambassadorWixEcomV1Fulfillments.updateFulfillment(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)\n ?.orderWithFulfillments!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: { fulfillment: '$[1].fulfillment' },\n explicitPathsToArguments: {\n 'fulfillment.id': '$[0].fulfillmentId',\n orderId: '$[0].orderId',\n },\n singleArgumentUnchanged: false,\n },\n ['identifiers', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateFulfillmentOptions {\n /** Fulfillment to update. */\n fulfillment?: {\n /** Tracking info. */\n trackingInfo?: FulfillmentTrackingInfo;\n /** Custom fulfillment info. */\n customInfo?: CustomFulfillmentInfo;\n /**\n * Fulfillment ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Date and time the fulfillment was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Line items being fulfilled.\n * @maxSize 300\n */\n lineItems?: FulfillmentLineItem[];\n /**\n * The current status of the fulfillment process.\n *\n * Supported values (case-sensitive, any other value is rejected):\n * + `\"Pending\"` - Initial state when fulfillment is created but processing hasn't started.\n * + `\"Accepted\"` - Order has been received and validated for fulfillment.\n * + `\"Ready\"` - Items have been picked and packed, ready for shipping.\n * + `\"In_Delivery\"` - Items have been handed over to the shipping carrier.\n * + `\"Fulfilled\"` - Delivery has been completed successfully.\n *\n * The status typically progresses from `Pending` to `Accepted`, `Ready`, `In_Delivery`, and finally `Fulfilled`.\n * Update the status manually or automatically depending on your fulfillment workflow.\n *\n * This field is informational. The order's `fulfillmentStatus` is primarily derived from the fulfilled line item quantities, not from this field.\n * @minLength 1\n * @maxLength 100\n */\n status?: string | null;\n /**\n * Whether the fulfillment is complete.\n *\n * When `false`, the fulfillment's line items don't count as fulfilled when the order's `fulfillmentStatus` is calculated. When not set, they count as fulfilled.\n *\n * Line items can't be updated in a fulfillment where `completed` is `true`.\n */\n completed?: boolean | null;\n };\n}\n\nexport interface UpdateFulfillmentIdentifiers {\n /**\n * ID of the fulfillment to be updated.\n * @format GUID\n * @readonly\n */\n fulfillmentId?: string | null;\n /** Order ID. */\n orderId: string;\n}\n\n/**\n * Deletes a fulfillment from an order.\n *\n * The order's `fulfillmentStatus` is recalculated asynchronously after the call.\n *\n *\n * The `deleteFulfillment()` function returns a Promise that resolves when the fulfillment is deleted.\n * @public\n * @requiredField identifiers\n * @requiredField identifiers.fulfillmentId\n * @requiredField identifiers.orderId\n * @param identifiers - Order and fulfillment IDs.\n * @permissionId ECOM.MODIFY_FULFILLMENTS\n * @applicableIdentity APP\n * @fqn com.wix.ecom.orders.fulfillments.v1.Fulfillments.DeleteFulfillment\n */\nexport async function deleteFulfillment(\n identifiers: NonNullablePaths<\n DeleteFulfillmentIdentifiers,\n `fulfillmentId` | `orderId`,\n 0\n >\n): Promise<\n NonNullablePaths<\n DeleteFulfillmentResponse,\n `orderWithFulfillments.orderId` | `orderWithFulfillments.fulfillments`,\n 1\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n fulfillmentId: identifiers?.fulfillmentId,\n orderId: identifiers?.orderId,\n });\n\n const reqOpts = ambassadorWixEcomV1Fulfillments.deleteFulfillment(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n fulfillmentId: '$[0].fulfillmentId',\n orderId: '$[0].orderId',\n },\n singleArgumentUnchanged: false,\n },\n ['identifiers']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface DeleteFulfillmentIdentifiers {\n /**\n * ID of the fulfillment to delete.\n * @format GUID\n */\n fulfillmentId: string;\n /**\n * Order ID.\n * @minLength 1\n * @maxLength 100\n */\n orderId: string;\n}\n\n/**\n * Creates fulfillments for multiple orders.\n *\n * You can specify up to 100 orders in a single call. Each order can appear once in `ordersWithFulfillments`.\n *\n * To create a single fulfillment, call [Create Fulfillment](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/order-fulfillments/create-fulfillment).\n *\n *\n * The `bulkCreateFulfillments()` function returns a Promise that resolves when the fulfillments are created.\n * @param ordersWithFulfillments - List of order IDs and their associated fulfillments' info.\n * @public\n * @requiredField ordersWithFulfillments\n * @requiredField ordersWithFulfillments.fulfillments\n * @requiredField ordersWithFulfillments.fulfillments.lineItems\n * @requiredField ordersWithFulfillments.fulfillments.lineItems._id\n * @requiredField ordersWithFulfillments.orderId\n * @permissionId ECOM.MODIFY_FULFILLMENTS\n * @applicableIdentity APP\n * @fqn com.wix.ecom.orders.fulfillments.v1.Fulfillments.BulkCreateFulfillment\n */\nexport async function bulkCreateFulfillments(\n ordersWithFulfillments: NonNullablePaths<\n BulkCreateOrderWithFulfillments,\n | `fulfillments`\n | `fulfillments.${number}.lineItems`\n | `fulfillments.${number}.lineItems.${number}._id`\n | `orderId`,\n 4\n >[]\n): Promise<\n NonNullablePaths<\n BulkCreateFulfillmentResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `results.${number}.ordersWithFulfillments.orderId`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n ordersWithFulfillments: ordersWithFulfillments,\n });\n\n const reqOpts =\n ambassadorWixEcomV1Fulfillments.bulkCreateFulfillment(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { ordersWithFulfillments: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['ordersWithFulfillments']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformSDKFieldMaskToRESTFieldMask } from '@wix/sdk-runtime/transformations/field-mask';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nconst TRANSFORM_PATHS_0 = [\n { path: 'orderWithFulfillments.fulfillments.createdDate' },\n];\nconst TRANSFORM_PATHS_1 = [\n { path: 'ordersWithFulfillments.fulfillments.createdDate' },\n];\nconst TRANSFORM_PATHS_2 = [{ path: 'fulfillment.createdDate' }];\nconst TRANSFORM_PATHS_3 = [{ path: 'fieldMask' }];\nconst TRANSFORM_PATHS_4 = [\n { path: 'results.ordersWithFulfillments.fulfillments.createdDate' },\n];\n\nfunction resolveComWixEcomOrdersFulfillmentsV1FulfillmentsUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'www.wixapis.com': [\n {\n srcPath: '/ecom/v1/fulfillments',\n destPath: '/v1/fulfillments',\n },\n ],\n _: [\n {\n srcPath: '/_api/fulfillments',\n destPath: '',\n },\n {\n srcPath: '/_api/ecom-fulfillments',\n destPath: '',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/fulfillments/v1/fulfillments',\n destPath: '/v1/fulfillments',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/ecom/v1/fulfillments',\n destPath: '/v1/fulfillments',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_ecom_order-fulfillments';\n\n/**\n * Retrieves fulfillments associated with a specified order.\n *\n * An order can have a `fulfillmentStatus` of `FULFILLED` without any fulfillments, for example, when the order is manually marked as fulfilled in the site dashboard. For these orders, the returned list of fulfillments is empty. To learn how to find when these orders were fulfilled, see [Get the date an order was fulfilled](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/orders/sample-flows#get-the-date-an-order-was-fulfilled).\n *\n *\n * The `listFulfillmentsForSingleOrder()` function returns a Promise that resolves when the fulfillments are retrieved.\n */\nexport function listFulfillmentsForSingleOrder(\n payload: object\n): RequestOptionsFactory<any> {\n function __listFulfillmentsForSingleOrder({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v1.fulfillments',\n method: 'GET' as any,\n methodFqn:\n 'com.wix.ecom.orders.fulfillments.v1.Fulfillments.ListFulfillmentsForSingleOrder',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomOrdersFulfillmentsV1FulfillmentsUrl({\n protoPath: '/v1/fulfillments/orders/{orderId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __listFulfillmentsForSingleOrder;\n}\n\n/**\n * Retrieves fulfillments associated with multiple specified orders.\n *\n * An order can have a `fulfillmentStatus` of `FULFILLED` without any fulfillments, for example, when the order is manually marked as fulfilled in the site dashboard. For these orders, the returned list of fulfillments is empty. To learn how to find when these orders were fulfilled, see [Get the date an order was fulfilled](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/orders/sample-flows#get-the-date-an-order-was-fulfilled).\n *\n *\n * The `listFulfillmentsForMultipleOrders()` function returns a Promise that resolves when the fulfillments are retrieved.\n */\nexport function listFulfillmentsForMultipleOrders(\n payload: object\n): RequestOptionsFactory<any> {\n function __listFulfillmentsForMultipleOrders({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v1.fulfillments',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.ecom.orders.fulfillments.v1.Fulfillments.ListFulfillmentsForMultipleOrders',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomOrdersFulfillmentsV1FulfillmentsUrl({\n protoPath: '/v1/fulfillments/list-by-ids',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_1,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __listFulfillmentsForMultipleOrders;\n}\n\n/**\n * Creates an order fulfillment.\n *\n * To create fulfillments for multiple orders in a single call, call [Bulk Create Fulfillments](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/order-fulfillments/bulk-create-fulfillments).\n *\n *\n * The `createFulfillment()` function returns a Promise that resolves when the fulfillment is created.\n */\nexport function createFulfillment(payload: object): RequestOptionsFactory<any> {\n function __createFulfillment({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: TRANSFORM_PATHS_2,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.ecom.v1.fulfillments',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.ecom.orders.fulfillments.v1.Fulfillments.CreateFulfillment',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomOrdersFulfillmentsV1FulfillmentsUrl({\n protoPath: '/v1/fulfillments/orders/{orderId}/create-fulfillment',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createFulfillment;\n}\n\n/**\n * Updates a fulfillment's properties.\n *\n * To update a field's value, include the new value in `options.fulfillment`.\n *\n * > **Notes:**\n * > + `trackingInfo.trackingNumber` and `trackingInfo.shippingProvider` can be updated but not removed.\n * > + When updating `lineItems`, each line item must include an explicit `quantity`. `lineItems` can't be emptied.\n * > + Line items can't be updated for a fulfillment with `completed: true`.\n * > + A shipping notification email may be sent to the buyer when the tracking info changes, depending on the site's email settings.\n *\n *\n * The `updateFulfillment()` function returns a Promise that resolves when the fulfillment is updated.\n */\nexport function updateFulfillment(payload: object): RequestOptionsFactory<any> {\n function __updateFulfillment({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: TRANSFORM_PATHS_3,\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: TRANSFORM_PATHS_2,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.ecom.v1.fulfillments',\n method: 'PATCH' as any,\n methodFqn:\n 'com.wix.ecom.orders.fulfillments.v1.Fulfillments.UpdateFulfillment',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomOrdersFulfillmentsV1FulfillmentsUrl({\n protoPath: '/v1/fulfillments/{fulfillment.id}/orders/{orderId}',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateFulfillment;\n}\n\n/**\n * Deletes a fulfillment from an order.\n *\n * The order's `fulfillmentStatus` is recalculated asynchronously after the call.\n *\n *\n * The `deleteFulfillment()` function returns a Promise that resolves when the fulfillment is deleted.\n */\nexport function deleteFulfillment(payload: object): RequestOptionsFactory<any> {\n function __deleteFulfillment({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.ecom.v1.fulfillments',\n method: 'DELETE' as any,\n methodFqn:\n 'com.wix.ecom.orders.fulfillments.v1.Fulfillments.DeleteFulfillment',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomOrdersFulfillmentsV1FulfillmentsUrl({\n protoPath: '/v1/fulfillments/{fulfillmentId}/orders/{orderId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __deleteFulfillment;\n}\n\n/**\n * Creates fulfillments for multiple orders.\n *\n * You can specify up to 100 orders in a single call. Each order can appear once in `ordersWithFulfillments`.\n *\n * To create a single fulfillment, call [Create Fulfillment](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/order-fulfillments/create-fulfillment).\n *\n *\n * The `bulkCreateFulfillments()` function returns a Promise that resolves when the fulfillments are created.\n */\nexport function bulkCreateFulfillment(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkCreateFulfillment({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: TRANSFORM_PATHS_1,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.ecom.v1.fulfillments',\n method: 'POST' as any,\n methodFqn:\n 'com.wix.ecom.orders.fulfillments.v1.Fulfillments.BulkCreateFulfillment',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixEcomOrdersFulfillmentsV1FulfillmentsUrl({\n protoPath: '/v1/fulfillments/orders/bulk/create-fulfillments',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_4,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __bulkCreateFulfillment;\n}\n","import {\n listFulfillmentsForSingleOrder as publicListFulfillmentsForSingleOrder,\n listFulfillmentsForMultipleOrders as publicListFulfillmentsForMultipleOrders,\n createFulfillment as publicCreateFulfillment,\n updateFulfillment as publicUpdateFulfillment,\n deleteFulfillment as publicDeleteFulfillment,\n bulkCreateFulfillments as publicBulkCreateFulfillments,\n} from './ecom-v1-fulfillments-order-fulfillments.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { createEventModule } from '@wix/sdk-runtime/event-definition-modules';\nimport {\n BuildRESTFunction,\n MaybeContext,\n BuildEventDefinition,\n} from '@wix/sdk-types';\nimport { onFulfillmentsUpdated as publicOnFulfillmentsUpdated } from './ecom-v1-fulfillments-order-fulfillments.public.js';\n\nexport const listFulfillmentsForSingleOrder: MaybeContext<\n BuildRESTFunction<typeof publicListFulfillmentsForSingleOrder> &\n typeof publicListFulfillmentsForSingleOrder\n> = /*#__PURE__*/ createRESTModule(publicListFulfillmentsForSingleOrder);\nexport const listFulfillmentsForMultipleOrders: MaybeContext<\n BuildRESTFunction<typeof publicListFulfillmentsForMultipleOrders> &\n typeof publicListFulfillmentsForMultipleOrders\n> = /*#__PURE__*/ createRESTModule(publicListFulfillmentsForMultipleOrders);\nexport const createFulfillment: MaybeContext<\n BuildRESTFunction<typeof publicCreateFulfillment> &\n typeof publicCreateFulfillment\n> = /*#__PURE__*/ createRESTModule(publicCreateFulfillment);\nexport const updateFulfillment: MaybeContext<\n BuildRESTFunction<typeof publicUpdateFulfillment> &\n typeof publicUpdateFulfillment\n> = /*#__PURE__*/ createRESTModule(publicUpdateFulfillment);\nexport const deleteFulfillment: MaybeContext<\n BuildRESTFunction<typeof publicDeleteFulfillment> &\n typeof publicDeleteFulfillment\n> = /*#__PURE__*/ createRESTModule(publicDeleteFulfillment);\nexport const bulkCreateFulfillments: MaybeContext<\n BuildRESTFunction<typeof publicBulkCreateFulfillments> &\n typeof publicBulkCreateFulfillments\n> = /*#__PURE__*/ createRESTModule(publicBulkCreateFulfillments);\n/**\n * Triggered when one or more of an order's fulfillments are created, updated, or deleted.\n *\n * The event contains the order ID and all of the order's fulfillments after the change.\n */\nexport const onFulfillmentsUpdated: BuildEventDefinition<\n typeof publicOnFulfillmentsUpdated\n> &\n typeof publicOnFulfillmentsUpdated = /*#__PURE__*/ createEventModule(\n publicOnFulfillmentsUpdated\n);\n\nexport {\n IdentityType,\n FulfillmentStatus,\n WebhookIdentityType,\n} from './ecom-v1-fulfillments-order-fulfillments.universal.js';\nexport {\n OrderWithFulfillments,\n Fulfillment,\n FulfillmentFulfillmentInfoOneOf,\n FulfillmentLineItem,\n FulfillmentTrackingInfo,\n CustomFulfillmentInfo,\n FulfillmentCreated,\n BuyerInfo,\n V2FulfillmentTrackingInfo,\n FulfillmentUpdated,\n FulfillmentDeleted,\n ListFulfillmentsForSingleOrderRequest,\n ListFulfillmentsForSingleOrderResponse,\n ListFulfillmentsForMultipleOrdersRequest,\n ListFulfillmentsForMultipleOrdersResponse,\n CreateFulfillmentRequest,\n CreateFulfillmentResponse,\n UpdateFulfillmentRequest,\n UpdateFulfillmentResponse,\n DeleteFulfillmentRequest,\n DeleteFulfillmentResponse,\n BulkCreateFulfillmentRequest,\n BulkCreateOrderWithFulfillments,\n BulkCreateFulfillmentResponse,\n BulkOrderFulfillmentsResult,\n ItemMetadata,\n ApplicationError,\n BulkActionMetadata,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n AccountInfo,\n BaseEventMetadata,\n EventMetadata,\n AccountInfoMetadata,\n FulfillmentsUpdatedEnvelope,\n UpdateFulfillmentOptions,\n UpdateFulfillmentIdentifiers,\n DeleteFulfillmentIdentifiers,\n} from './ecom-v1-fulfillments-order-fulfillments.universal.js';\nexport {\n IdentityTypeWithLiterals,\n FulfillmentStatusWithLiterals,\n WebhookIdentityTypeWithLiterals,\n CreateFulfillmentApplicationErrors,\n UpdateFulfillmentApplicationErrors,\n} from './ecom-v1-fulfillments-order-fulfillments.universal.js';\n"],"mappings":"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","names":["bulkCreateFulfillments","createFulfillment","deleteFulfillment","listFulfillmentsForMultipleOrders","listFulfillmentsForSingleOrder","onFulfillmentsUpdated","updateFulfillment","import_rename_all_nested_keys","import_timestamp","import_transform_paths","import_timestamp","import_rest_modules","payload","IdentityType","FulfillmentStatus","WebhookIdentityType","listFulfillmentsForSingleOrder","sdkTransformError","listFulfillmentsForMultipleOrders","createFulfillment","updateFulfillment","deleteFulfillment","TRANSFORM_PATHS_0","listFulfillmentsForSingleOrder","listFulfillmentsForMultipleOrders","createFulfillment","updateFulfillment","deleteFulfillment","bulkCreateFulfillments","TRANSFORM_PATHS_0","import_rest_modules","listFulfillmentsForSingleOrder","listFulfillmentsForMultipleOrders","createFulfillment","updateFulfillment","deleteFulfillment","bulkCreateFulfillments","onFulfillmentsUpdated"]}
@@ -352,7 +352,11 @@ interface BulkCreateFulfillmentResponse {
352
352
  interface BulkOrderFulfillmentsResult {
353
353
  /** Item metadata. */
354
354
  itemMetadata?: ItemMetadata;
355
- /** List of order IDs and their associated fulfillments. */
355
+ /**
356
+ * Order ID and all of the order's fulfillments, including fulfillments that existed before the call.
357
+ *
358
+ * Returned only when `itemMetadata.success` is `true`.
359
+ */
356
360
  ordersWithFulfillments?: OrderWithFulfillments;
357
361
  }
358
362
  interface ItemMetadata {
@@ -639,6 +643,8 @@ declare function onFulfillmentsUpdated(handler: (event: FulfillmentsUpdatedEnvel
639
643
  /**
640
644
  * Retrieves fulfillments associated with a specified order.
641
645
  *
646
+ * An order can have a `fulfillmentStatus` of `FULFILLED` without any fulfillments, for example, when the order is manually marked as fulfilled in the site dashboard. For these orders, the returned list of fulfillments is empty. To learn how to find when these orders were fulfilled, see [Get the date an order was fulfilled](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/orders/sample-flows#get-the-date-an-order-was-fulfilled).
647
+ *
642
648
  *
643
649
  * The `listFulfillmentsForSingleOrder()` function returns a Promise that resolves when the fulfillments are retrieved.
644
650
  * @param orderId - Order ID for which to retrieve fulfillments.
@@ -653,6 +659,8 @@ declare function listFulfillmentsForSingleOrder(orderId: string): Promise<NonNul
653
659
  /**
654
660
  * Retrieves fulfillments associated with multiple specified orders.
655
661
  *
662
+ * An order can have a `fulfillmentStatus` of `FULFILLED` without any fulfillments, for example, when the order is manually marked as fulfilled in the site dashboard. For these orders, the returned list of fulfillments is empty. To learn how to find when these orders were fulfilled, see [Get the date an order was fulfilled](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/orders/sample-flows#get-the-date-an-order-was-fulfilled).
663
+ *
656
664
  *
657
665
  * The `listFulfillmentsForMultipleOrders()` function returns a Promise that resolves when the fulfillments are retrieved.
658
666
  * @param orderIds - List of order IDs for which to retrieve fulfillments.
@@ -667,6 +675,8 @@ declare function listFulfillmentsForMultipleOrders(orderIds: string[]): Promise<
667
675
  /**
668
676
  * Creates an order fulfillment.
669
677
  *
678
+ * To create fulfillments for multiple orders in a single call, call [Bulk Create Fulfillments](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/order-fulfillments/bulk-create-fulfillments).
679
+ *
670
680
  *
671
681
  * The `createFulfillment()` function returns a Promise that resolves when the fulfillment is created.
672
682
  * @param orderId - Order ID.
@@ -685,13 +695,17 @@ declare function createFulfillment(orderId: string, fulfillment: NonNullablePath
685
695
  }>;
686
696
  /**
687
697
  * Updates a fulfillment's properties.
688
- * To update a field's value, include the new value in the `fulfillment` field in the body params.
689
- * To remove a field's value, pass `null`.
690
698
  *
699
+ * To update a field's value, include the new value in `options.fulfillment`.
700
+ *
701
+ * > **Notes:**
702
+ * > + `trackingInfo.trackingNumber` and `trackingInfo.shippingProvider` can be updated but not removed.
703
+ * > + When updating `lineItems`, each line item must include an explicit `quantity`. `lineItems` can't be emptied.
704
+ * > + Line items can't be updated for a fulfillment with `completed: true`.
705
+ * > + A shipping notification email may be sent to the buyer when the tracking info changes, depending on the site's email settings.
691
706
  *
692
- * The `updateFulfillment()` function returns a Promise that resolves when the fulfillment is updated.
693
707
  *
694
- * > **Note:** Updating line item IDs or fulfilled quantities is not allowed. To update line item IDs or quantities, delete the fulfillment and create it again.
708
+ * The `updateFulfillment()` function returns a Promise that resolves when the fulfillment is updated.
695
709
  * @public
696
710
  * @requiredField identifiers
697
711
  * @requiredField identifiers.fulfillmentId
@@ -707,7 +721,7 @@ declare function updateFulfillment(identifiers: NonNullablePaths<UpdateFulfillme
707
721
  __applicationErrorsType?: UpdateFulfillmentApplicationErrors;
708
722
  }>;
709
723
  interface UpdateFulfillmentOptions {
710
- /** Fulfillment info. */
724
+ /** Fulfillment to update. */
711
725
  fulfillment?: {
712
726
  /** Tracking info. */
713
727
  trackingInfo?: FulfillmentTrackingInfo;
@@ -768,7 +782,9 @@ interface UpdateFulfillmentIdentifiers {
768
782
  orderId: string;
769
783
  }
770
784
  /**
771
- * Deletes an existing order fulfillment.
785
+ * Deletes a fulfillment from an order.
786
+ *
787
+ * The order's `fulfillmentStatus` is recalculated asynchronously after the call.
772
788
  *
773
789
  *
774
790
  * The `deleteFulfillment()` function returns a Promise that resolves when the fulfillment is deleted.
@@ -796,7 +812,11 @@ interface DeleteFulfillmentIdentifiers {
796
812
  orderId: string;
797
813
  }
798
814
  /**
799
- * Creates multiple fulfillments for one or more orders.
815
+ * Creates fulfillments for multiple orders.
816
+ *
817
+ * You can specify up to 100 orders in a single call. Each order can appear once in `ordersWithFulfillments`.
818
+ *
819
+ * To create a single fulfillment, call [Create Fulfillment](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/orders/order-fulfillments/create-fulfillment).
800
820
  *
801
821
  *
802
822
  * The `bulkCreateFulfillments()` function returns a Promise that resolves when the fulfillments are created.