> 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 # BulkUpdateSection # Package: menus # Namespace: RestaurantsMenusSection # Method link: https://dev.wix.com/docs/api-reference/business-solutions/restaurants/menus/sections/bulk-update-section.md ## Permission Scopes: Manage Restaurants - all permissions: SCOPE.RESTAURANTS.MEGA-SCOPES ## Introduction > **Note:** The Section API only works with the Wix Restaurants Menus app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new). Updates multiple sections at once. Each time a section is updated, its revision increments by 1. The existing revision must be included when updating a section. This ensures you're working with the latest section information, and it prevents unintended overwrites. --- ## REST API ### Schema ``` Method: bulkUpdateSection Description: > **Note:** The Section API only works with the Wix Restaurants Menus app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new). Updates multiple sections at once. Each time a section is updated, its revision increments by 1. The existing revision must be included when updating a section. This ensures you're working with the latest section information, and it prevents unintended overwrites. URL: https://www.wixapis.com/restaurants/menus/v1/bulk/sections/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: sections, sections.section.id, sections.section.revision Method parameters: param name: returnEntity | type: returnEntity | description: Whether to receive the updated sections in the response. param name: sections | type: array | description: Sections to update. | required: true - name: section | type: Section | description: Section update. - name: id | type: string | description: Section GUID. | required: true - name: revision | type: string | description: Revision number, which increments by 1 each time the section is updated. To prevent conflicting changes, the current revision must be passed when updating the section. Ignored when creating a section. | required: true - name: name | type: string | description: Section name. - name: description | type: string | description: Section description. - name: image | type: Image | description: Main section image. - name: id | type: string | description: WixMedia image GUID. - name: url | type: string | description: Image URL. - name: height | type: integer | description: Original image height. - name: width | type: integer | description: Original image width. - name: altText | type: string | description: Image alt text. - name: filename | type: string | description: Image filename. - name: additionalImages | type: array | description: Additional section images. - name: itemIds | type: array | description: Item GUIDs. - name: extendedFields | type: ExtendedFields | description: Extended fields. - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured. You can only access fields for which you have the appropriate permissions. Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md). - name: visible | type: boolean | description: Whether the section is visible in the menu for site visitors. - name: mask | type: | description: Explicit list of fields to update. Return type: BulkUpdateSectionResponse - name: results | type: array | description: Information about the updated sections. - name: sectionMetadata | type: ItemMetadata | description: Whether to receive the updated sections in the response. - name: id | type: string | description: Item GUID. Should always be available, unless it's impossible (for example, when failing to create an item). - 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 was successful for this item. When `false`, the `error` field is populated. - 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: section | type: Section | description: Updated section. Only returned if `returnEntity` is set to `true`. - name: id | type: string | description: Section GUID. - name: revision | type: string | description: Revision number, which increments by 1 each time the section is updated. To prevent conflicting changes, the current revision must be passed when updating the section. Ignored when creating a section. - name: createdDate | type: string | description: Date and time the section was created. - name: updatedDate | type: string | description: Date and time the section was updated. - name: name | type: string | description: Section name. - name: description | type: string | description: Section description. - name: image | type: Image | description: Main section image. - name: id | type: string | description: WixMedia image GUID. - name: url | type: string | description: Image URL. - name: height | type: integer | description: Original image height. - name: width | type: integer | description: Original image width. - name: altText | type: string | description: Image alt text. - name: filename | type: string | description: Image filename. - name: additionalImages | type: array | description: Additional section images. - name: itemIds | type: array | description: Item GUIDs. - name: extendedFields | type: ExtendedFields | description: Extended fields. - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured. You can only access fields for which you have the appropriate permissions. Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md). - name: visible | type: boolean | description: Whether the section is visible in the menu for site visitors. - name: businessLocationId | type: string | description: GUID of the business location ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations.md) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations.md)) where this section is available. - name: bulkActionMetadata | type: BulkActionMetadata | description: Metadata for the API call. - 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 sections ```curl curl -X POST 'https://www.wixapis.com/restaurants/menus-section/v1/bulk/sections/update' \ -H 'Authorization: ' \ --data-binary '{ "sections": [ { "section": { "itemIds": [ "f6222bdc-1ab2-4cd4-bf6c-8d4fca055d86" ], "additionalImages": [], "id": "70f12b79-cd30-4750-91ab-1021a16cbbfa", "revision": "3", "name": "Drinks" }, "mask": { "paths": [ "itemIds" ] } }, { "section": { "itemIds": [], "additionalImages": [], "id": "9ea7135d-c232-437f-a9c3-33dd87265542", "name": "Desserts", "description": "Our desserts are made in house by our pastry chef", "revision": "2" }, "mask": { "paths": [ "name", "description" ] } } ], "returnEntity": true }' ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.menus.RestaurantsMenusSection.bulkUpdateSection(sections, options) Description: > **Note:** The Section API only works with the Wix Restaurants Menus app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new). Updates multiple sections at once. Each time a section is updated, its revision increments by 1. The existing revision must be included when updating a section. This ensures you're working with the latest section information, and it prevents unintended overwrites. # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: sections, sections.section._id, sections.section.revision Method parameters: param name: options | type: BulkUpdateSectionOptions none - name: returnEntity | type: boolean | description: Whether to receive the updated sections in the response. param name: sections | type: array | description: Sections to update. | required: true - name: section | type: Section | description: Section update. - name: _id | type: string | description: Section GUID. | required: true - name: revision | type: string | description: Revision number, which increments by 1 each time the section is updated. To prevent conflicting changes, the current revision must be passed when updating the section. Ignored when creating a section. | required: true - name: name | type: string | description: Section name. - name: description | type: string | description: Section description. - name: image | type: string | description: Main section image. - name: additionalImages | type: array | description: Additional section images. - name: itemIds | type: array | description: Item GUIDs. - name: extendedFields | type: ExtendedFields | description: Extended fields. - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured. You can only access fields for which you have the appropriate permissions. Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md). - name: visible | type: boolean | description: Whether the section is visible in the menu for site visitors. - name: mask | type: array | description: Explicit list of fields to update. Return type: PROMISE - name: results | type: array | description: Information about the updated sections. - name: sectionMetadata | type: ItemMetadata | description: Whether to receive the updated sections in the response. - name: _id | type: string | description: Item GUID. Should always be available, unless it's impossible (for example, when failing to create an item). - 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 was successful for this item. When `false`, the `error` field is populated. - 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: section | type: Section | description: Updated section. Only returned if `returnEntity` is set to `true`. - name: _id | type: string | description: Section GUID. - name: revision | type: string | description: Revision number, which increments by 1 each time the section is updated. To prevent conflicting changes, the current revision must be passed when updating the section. Ignored when creating a section. - name: _createdDate | type: Date | description: Date and time the section was created. - name: _updatedDate | type: Date | description: Date and time the section was updated. - name: name | type: string | description: Section name. - name: description | type: string | description: Section description. - name: image | type: string | description: Main section image. - name: additionalImages | type: array | description: Additional section images. - name: itemIds | type: array | description: Item GUIDs. - name: extendedFields | type: ExtendedFields | description: Extended fields. - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured. You can only access fields for which you have the appropriate permissions. Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md). - name: visible | type: boolean | description: Whether the section is visible in the menu for site visitors. - name: businessLocationId | type: string | description: GUID of the business location ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations.md) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations.md)) where this section is available. - name: bulkActionMetadata | type: BulkActionMetadata | description: Metadata for the API call. - 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 sections ```javascript import { sections } from "@wix/restaurants"; const sectionsToUpdate = [ { section: { _id: "70f12b79-cd30-4750-91ab-1021a16cbbfa", revision: "3", name: "Drinks", itemIds: [ "f6222bdc-1ab2-4cd4-bf6c-8d4fca055d86" ] } }, { section: { _id: "9ea7135d-c232-437f-a9c3-33dd87265542", revision: "2", name: "Desserts", description: "Our desserts are made in house by our pastry chef" } } ]; const options = { returnEntity: true }; async function bulkUpdateSections() { const response = await sections.bulkUpdateSections(sectionsToUpdate, options); } /* Promise resolves to: * { * "results": [ * { * "sectionMetadata": { * "_id": "70f12b79-cd30-4750-91ab-1021a16cbbfa", * "originalIndex": 0, * "success": true * }, * "section": { * "_id": "70f12b79-cd30-4750-91ab-1021a16cbbfa", * "revision": "4", * "name": "Drinks", * "visible": true, * "itemIds": [ * "f6222bdc-1ab2-4cd4-bf6c-8d4fca055d86" * ] * } * }, * { * "sectionMetadata": { * "_id": "9ea7135d-c232-437f-a9c3-33dd87265542", * "originalIndex": 1, * "success": true * }, * "section": { * "_id": "9ea7135d-c232-437f-a9c3-33dd87265542", * "revision": "3", * "name": "Desserts", * "description": "Our desserts are made in house by our pastry chef", * "visible": true * } * } * ], * "bulkActionMetadata": { * "totalSuccesses": 2, * "totalFailures": 0 * } * } */ ``` ### bulkUpdateSection (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 { sections } from '@wix/restaurants'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { sections }, // Include the auth strategy and host as relevant }); async function bulkUpdateSection(sections,options) { const response = await myWixClient.sections.bulkUpdateSection(sections,options); }; ``` ---