Merchant Product Import

This documentation describes the technical process for importing merchant product data using the API.

Step-by-Step Process

Generate Signed Upload URL

Get Upload URL

Request

POST /temporary-upload-url HTTP/1.1

{
  "content_type": "text/csv",
  "file_name": "example.csv"
}

Response - 201 Created

{
  "path": "tmp/d24c7338-5eeb-4129-bae6-2f8e30f004bb-metaZXhhbXBsZS5jc3Y=-.csv",
  "url": "https://smake-public.s3.eu-west-1.amazonaws.com/tmp/d24c7338-5e ...",
  "headers": {
    "Content-Type": "text/csv"
  }
}

Note: The upload URL is valid for 10 minutes. Save the path value from the response – you will need it when creating the import.

Upload Content

Upload the Content

Request

PUT /temporary-upload-url?...  HTTP/1.1
Content-Type: text/plain

merchant_handle,master_variant_sku,external_identifier,merchant_product_handle,published,is_master,price,tax_rate,name,locale
normal-shop,production-variant-360,7600532#1517120-2-0,47110815,yes,yes,13.00,19.00,Rudi das Pferd,de

Response

HTTP/1.1 200 OK

Note: Uploaded files will be automatically deleted after 24 hours.

Create a new import

Creates a new asynchronous import of merchant products based on a CSV file uploaded to S3.

Parameters for creating a product import
Field Type Description Required
path string A path of csv file uploaded to S3 Yes
should_preserve_published boolean If the switch is set to true, the publishing settings for existing articles from the CSV file will be ignored. No

Request

POST /merchant-product-imports HTTP/1.1

{
    "path": "tmp/d24c7338-5eeb-4129-bae6-2f8e30f004bb-metaZXhhbXBsZS5jc3Y=-.csv",
    "should_preserve_published": false
}

Response

HTTP/1.1 202 Accepted
Location: /merchant-product-imports/1

Note: The import runs asynchronously. Use the Location header to poll the import status.

Check Import Status

Returns a result of product import with the given id = x.

Request

GET /merchant-product-imports/1  HTTP/1.1

Response

{
  "id": 1,
  "options": {
    "should_preserve_published": false
  },
  "state": "finished",
  "failure_message": null,
  "total_rows": 24,
  "failed_rows": 0,
  "processed_rows": 24,
  "ignored_rows": 0,
  "started_at": "2026-02-18T10:35:32+00:00",
  "finished_at": "2026-02-18T10:36:15+00:00",
  "source_file": {
    "id": 5416,
    "collection_name": "source-file",
    "file_name": "product-import-example.csv",
    "size": 14397,
    "mime_type": "text/plain",
    "download_url": "https://api.smake.io/storage/files/fb9c8ddc270843c7aaadcbd383fbaa2c/example.csv?expires=1768396599&signature=ed46888300b586baa5f31835b8a44ddddaf36cfc9ac22a42f38cf7b9fe0c09c3",
    "state": null,
    "requested": null,
    "failure_message": null,
    "created_at": "2026-02-18T10:35:29+00:00",
    "updated_at": "2026-02-18T10:35:29+00:00"
  },
  "failed_report_file": null,
  "created_at": "2026-02-18T10:35:29+00:00",
  "updated_at": "2026-02-18T10:36:15+00:00"
}

Note: If not all data was processed successfully, the field failed_report_file will be filled and you can download an error report to check where the error lies.

Example Import File

merchant_handle,master_variant_sku,external_identifier,merchant_product_handle,published,is_master,price,tax_rate,name,locale
normal-shop,production-variant-360,7600532#1517120-2-0,47110815,yes,yes,13.00,19.00,Rudi das Pferd,de
normal-shop,production-variant-360,7600532#1517120-2-0,47110815,yes,yes,13.00,19.00,Rudi the Horse,en
normal-shop,production-variant-360,7600532#1517120-2-0,47110815,yes,yes,13.00,19.00,Rudi le cheval,fr
normal-shop,production-variant-360,7600532#1517120-2-1,47110816,yes,yes,25.00,19.00,Otto die Katze,de
normal-shop,production-variant-360,7600532#1517120-2-1,47110816,yes,yes,25.00,19.00,Otto the Cat,en
normal-shop,production-variant-360,7600532#1517120-2-3,47110817,yes,yes,25.00,19.00,Garfield the Cat,en
normal-shop,production-variant-360,7600532#1517120-2-4,47110818,yes,yes,25.00,19.00,Simon die Armeise,de
normal-shop,production-variant-405,merchant-product-6-red-XXXL,08154711,yes,no,25.00,19.00,Simon die Maus,de
normal-shop,production-variant-360,7600532#1517120-2-5,47110819,yes,yes,25.00,19.00,Peter der Hosh,de