Data Transfer
Last updated
Last updated
We support two main ways of transferring product data between your shop and our infrastructure.
We periodically download your product data files from a given origin using any of the following protocols:
HTTP(S)
requires a "Content-Type"
header indicating the feed format, e.g. text/csv
supports optional gzip
compression, if specified in a "Content-Encoding"
header
(S)FTP
requires a file extension indicating the feed format, e.g. .csv
AWS S3
requries a "Content-Type"
metadata indicating the feed format, e.g. text/csv
Each of these protocols can be used with and without credentials β if you have non-standard requirements, just talk to us and we'll find a way
You upload your product data files whenever something updates to our S3 bucket. You request a signed upload URL from our API and can then upload your file. You just need to make 2 simple HTTP calls for that.
Your files are encrypted on our side and can not be accessed from the outside.
Send a HTTP POST request to api.8select.io/feeds/uploads
to retrieve a pre-signed upload request, i.e. a JSON object containing the following properties:
headers
: A map of string key-value pairs
method
: A HTTP method, e.g. PUT
url
: A presigned URL
Send a second HTTP request using the method
and url
, and including all headers
returned by the previous request, as well as the file to be uploaded in the HTTP body.
POST
https://api.8select.io/feeds/uploads
x-api-id*
String
Your API ID provided by us.
x-api-secret*
String
Your API SECRET provided by us.
content-type*
application/json
identifier*
String
The field by which a record can be uniquely identified, e.g. "sku"
or "productId"
format*
Object
{ "options": { "delimiter": "," }, "type": "csv" }
delta
Boolean
If set to false
we will mark all products that are not present in the feed as deleted.
If set to true
we will just update the products contained in the feed and keep all other products as is.
That way you can push so called delta-feeds that only include changes and save ressources and you and our side.
true
or false
defaults to false
Replace your-api-secret
and your-api-secret
with your credentials.
This is just for demonstration purposes. You can use this method to make a test upload. For production use you should do this programatically with code on your server.