File transfer
Guide on integrating file-based data transfers with our platform.
Overview
Introduction
Our platform supports multiple methods for data integration through file transfers. You can share your data files in two ways:
- Direct upload via sFTP
- Cloud storage integration (such as Azure Blob Storage)
Once your files are uploaded, our system automatically processes and synchronizes the data, making it readily available for analytics and insights on our platform.
Data Types
- Costs - Marketing costs data
- Indeliveries - Incoming products
- Inventory - Current stock levels and product attributes
- Orders - Customer transaction data
- Returns - Order return details
File name convention
We expect the file to be named the following:
{merchant}_{dataType}_{date}.{fileFormat}
where:
merchant
= Company namedataType
= One of the values specified in Available Data Typesdate
= last date of data (normally ‘yesterday’ as it’s the last day containing a full day of data looking at today)fileFormat
= One of the values specified under Technical specification
Technical Specification
Category | Supported Options |
---|---|
File Formats | .csv, .xls, .xlsx, .parquet |
Delimiters | Comma , , Semicolon ; |
Decimal sign | Dot . |
Schemas & Examples
Costs
- Please reach out to commercial team for more info on the channel groups and channels.
- There is a possibility to map rows to different storefronts by country. In case you want that, we need information on how the mapping should look, see Merchant mappings.
Column name | Format | Data Type | Description | Optional | Example |
---|
Example
Indeliveries
Column name | Format | Data Type | Description | Optional | Example |
---|
Example
Inventory
Column name | Format | Data Type | Description | Optional | Example |
---|
Example
Orders
- Orders are matched on productId and variantId so we expect a unique combination of orderId-productId-variantId. If multiple items of the same variant were bought we expect them be aggregated with
quantity: number of items bought
. - All prices should include tax.
- Order header level fields should be repeated for all items in the same order. If an item is returned or updated. we expect the original values for all columns except what has been updated (eg. the returned… fields or status line).
- If an order is updated, please fill out the
updatedAt
field and the fields that have been updated (eg. return details). - If you want data mapped to a specific storefront, fill out externalStorefrontId and provide us with info about your existing storefronts, see Merchant mappings.
Column name | Format | Data Type | Description | Optional | Example | Default | |
---|---|---|---|---|---|---|---|
⬆ |
Example
Returns
Returns can be sent to us in three ways (listed in preferred order):
- Part of orders, see Orders
- Separate file with an order reference, see Return snapshot
- Separate file without an order reference, see Orphan return
The last two options can be sent in the same file called returns
if a combination is needed. For details on the fields, please refer to Orders.
Return snapshot
-
We expect the file to contain all items that have been returned between uploads (so if one file is sent every day, the file should contain only returns that happened the day before).
-
We expect a snapshot, that is, each row should have a unique combination of orderId-productId-variantNo. That is returned quantities should be aggregated, and all returned items from the same order should be included.
Example of snapshots:
Required fields:
orderId
,productId
,variantNo
,returnedQuantityDecimal
,returnedAt
Optional fields:
externalStorefrontId
,returnedReason
,returnedShipmentStatus
,returnedShipmentId
,returnedShippingProvider
,returnedWarehouse
,warehouse
Orphan return
- Orphan returns can never be linked to an original order, and hence, it has limitations for certain types of analysis. Without the original order context, metrics like time-to-return and complete return rate calculations will be incomplete.
Required fields:
returnId
(replacesorderId
, unique identifier for the return)productId
,variantNo
,returnedAt
,returnedQuantityDecimal
,taxTotal
,total
,paidPrice
,tax
ortaxRate
Example (combination of return snapshot and orphan return)
Troubleshooting and Support
For common issues and solutions, contact our support team directly for assistance.