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

  1. Send Wolt your assortment files in one of the supported formats: CSV, XML, or JSON.

  2. Wolt runs a data quality evaluation on your files (see Requirements below).

  3. Wolt confirms any outstanding points with you and locks the data requirements.

  4. Wolt's engineering team builds and processes the datamap.

  5. Your Technical Account Manager sets up a test environment and connects your datamap to your test environment.

  6. 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:

  1. 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 time

  • If 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 time

  • Must include the Wolt venue_id for 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;

Newly uploaded assortment file

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_prefix will 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 sku value 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, price and discounted_price.

  • Inventory Update API: stock counts, but only once the listing has an inventory field 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 pointRequired/OptionalComment
Product IDRequiredStable identifier of the product. Ideally use GTIN or stable SKU.
Venue identifierRequiredWhen updating items in multiple venues, always include a store identifier (unique and native to your system or Wolt venue ID) in the source files.
EnabledRequiredHides the item from the consumer, by disabling it. 
GTINOptional (if SKU is provided)Item’s GTIN or stable SKU (at least one or both) should be provided per each item.
SKUOptional (if GTIN is provided)Item’s GTIN or stable SKU (at least one or both) should be provided per item.
Product nameRequiredString.
Product imageRequiredAccessible 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.
PriceRequiredNumber (no currency).
VATRequiredNumber.
Product CategoryRequiredMain category to be displayed on Wolt.
Sub-categoryRequiredSub-category to be displayed on Wolt.
DescriptionRequiredText, 5000 characters.
Item sold by weightOptional“Step” or “Piece”.
Weight stepOptionalWeight 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 kgOptionalNumber. Required if the item sold by weight.
Purchase limitsOptionalHow many of a same item can be ordered?
Display UnitOptionalIs it a package, box or bottle? The value should be one of the following: ["weight_1kg", "weight_100g", "volume_1l", "volume_100ml", "quantity"].
QuantityOptionalHow many items are in a package? E.g. 1 bar of chocolate, but 6 cans of Coca Cola in a 6x0.3L package. 
WeightOptionalWhat is the weight of a pre-packaged item?
VolumeOptionalWhat is the volume of a liquid item?
IngredientsOptionalText.
AllergensOptionalText.
AdditivesOptionalText.
Country of originOptionalText.
Discounted priceOptional.Number (price after markdown).
Bottle deposit ValueOptionalNumber, bottle deposit.
Bottle deposit VATOptionalBottle’s deposit VAT is required when bottle deposit value is set.
Alcohol percentageOptionalRequired for alcohol items to trigger restrictions at delivery.
Age restrictionOptionalRequired for alcohol, nicotine, OTC products depending in market regulations.
ManufacturerOptionalText.
In_stockOptionalItem is visible to a consumer as a sold out item.
Stock countOptionalNumber.