Assisted assortment integration
If you don't have engineering resources to build the mapping to Wolt's Large Assortment Integration yourself, Wolt can assist in creating the mapping for you, given that you have all the product information needed.
Instead of transforming your own data into Wolt's Product Catalog & Venue Assortment format, Wolt can enable you to send your assortments in the format you can already export from your systems — CSV, XML, or JSON, and potentially in a different file "split" (e.g. one file for all venues, or one file per venue without a catalog).
Wolt's team can then build a custom mapping (a "datamap") from your file format into the expected format for this integration.
How it works
Send Wolt your assortment files in one of the supported formats: CSV, XML, or JSON.
Wolt runs a data quality evaluation on your files (see Requirements below).
Wolt confirms any outstanding points with you and locks the data requirements.
Wolt's engineering team builds and processes the datamap.
Your Technical Account Manager sets up a test environment and connects your datamap to your test environment.
You choose a file transfer method to run on a recurring schedule and configure it for testing. We support:
SFTP — in order to set it up, share a public SSH key (OpenSSH-formatted) for your server with Wolt. You'll use the matching private key to log in and push your files to your dedicated folder on a recurring basis.
Feed URL — host your file at a stable HTTP/HTTPS URL (XML, CSV, or JSON) and share the URL with Wolt. Wolt will pull files on your agreed schedule.
7. You upload / let us pull files and validate that products are reflected correctly in your test environment.
8. Once validated, the setup will be replicated in your production environment.
Possible setups
Every setup is different, and we'll tailor the datamap to match yours. At minimum, we ask you to share a full master data export of your product catalog, plus files covering store-specific attributes (product availability, pricing, restrictions). If any data points require export from a separate system, include those too.
Common setups look like one of the following:
One master data file for all stores, plus store-specific files for product availability, prices, and stock levels. Store-specific files must include an identifier for each item — either your own system's native ID or the Wolt venue ID — so Wolt can apply changes to the right store.
Example: assortment_example.xml
2. One combined master data file for all stores, with product availability, prices, stock levels, and store identifiers included directly alongside the product data.
Example: assortment_with_inventory_example.xml
3. One master data file for all stores, with prices and availability managed separately through the Item Update and Inventory Update APIs instead of recurring files.
Example: assortment_basic_example.json, inventory_api_request_example.json
How file processing works
Product Catalog (CSV, XML, or JSON)
File requirements:
One file per your company brand
Filename: e.g.
catalog_filename_prefix, it needs to be consistent over timeIf a file contains all the necessary product information (incl. prices and product availability), it is sufficient to upload only product catalog. If prices and product availability (or other data points, e.g. image URLs) are stored in different files, see the section below.
Additional files
Defines which products are sold at a specific venue, plus their operational attributes — pricing, stock, delivery methods, and so on.
File requirements:
Filename:
assortment_filename_prefix, needs to be consistent over timeMust include the Wolt
venue_idfor the specific store. You can also include your store identifier, given that you will provide guidance on how to map them to Wolt venue ID.
Keeping assortment up to date
Once you're live, Assisted Assortment Integration is an ongoing maintenance commitment, not a one-time task.
Product Catalog (CSV, XML or JSON): only re-upload when product data itself changes (new products, updated descriptions, and so on). If you are using a stable HTTP/HTTPS URL (XML, CSV, or JSON) to host your feed, update product information directly there and agree with Wolt on a pulling schedule.
If using additional venue-specific files: update whenever product price, stock, or availability changes — daily is typical. If your systems refresh actual current stock levels and\or pricing on a recurring interval with actual updates - use that interval (not shorter than 30 minutes).
to update stock levels & pricing intra-day for specific items (event-driven for specific SKUs only) use Item Update API;
Pay attention: every newly uploaded assortment file replaces the current assortment fully.
Catalog uploads are full files, not deltas: to add a new product, include it alongside your existing catalog. Assisted Assortment Integration can't process partial/delta catalog updates.
Additional venue-specific assortment uploads are full files, not deltas: the assortment you include in the
assortment_filename_prefixwill define the assortment visible on your stores at Wolt Marketplace.
Assisted assortment integration and Item & Inventory Update APIs
If you already use Wolt's real-time Item Update and Inventory Update APIs, you can also use them for Assisted Assortment Integration venues with thre conditions:
The venue must already be onboarded to Assisted Assortment Integration, meaning your assortment files have been uploaded before you send any item or inventory updates.
Both APIs match items by SKU only, using the same
skuvalue defined in your assortment files.Every time an assortment file is being pushed, it must reflect the most up-to-date current state of availability and pricing. Assortment file will overwrite changes made with Item/Inventory API prior to upload.
If it is not possible for you to include actual inventory values in your assortment files, then the files should include a default inventory value (can be 0 or can be a positive value) that will be used for every item in the file. This will signal to Wolt that product availability will be managed using specific inventory count.
Next, follow every one of the assortment file uploads with a selection-wide update of inventory levels via API.
What you can update:
Item Update API:
enabled,in_stock,priceanddiscounted_price.Inventory Update API: stock counts, but only once the listing has an
inventoryfield set in your Venue Assortment file (this puts the item into inventory mode).
Both APIs are documented in full in the Retail Assortment Guide. APIs are subject to rate limits:
Item Update API: 1 request / 15 minutes, only delta updates.
Inventory Update API: 1 request / 5 minutes, only delta updates.
Data requirements in the source file
Note: some fields are optional from the implementation perspective, but might be required due to market regulations (e.g. allergens). Always consult with your Account Manager on what applies to you.
| Data point | Required/Optional | Comment |
| Product ID | Required | Stable identifier of the product. Ideally use GTIN or stable SKU. |
| Venue identifier | Required | When updating items in multiple venues, always include a store identifier (unique and native to your system or Wolt venue ID) in the source files. |
| Enabled | Required | Hides the item from the consumer, by disabling it. |
| GTIN | Optional (if SKU is provided) | Item’s GTIN or stable SKU (at least one or both) should be provided per each item. |
| SKU | Optional (if GTIN is provided) | Item’s GTIN or stable SKU (at least one or both) should be provided per item. |
| Product name | Required | String. |
| Product image | Required | Accessible URL to download item picture at bulk. We require 98% image coverage, aspect ratio must be 16:9 and image type must be jpeg with a white background. Recommended size is 1000 x 562.5. Max size for an image is 5 MB. |
| Price | Required | Number (no currency). |
| VAT | Required | Number. |
| Product Category | Required | Main category to be displayed on Wolt. |
| Sub-category | Required | Sub-category to be displayed on Wolt. |
| Description | Required | Text, 5000 characters. |
| Item sold by weight | Optional | “Step” or “Piece”. |
| Weight step | Optional | Weight per step or piece, e.g 300 (for 300 g). Equivalent to consumer experience where a store can cut a piece of salmon equal to 300g ±20%. Consumer can double the amount: 600g ±20%”. |
| Price per kg | Optional | Number. Required if the item sold by weight. |
| Purchase limits | Optional | How many of a same item can be ordered? |
| Display Unit | Optional | Is it a package, box or bottle? The value should be one of the following: ["weight_1kg", "weight_100g", "volume_1l", "volume_100ml", "quantity"]. |
| Quantity | Optional | How many items are in a package? E.g. 1 bar of chocolate, but 6 cans of Coca Cola in a 6x0.3L package. |
| Weight | Optional | What is the weight of a pre-packaged item? |
| Volume | Optional | What is the volume of a liquid item? |
| Ingredients | Optional | Text. |
| Allergens | Optional | Text. |
| Additives | Optional | Text. |
| Country of origin | Optional | Text. |
| Discounted price | Optional. | Number (price after markdown). |
| Bottle deposit Value | Optional | Number, bottle deposit. |
| Bottle deposit VAT | Optional | Bottle’s deposit VAT is required when bottle deposit value is set. |
| Alcohol percentage | Optional | Required for alcohol items to trigger restrictions at delivery. |
| Age restriction | Optional | Required for alcohol, nicotine, OTC products depending in market regulations. |
| Manufacturer | Optional | Text. |
| In_stock | Optional | Item is visible to a consumer as a sold out item. |
| Stock count | Optional | Number. |