> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # BulkUpdateSuppliers # Package: suppliersHub # Namespace: MarketplaceSupplier # Method link: https://dev.wix.com/docs/api-reference/business-solutions/suppliers-hub/suppliers/bulk-update-suppliers.md ## Permission Scopes: Write Marketplace: SCOPE.SUPPLIERS_HUB.WRITE_MARKETPLACE ## Introduction Updates multiple suppliers in a single synchronous request. Supports up to 100 suppliers per request. Each supplier must include its current revision number to prevent conflicting changes. Set `returnEntity` to `true` to receive the updated suppliers in the response. To update more than 100 suppliers, split them into multiple batches and make separate requests. When updating rating information, update both `rating` and `reviewCount` together to maintain consistency. --- ## REST API ### Schema ``` Method: bulkUpdateSuppliers Description: Updates multiple suppliers in a single synchronous request. Supports up to 100 suppliers per request. Each supplier must include its current revision number to prevent conflicting changes. Set `returnEntity` to `true` to receive the updated suppliers in the response. To update more than 100 suppliers, split them into multiple batches and make separate requests. When updating rating information, update both `rating` and `reviewCount` together to maintain consistency. URL: https://www.wixapis.com/suppliers-hub/v1/bulk/suppliers/update Method: POST # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: suppliers, suppliers.supplier.id, suppliers.supplier.revision Method parameters: param name: returnEntity | type: returnEntity | description: Whether to return updated supplier entities in the response. Set to `true` to receive the updated suppliers with their new revision numbers. Default: `false` param name: suppliers | type: array | description: List of suppliers to update. Each must include current revision number. | required: true - name: supplier | type: Supplier | description: Supplier to update. - name: id | type: string | description: Supplier GUID. | required: true - name: revision | type: string | description: Revision number, which increments by 1 each time the Supplier is updated. To prevent conflicting changes, the current revision must be passed when updating the Supplier. Ignored when creating a Supplier. | required: true - name: name | type: string | description: Supplier name. Displayed to providers when browsing and selecting suppliers for their product catalogs. - name: location | type: Location | description: Supplier location. - name: country | type: string | description: 2-letter country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1) format. For example, `US` for United States or `GB` for United Kingdom. - name: rating | type: string | description: Supplier rating from 1.00 to 5.00. For example, `4.25`. Provider applications manage ratings and should update both `rating` and `reviewCount` together to maintain consistency. - name: verified | type: boolean | description: Whether the supplier has passed verification processes. Default: `false` - name: types | type: array | description: Supplier business model types. `DROPSHIPPING` suppliers ship directly to end customers, while `WHOLESALE` suppliers ship in bulk to the provider who fulfills orders. A supplier can support multiple fulfillment models. - enum: - DROPSHIPPING: Supplier ships products directly to end customers. The provider does not handle physical inventory or fulfillment. - WHOLESALE: Supplier ships products in bulk to the provider, who then fulfills orders to end customers. - name: reviewCount | type: integer | description: Number of reviews for the supplier. Provider applications should update both `rating` and `reviewCount` together to maintain consistency. - name: tags | type: Tags | description: Supplier tags for organization and categorization. - name: privateTags | type: TagList | description: Tags that require an additional permission in order to access them, normally not given to site members or visitors. - name: tagIds | type: array | description: List of tag GUIDs. - name: publicTags | type: TagList | description: Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. Return type: BulkUpdateSuppliersResponse - name: results | type: array | description: Results - name: itemMetadata | type: ItemMetadata | description: Metadata regarding the specific single update operation - name: id | type: string | description: Item GUID. Provided only whenever possible. For example, `itemId` can't be provided when item creation has failed. - name: originalIndex | type: integer | description: Index of the item within the request array. Allows for correlation between request and response items. - name: success | type: boolean | description: Whether the requested action for this item was successful. When `false`, the `error` field is returned. - name: error | type: ApplicationError | description: Details about the error in case of failure. - name: code | type: string | description: Error code. - name: description | type: string | description: Description of the error. - name: data | type: object | description: Data related to the error. - name: item | type: Supplier | description: Only exists if `returnEntity` was set to true in the request - name: id | type: string | description: Supplier GUID. - name: revision | type: string | description: Revision number, which increments by 1 each time the Supplier is updated. To prevent conflicting changes, the current revision must be passed when updating the Supplier. Ignored when creating a Supplier. - name: createdDate | type: string | description: Date and time the Supplier was created. - name: updatedDate | type: string | description: Date and time the Supplier was last updated. - name: name | type: string | description: Supplier name. Displayed to providers when browsing and selecting suppliers for their product catalogs. - name: appId | type: string | description: App GUID of the provider application responsible for managing the supplier and its products. Automatically set to the GUID of the application making the create request. - name: location | type: Location | description: Supplier location. - name: country | type: string | description: 2-letter country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1) format. For example, `US` for United States or `GB` for United Kingdom. - name: rating | type: string | description: Supplier rating from 1.00 to 5.00. For example, `4.25`. Provider applications manage ratings and should update both `rating` and `reviewCount` together to maintain consistency. - name: verified | type: boolean | description: Whether the supplier has passed verification processes. Default: `false` - name: types | type: array | description: Supplier business model types. `DROPSHIPPING` suppliers ship directly to end customers, while `WHOLESALE` suppliers ship in bulk to the provider who fulfills orders. A supplier can support multiple fulfillment models. - enum: - DROPSHIPPING: Supplier ships products directly to end customers. The provider does not handle physical inventory or fulfillment. - WHOLESALE: Supplier ships products in bulk to the provider, who then fulfills orders to end customers. - name: reviewCount | type: integer | description: Number of reviews for the supplier. Provider applications should update both `rating` and `reviewCount` together to maintain consistency. - name: tags | type: Tags | description: Supplier tags for organization and categorization. - name: privateTags | type: TagList | description: Tags that require an additional permission in order to access them, normally not given to site members or visitors. - name: tagIds | type: array | description: List of tag GUIDs. - name: publicTags | type: TagList | description: Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. - name: bulkActionMetadata | type: BulkActionMetadata | description: Metadata regarding the bulk update operation - name: totalSuccesses | type: integer | description: Number of items that were successfully processed. - name: totalFailures | type: integer | description: Number of items that couldn't be processed. - name: undetailedFailures | type: integer | description: Number of failures without details because detailed failure threshold was exceeded. ``` ### Examples ### Update multiple suppliers Updates multiple suppliers with revision control in a single request ```curl curl -X POST \ 'https://www.wixapis.com/suppliers-hub/v1/bulk/suppliers/update' \ -H 'Authorization: ' \ -H 'Content-Type: application/json' \ -d '{ "suppliers": [ { "supplier": { "id": "5aecfed2-41f3-4c9e-911f-de31eb2a4f45", "revision": "1", "rating": "4.9", "reviewCount": 102 }, "fieldMask": { "paths": [ "rating", "reviewCount" ] } }, { "supplier": { "id": "a7ed3e38-692e-41bc-b033-7a725fe1d100", "location": { "country": "NZ" }, "revision": "1" }, "fieldMask": { "paths": [ "location.country" ] } }, { "supplier": { "id": "b1f6acaa-2425-4f0d-9dff-35284b4d9221", "revision": "1", "types": [ "DROPSHIPPING", "WHOLESALE" ] }, "fieldMask": { "paths": [ "types" ] } } ], "returnEntity": true }' ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.suppliersHub.MarketplaceSupplier.bulkUpdateSuppliers(suppliers, options) Description: Updates multiple suppliers in a single synchronous request. Supports up to 100 suppliers per request. Each supplier must include its current revision number to prevent conflicting changes. Set `returnEntity` to `true` to receive the updated suppliers in the response. To update more than 100 suppliers, split them into multiple batches and make separate requests. When updating rating information, update both `rating` and `reviewCount` together to maintain consistency. # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: suppliers, suppliers.supplier._id, suppliers.supplier.revision Method parameters: param name: options | type: BulkUpdateSuppliersOptions none - name: returnEntity | type: boolean | description: Whether to return updated supplier entities in the response. Set to `true` to receive the updated suppliers with their new revision numbers. Default: `false` param name: suppliers | type: array | description: List of suppliers to update. Each must include current revision number. | required: true - name: supplier | type: Supplier | description: Supplier to update. - name: _id | type: string | description: Supplier GUID. | required: true - name: revision | type: string | description: Revision number, which increments by 1 each time the Supplier is updated. To prevent conflicting changes, the current revision must be passed when updating the Supplier. Ignored when creating a Supplier. | required: true - name: name | type: string | description: Supplier name. Displayed to providers when browsing and selecting suppliers for their product catalogs. - name: location | type: Location | description: Supplier location. - name: country | type: string | description: 2-letter country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1) format. For example, `US` for United States or `GB` for United Kingdom. - name: rating | type: string | description: Supplier rating from 1.00 to 5.00. For example, `4.25`. Provider applications manage ratings and should update both `rating` and `reviewCount` together to maintain consistency. - name: verified | type: boolean | description: Whether the supplier has passed verification processes. Default: `false` - name: types | type: array | description: Supplier business model types. `DROPSHIPPING` suppliers ship directly to end customers, while `WHOLESALE` suppliers ship in bulk to the provider who fulfills orders. A supplier can support multiple fulfillment models. - enum: - DROPSHIPPING: Supplier ships products directly to end customers. The provider does not handle physical inventory or fulfillment. - WHOLESALE: Supplier ships products in bulk to the provider, who then fulfills orders to end customers. - name: reviewCount | type: integer | description: Number of reviews for the supplier. Provider applications should update both `rating` and `reviewCount` together to maintain consistency. - name: tags | type: Tags | description: Supplier tags for organization and categorization. - name: privateTags | type: TagList | description: Tags that require an additional permission in order to access them, normally not given to site members or visitors. - name: tagIds | type: array | description: List of tag GUIDs. - name: publicTags | type: TagList | description: Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. Return type: PROMISE - name: results | type: array | description: Results - name: itemMetadata | type: ItemMetadata | description: Metadata regarding the specific single update operation - name: _id | type: string | description: Item GUID. Provided only whenever possible. For example, `itemId` can't be provided when item creation has failed. - name: originalIndex | type: integer | description: Index of the item within the request array. Allows for correlation between request and response items. - name: success | type: boolean | description: Whether the requested action for this item was successful. When `false`, the `error` field is returned. - name: error | type: ApplicationError | description: Details about the error in case of failure. - name: code | type: string | description: Error code. - name: description | type: string | description: Description of the error. - name: data | type: object | description: Data related to the error. - name: item | type: Supplier | description: Only exists if `returnEntity` was set to true in the request - name: _id | type: string | description: Supplier GUID. - name: revision | type: string | description: Revision number, which increments by 1 each time the Supplier is updated. To prevent conflicting changes, the current revision must be passed when updating the Supplier. Ignored when creating a Supplier. - name: _createdDate | type: Date | description: Date and time the Supplier was created. - name: _updatedDate | type: Date | description: Date and time the Supplier was last updated. - name: name | type: string | description: Supplier name. Displayed to providers when browsing and selecting suppliers for their product catalogs. - name: appId | type: string | description: App GUID of the provider application responsible for managing the supplier and its products. Automatically set to the GUID of the application making the create request. - name: location | type: Location | description: Supplier location. - name: country | type: string | description: 2-letter country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1) format. For example, `US` for United States or `GB` for United Kingdom. - name: rating | type: string | description: Supplier rating from 1.00 to 5.00. For example, `4.25`. Provider applications manage ratings and should update both `rating` and `reviewCount` together to maintain consistency. - name: verified | type: boolean | description: Whether the supplier has passed verification processes. Default: `false` - name: types | type: array | description: Supplier business model types. `DROPSHIPPING` suppliers ship directly to end customers, while `WHOLESALE` suppliers ship in bulk to the provider who fulfills orders. A supplier can support multiple fulfillment models. - enum: - DROPSHIPPING: Supplier ships products directly to end customers. The provider does not handle physical inventory or fulfillment. - WHOLESALE: Supplier ships products in bulk to the provider, who then fulfills orders to end customers. - name: reviewCount | type: integer | description: Number of reviews for the supplier. Provider applications should update both `rating` and `reviewCount` together to maintain consistency. - name: tags | type: Tags | description: Supplier tags for organization and categorization. - name: privateTags | type: TagList | description: Tags that require an additional permission in order to access them, normally not given to site members or visitors. - name: tagIds | type: array | description: List of tag GUIDs. - name: publicTags | type: TagList | description: Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. - name: bulkActionMetadata | type: BulkActionMetadata | description: Metadata regarding the bulk update operation - name: totalSuccesses | type: integer | description: Number of items that were successfully processed. - name: totalFailures | type: integer | description: Number of items that couldn't be processed. - name: undetailedFailures | type: integer | description: Number of failures without details because detailed failure threshold was exceeded. ``` ### Examples ### bulkUpdateSuppliers ```javascript import { suppliers } from '@wix/suppliers-hub'; async function bulkUpdateSuppliers(suppliers,options) { const response = await suppliers.bulkUpdateSuppliers(suppliers,options); }; ``` ### bulkUpdateSuppliers (with elevated permissions) ```javascript import { suppliers } from '@wix/suppliers-hub'; import { auth } from '@wix/essentials'; async function myBulkUpdateSuppliersMethod(suppliers,options) { const elevatedBulkUpdateSuppliers = auth.elevate(suppliers.bulkUpdateSuppliers); const response = await elevatedBulkUpdateSuppliers(suppliers,options); } ``` ### bulkUpdateSuppliers (self-hosted) Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md). ```javascript import { createClient } from '@wix/sdk'; import { suppliers } from '@wix/suppliers-hub'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { suppliers }, // Include the auth strategy and host as relevant }); async function bulkUpdateSuppliers(suppliers,options) { const response = await myWixClient.suppliers.bulkUpdateSuppliers(suppliers,options); }; ``` ---