Our suite of headless APIs enable end to end management of your fashion store. If you have any questions, please do not hesitate to contact us at support@streamoid.com
In Streamoid Headless Platform, your company or organization is treated as a Workspace. Within the workspace, a store is defined as a channel for selling your products. Stores can be an eCommerce website in a specific country, a mobile app, a printed catalog, a chatbot, a 3rd party marketplace, or even physical retail locations.
Once you share your store's product feed or product images with Streamoid via our Feed API or using a CSV/XML file, we process your catalog and enable our APIs and services for your store.
Each store has a unique store_id which is automatically encoded in your access token and does not need to be specified when making API requests. Please read the section on Authentication for more information on how this works.
Streamoid's REST APIs use the OAuth 2.0 protocol to authenticate and authorize calls. Follow the steps listed here to get started.
Streamoid will register your store and provide you a Refresh Token. Please reach out to sales@streamoid.com to get started.
Call the /auth/refresh_token API to get a new Access Token.
The Access Token is valid for 24 hours (86400 seconds), so make sure you get a new Access Token before it expires.
Call /auth/refresh_token to get a new Access Token.
Pass the access token in the header as follows:
Authorization: Bearer {access token}
Streamoid Headless Platform is available in multiple regions with more coming soon. There are 2 different domains for Streamoid Headless Platform APIs, and you will have to use the one that is applicable to you.
Data Center | Domain Base | API URI |
---|---|---|
India | .com | https://api.streamoid.com/ |
Europe | .eu | https://api.streamoid.eu/ |
The APIs on this page are hosted on the .com domain. If your organization is on a different domain, then you must replace .com with the appropriate domain for API endpoints on this page before using them.
For example, here's how you would modify the domain in an API endpoint for the .eu domain:
API endpoint for the .com domain, as available on this page:
https://api.streamoid.com/v2/trends
API endpoint after replacing the .com domain with .eu:
Streamoid Headless Platform APIs use appropriate HTTP commands for every action.
Method | Description |
---|---|
GET | Used for retrieving resources from the server |
POST | Used to create a new resource |
PUT | Used to insert or replace the resource. |
DELETE | Used to delete a resource. |
Streamoid Headless Platform uses HTTP status codes to indicate success or failure of an API call. In general, status codes in the 2xx range means success, 4xx range means there was an error in the provided information, and those in the 5xx range indicate server side errors. Commonly used HTTP status codes are listed below.
Status Code | Description |
---|---|
200 |
Success: The request was successfully completed. |
201 |
Created: The request was a success and one or more resources have been created. |
400 |
Bad request: The request cannot be performed. Usually because of malformed parameter or missing parameter. |
401 |
Unauthorized (Invalid AuthToken): Request was rejected because of invalid AuthToken |
404 |
Resource Not Found: The URL youʼve sent is wrong. Itʼs possible that the resource youʼve requested has been moved to another URL. |
405 |
Method Not Found: The HTTP method that the API is calling with is not supported for this API. |
429 |
Too many requests: Too many requests within a certain time frame. To know more about api call limits, click here. |
500 |
Server error: Streamoid Headless Platform server encountered an error which prevents it from fulfilling the request. Although this rarely happens, we recommend you to contact us at support@streamoid.com if you receive this error. |
For details about the structure and application-specific error-codes of a specific Streamoid service, consult the documentation dedicated to that service.
Streamoid's APIs return upto 100 items by default. Use 'limit' parameter to change the number of records to be returned. Pass the parameter 'offset' to request the API to skip that many records.
For example, if the total number of records are 250,
First call: offset=0, limit=100 -> first 100 items are returned,
Second call: offset=100, limit=100 -> second 100 items are returned,
Third call: offset=200, limit=100 -> final 50 items are returned.
API calls are limited to provide better quality of service and availability to all the users. You can send a maximum number of requests per day per store depending on your plan. Please contact support@streamoid.com if you need to know which plan you are on.
Get a new Access Token by passing the Refresh Token.
The Refresh Token would be provided to you by Streamoid.
Pass the Access Token as 'Authorization: Bearer {access token}' to call other APIs.
It is valid for 24hrs and can be used to call all other APIs for this duration.
{- "refresh_token": "eyJjdHkiOiJ..."
}
{- "status": {
- "code": 0,
- "message": "success"
}, - "data": {
- "access_token": "eyJraWQiOiJiYzlzZnR2R....",
- "expires_at": 1634317762
}
}
Test if your access token works.
Pass the access token in the request header as 'Authorization: Bearer {access token}'
curl --request GET \ --url https://api.streamoid.com/v2/auth/test \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
This section will help you manage all the product information in our system, from adding SKUs to fetching collections.
category required | string Product category |
available required | number Number of products available |
title required | string non-empty Product title |
discounted_price required | number Price after discount |
gender required | string User Gender |
price required | number Price of the product |
product_url required | string URL of the product |
currency required | string Currency of the product price |
thumbnail_url required | Array of strings Thumbnail URL array |
product_code required | string Product Code |
size required | string Product size |
{- "category": "TOP",
- "available": 1,
- "title": "Lace-Trim Chiffon Cami",
- "discounted_price": 520.5,
- "gender": "Men",
- "price": 1299.5,
- "currency": "INR",
- "thumbnail_url": [
], - "product_code": "390375",
- "size": "XS"
}
Enables you to add products to the system in bulk
List of products in a fixed format. Maximum number of products to be passed is 100.
Array of objects List of products in a fixed format. Maximum number of products to be passed is 100. |
{- "products": [
- {
- "product_code": "45678",
- "title": "Floral Red T-shirt",
- "description": "Wear this T-shirt with jeans",
- "gender": "Men",
- "category": "T-shirts",
- "size": "S,L,XL,XXL,XXL",
- "price": 1500,
- "price_discounted": 1100,
- "currency": "INR",
- "availability": 2,
- "extras": {
- "brand": "popular",
- "quantity": 20
}, - "variant": {
- "size": "S,L,XL,XXL,XXL"
}
}
]
}
{- "status": {
- "code": 0,
- "message": "success"
}, - "products": [
- {
- "product_code": 45678,
- "status_code": -1,
- "status_message": "failed, send again",
- "md5sum": "12354123473754134"
}
]
}
Enables you to update products in bulk
List of products in a fixed format. Maximum number of products to be passed is 100.
Array of objects List of products in a fixed format. Maximum number of products to be passed is 100. |
{- "products": [
- {
- "product_code": "45678",
- "title": "Floral Red T-shirt",
- "description": "Wear this T-shirt with jeans",
- "gender": "Men",
- "category": "T-shirts",
- "size": "S,L,XL,XXL,XXL",
- "price": 1500,
- "price_discounted": 1100,
- "currency": "INR",
- "availability": 2,
- "extras": {
- "brand": "popular",
- "quantity": 20
}, - "variant": {
- "size": "S,L,XL,XXL,XXL"
}
}
]
}
{- "status": {
- "code": 0,
- "message": "success"
}, - "products": [
- {
- "product_code": 45678,
- "status_code": -1,
- "status_message": "failed, send again",
- "md5sum": "12354123473754134"
}
]
}
Enables you to retrieve many product details
product_id required | Array of strings Example: product_id=61160af04c7c4f367ea5eb26&product_id=61160afd4c7c4f367ea5eb35 your unique product identifier |
pi_response_style | string Default: "default" Enum: "light" "default" "rich" Example: pi_response_style=default Response style |
pi_include_fields | string Example: pi_include_fields=vendor_brand A comma-separated list of fields to include in addition to the fields specified by the response_field_group passed |
offset | integer >= 0 Default: 0 Example: offset=0 The number of items to skip before starting to collect the result set. Default 0 |
limit | integer >= 1 Default: 100 Example: limit=100 The number of items to return. Default 100 |
curl --request GET \ --url 'https://api.streamoid.com/v2/products?product_id=61160af04c7c4f367ea5eb26%2C61160afd4c7c4f367ea5eb35&pi_response_style=default&pi_include_fields=vendor_brand%2C%20meta_comprehensive_category&offset=0&limit=100' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}, - "products": [
- {
- "category": "TOP",
- "available": 1,
- "title": "Lace-Trim Chiffon Cami",
- "discounted_price": 520.5,
- "gender": "Men",
- "price": 1299.5,
- "currency": "INR",
- "thumbnail_url": [
], - "product_code": "390375",
- "size": "XS"
}
]
}
Enables you to retrieve many product details
product_id | Array of strings List of product Ids. Maximum number of product Ids to be passed is 1000. |
pi_response_style | string (pi_response_style) Response style |
pi_include_fields | string (pi_include_fields) A comma-separated list of fields to include in addition to the fields specified by the 'default' response_field_group |
offset | integer (offset) Result offset. Default offset=0 |
limit | integer (limit) Result limit. Default limit=100 |
{- "product_id": [
- "61160af04c7c4f367ea5eb26",
- "61160afd4c7c4f367ea5eb35"
], - "pi_response_style": "light, default, rich",
- "pi_include_fields": "vendor_brand, meta_comprehensive_category",
- "offset": 0,
- "limit": 100
}
{- "status": {
- "code": 0,
- "message": "success"
}, - "products": [
- {
- "category": "TOP",
- "available": 1,
- "title": "Lace-Trim Chiffon Cami",
- "discounted_price": 520.5,
- "gender": "Men",
- "price": 1299.5,
- "currency": "INR",
- "thumbnail_url": [
], - "product_code": "390375",
- "size": "XS"
}
]
}
You can create and manage your collections from the dashboard. Collections can be nested up to 3 times, meaning they are arranged in a heirarchical order, so you can have a top level collection (eg: Menswear) and child collections (eg: Topwear) each with their own child collections (eg: T-shirts). From the dashboard you can also publish and unpublish collections directly to your website without involving a developer after the initial integration.
In addition to naming a collection, you can also upload a banner image and set various SEO information (page url, meta title, meta description). Once this is done, you can add products to your collections either based on a product code, or if products match a certain set of criteria you define (eg: Color = red, Sleeve Length = half).
Collections can have a minimum product threshold to be published. If many products are unavailable (out of stock) and the collection has too few products (below the threshold), it will automatically unpublish.
We typically recommend that you define top level collections depending on where on your website you will be showing your collections. For example all Menswear Categories can be placed under "Menswear" and all Womenswear Categories can be placed under "Womenswear" and Homepage Banners can be placed under "Homepage".
This way, whenever a new collection is added under "Homepage", the developers can automatically look for it under that nested collection. Collections can be empty, meaning they are only used for nesting purposes without having any products within.
Categories are used to organize products and can be nested, creating a hierarchy that resembles a tree structure. Since categories aren't necessarily tied to store navigation, you may find uses for categories both visible and invisible to customers.
_id required | string Id of the collection |
name | string Collection Name |
thumbnail | string Collection Thumbnail URL |
url | string <uri> Collection URL |
object Meta data information | |
status | string Enum: "active" "inactive" Collection Status |
bannerUrl | string <uri> [ 1 .. 2083 ] characters Collection Banner URL |
displayPreference | string Collection Display preference |
autoRefresh | boolean Default: false Autofresh possible |
minProducts | number Minimum products in collection |
sortBy | Array of strings Sort By |
object Collection Filters | |
attributeFilters | Array of strings Filters for collection attribute |
heroProducts | Array of strings Products |
totalProducts | number Total number of products |
addedBy | string Collection AddedBy |
createdAt | string <date-time> When the collection was created |
updatedAt | string <date-time> When the collection was updated |
{- "_id": "61255f0d82cff77757e129b6",
- "name": "Tops",
- "meta": {
- "title": "collection title",
- "description": "collection desc"
}, - "status": "active",
- "displayPreference": "product",
- "autoRefresh": false,
- "minProducts": 0,
- "sortBy": [
- "top"
], - "filters": {
- "gender": [
- "Men",
- "Women"
], - "Occasion Type": [
- "business-formal",
- "special"
]
}, - "attributeFilters": [
- "filter1"
], - "heroProducts": [
- "Hightop"
], - "totalProducts": 151,
- "createdAt": "2021-08-24T21:05:17.149Z",
- "updatedAt": "2021-09-02T08:20:05.100Z"
}
Returns the list of all active collections with a system generated unique identifier, and user defined settings such as its name, banner image, URL, meta title and meta description.
offset | integer >= 0 Default: 0 Example: offset=0 The number of items to skip before starting to collect the result set. Default 0 |
limit | integer >= 1 Default: 100 Example: limit=100 The number of items to return. Default 100 |
curl --request GET \ --url 'https://api.streamoid.com/v2/collections?offset=0&limit=100' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}, - "data": [
- {
- "_id": "61255f0d82cff77757e129b6",
- "name": "Tops",
- "meta": {
- "title": "collection title",
- "description": "collection desc"
}, - "status": "active",
- "displayPreference": "product",
- "autoRefresh": false,
- "minProducts": 0,
- "sortBy": [
- "top"
], - "filters": {
- "gender": [
- "Men",
- "Women"
], - "Occasion Type": [
- "business-formal",
- "special"
]
}, - "attributeFilters": [
- "filter1"
], - "heroProducts": [
- "Hightop"
], - "totalProducts": 151,
- "createdAt": "2021-08-24T21:05:17.149Z",
- "updatedAt": "2021-09-02T08:20:05.100Z"
}
]
}
Returns the nested heirarchical order of collections as parents and children.
curl --request GET \ --url https://api.streamoid.com/v2/collections/hierarchy \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}, - "data": {
- "_id": "61255f0d82cff77757e129b9",
- "vendor": "v_galileo",
- "association": [
- {
- "children": [
- "child detail1"
], - "collectionId": "612f55f56959ca42e1a0b943",
- "collectionName": "Summer2"
}
], - "createdAt": "2021-08-24T21:05:17.173Z",
- "updatedAt": "2021-09-02T10:38:46.278Z",
- "__v": 0
}
}
Returns details for a specific collection
collection_id required | string Example: 61160ab54c7c4f367ea5eb08 Id of the collection |
curl --request GET \ --url https://api.streamoid.com/v2/collections/%7Bcollection_id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}, - "data": {
- "_id": "61255f0d82cff77757e129b6",
- "name": "Tops",
- "status": "active",
- "meta": {
- "title": "meta title",
- "description": "meta desc"
}, - "displayPreference": "product",
- "autoRefresh": false,
- "minProducts": 0,
- "sortBy": [
- "tops"
], - "filters": {
- "gender": [
- "Men",
- "Women"
], - "activity": [
- "sports"
], - "Occasion Type": [
- "activewear",
- "elevated",
- "special"
]
}, - "attributeFilters": [
- "tops"
], - "heroProducts": [
- "activewear"
], - "groups": [
- {
- "includedProducts": [
- "1539674_myntra",
- "9907333_myntra"
], - "excludedProducts": [
- "7374673_myntra_myntra_com"
], - "_id": "6127601632a4a0309d8287f9",
- "name": "Similar1",
- "type": "Similar",
- "query": {
- "streamoid_id": "a654ed4c7a314e88aae8fede13ec2c7a"
}
}
], - "createdAt": "2021-08-24T21:05:17.149Z",
- "updatedAt": "2021-09-02T08:20:05.100Z"
}
}
This section will help you manage shopping experiences on your online store.
You can implement this in the search box on your website, mobile site, or mobile apps.
num_found | number Number of records |
object (Facets) Facets model | |
Array of objects (Product) non-empty unique |
{- "num_found": 5772,
- "facets": {
- "Category": {
- "shoes": 78,
- "hats": 66,
- "jeans": 211,
- "overcoats": 6,
- "trousers": 313
}, - "Gender": {
- "Men": 750,
- "Women": 5021
}, - "Brand": {
- "VINCE": 86,
- "MIU MIU": 30
}
}, - "products": [
- {
- "category": "TOP",
- "available": 1,
- "title": "Lace-Trim Chiffon Cami",
- "discounted_price": 520.5,
- "gender": "Men",
- "price": 1299.5,
- "currency": "INR",
- "thumbnail_url": [
], - "product_code": "390375",
- "size": "XS"
}
]
}
Find products matching a customer’s query. You can also use this API to apply listing page features such as sorting, pagination, and faceting (filters) to multiple query products.
q required | string Example: q=* urlencoded query string |
Facet Name1 | string Example: Facet Name1={"shoes": 619} Facet name and value. Could be Category or Gender or Brand |
Facet Name2 | string Example: Facet Name2={"Men": 27} Facet name and value. Could be Category or Gender or Brand |
pi_response_style | string Default: "default" Enum: "light" "default" "rich" Example: pi_response_style=default Response style |
pi_include_fields | string Example: pi_include_fields=vendor_brand A comma-separated list of fields to include in addition to the fields specified by the response_field_group passed |
offset | integer >= 0 Default: 0 Example: offset=0 The number of items to skip before starting to collect the result set. Default 0 |
limit | integer >= 1 Default: 100 Example: limit=100 The number of items to return. Default 100 |
curl --request GET \ --url 'https://api.streamoid.com/v2/search/text/products?Facet%20Name1=%7B%22shoes%22%3A%20619%7D&Facet%20Name2=%7B%22Men%22%3A%2027%7D&q=*&pi_response_style=default&pi_include_fields=vendor_brand%2C%20meta_comprehensive_category&offset=0&limit=100' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}, - "num_found": 5772,
- "facets": {
- "Category": {
- "shoes": 78,
- "hats": 66,
- "jeans": 211,
- "overcoats": 6,
- "trousers": 313
}, - "Gender": {
- "Men": 750,
- "Women": 5021
}, - "Brand": {
- "VINCE": 86,
- "MIU MIU": 30
}
}, - "products": [
- {
- "category": "TOP",
- "available": 1,
- "title": "Lace-Trim Chiffon Cami",
- "discounted_price": 520.5,
- "gender": "Men",
- "price": 1299.5,
- "currency": "INR",
- "thumbnail_url": [
], - "product_code": "390375",
- "size": "XS"
}
]
}
Show relevant search suggestions while a customer is entering their query
query required | string Example: query=* urlencoded query string |
curl --request GET \ --url 'https://api.streamoid.com/v2/search/text/autosuggest?query=*' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}, - "data": {
- "brands": [
- "Pantaloons Baby",
- "Pantaloons Junior"
], - "phrases": [
- "palazzo for women",
- "pantaloons bottomwear"
], - "categories": [
- "tops",
- "shirts"
], - "sub_brands": [
- "Pantaloons Baby",
- "Pantaloons Junior"
]
}
}
This API gives the list of most popular searches (by absolute popularity) as well as momentum-based trending searches (based on increase in popularity over a certain time frame)
start | string Example: start=2022-09-10 date, format YYYY-MM-DD, default = this day last week |
end | string Example: end=2022-10-10 date, format YYYY-MM-DD, default = yesterday |
interval | integer Default: 1 Example: interval=1 aggregation period for queries, to consider momentum change |
trending | boolean Default: true Includes “trending” section in response if true |
popular | boolean Default: true Includes “popular” section in response if true |
curl --request GET \ --url 'https://api.streamoid.com/v2/search/text/queries' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "Success"
}, - "data": {
- "trending": [
- "jacket for men",
- "dresses for women",
- "crop tops for women",
- "graphic",
- "heels"
], - "popular": [
- "defaulttext",
- "dresses for women",
- "sweatshirts and hoodies",
- "tops for women",
- "dress"
]
}
}
Search for products by giving an image url.
url | string <uri> [ 1 .. 2083 ] characters Example: url=https://cdn.pixabay.com/photo/2016/10/02/22/17/red-t-shirt-1710578_1280.jpg Url to the image file. Either url or image_key have to be given. |
image_key | string Example: image_key=1ee2f3e26b3bcca5053af10480fe0878 Image key is returned in the initial response, and can be passed in place of the url for subsequent calls for the same image. image_key is valid for an hour after the initial call. Either url or image_key have to be given. |
selected | number Example: selected=1 Index (0 based) of the item in [detections] from the initial response, for which search is to be done. |
gender | string Example: gender=Men Specify the gender on which search is to be done for selected product. Can be either Men or Women |
category | string Example: category=dresses Can be any of the values in [available_categories] from the initial response |
pi_response_style | string Default: "default" Enum: "light" "default" "rich" Example: pi_response_style=default Response style |
pi_include_fields | string Example: pi_include_fields=vendor_brand A comma-separated list of fields to include in addition to the fields specified by the response_field_group passed |
curl --request GET \ --url 'https://api.streamoid.com/v2/search/image/products?url=https%3A%2F%2Fcdn.pixabay.com%2Fphoto%2F2016%2F10%2F02%2F22%2F17%2Fred-t-shirt-1710578_1280.jpg' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}, - "visual_search": {
- "results": [
- "productId585187",
- "productId24161"
], - "image_key": "1ee2f3e26b3bcca5053af10480fe0878",
- "count": 12,
- "detections": [
- {
- "ymax": 0.7950449389080668,
- "name": "dress",
- "xmax": 0.8437547387543672,
- "xmin": 0.45068165086070944,
- "ymin": 0.14579513017521348
}
], - "available_categories": [
- "shirts",
- "t-shirts"
]
}, - "product_infos": {
- "product_id1": {
- "streamoid_id": "123e4567-e89b-12d3-a456-426614174000",
- "currency": "USD",
- "price": 12.34,
- "title": "Ribbed V-Neck Sweater",
- "description": "A ribbed knit sweater featuring a V-neck, long sleeves, and a form-fitting silhouette.",
- "available": 1
}, - "product_id2": {
- "streamoid_id": "123e4567-e89b-12d3-a456-426614174000",
- "currency": "USD",
- "price": 12.34,
- "title": "Ribbed V-Neck Sweater",
- "description": "A ribbed knit sweater featuring a V-neck, long sleeves, and a form-fitting silhouette.",
- "available": 1
}
}
}
Search for products uploading an image
image | string <base64> Image file (jpg, png), multipart form data |
image_key | string Image key is returned in the initial response, and can be passed in place of the image upload for subsequent calls for the same image. image_key is valid for an hour after the initial call. Either image or image_key have to be given. |
selected | string Index (0 based) of the item in [detections] from the initial response, for which search is to be done. |
gender | string Specify the gender on which search is to be done for selected product. Can be either Men or Women |
category | string Can be any of the values in [available_categories] from the initial response |
pi_response_style | string (pi_response_style) Response style |
pi_include_fields | string (pi_include_fields) A comma-separated list of fields to include in addition to the fields specified by the 'default' response_field_group |
{- "status": {
- "code": 0,
- "message": "success"
}, - "visual_search": {
- "results": [
- "productId585187",
- "productId24161"
], - "image_key": "1ee2f3e26b3bcca5053af10480fe0878",
- "count": 12,
- "detections": [
- {
- "ymax": 0.7950449389080668,
- "name": "dress",
- "xmax": 0.8437547387543672,
- "xmin": 0.45068165086070944,
- "ymin": 0.14579513017521348
}
], - "available_categories": [
- "shirts",
- "t-shirts"
]
}, - "product_infos": {
- "product_id1": {
- "streamoid_id": "123e4567-e89b-12d3-a456-426614174000",
- "currency": "USD",
- "price": 12.34,
- "title": "Ribbed V-Neck Sweater",
- "description": "A ribbed knit sweater featuring a V-neck, long sleeves, and a form-fitting silhouette.",
- "available": 1
}, - "product_id2": {
- "streamoid_id": "123e4567-e89b-12d3-a456-426614174000",
- "currency": "USD",
- "price": 12.34,
- "title": "Ribbed V-Neck Sweater",
- "description": "A ribbed knit sweater featuring a V-neck, long sleeves, and a form-fitting silhouette.",
- "available": 1
}
}
}
products required | Array of strings (List of product ids) |
title | string (Title of the outfit) |
description | string (Description of the outfit) |
collage_url | string <uri> (URL of the collage of this outfit) [ 1 .. 2083 ] characters |
{- "products": [
- "12345",
- "23456"
], - "title": "Urban Chic",
- "description": "Some pieces are so essential, you canΓÇÖt imagine your closet without them! Take this off-white striped sweater for example. Pair it with a regular fit solid semi-formal full sleeve shirt, solid gray shorts and ankle length black almond toe boots. A basic look that still looks effortlessly fashionable? You bet!",
}
Show products that are visually similar
product_id required | string Example: 334523 Id of the product |
attribute | integer Enum: 0 1 2 Example: attribute=1 Attribute value. 0 or 1 or 2 |
pi_response_style | string Default: "default" Enum: "light" "default" "rich" Example: pi_response_style=default Response style |
pi_include_fields | string Example: pi_include_fields=vendor_brand A comma-separated list of fields to include in addition to the fields specified by the response_field_group passed |
offset | integer >= 0 Default: 0 Example: offset=0 The number of items to skip before starting to collect the result set. Default 0 |
limit | integer >= 1 Default: 100 Example: limit=100 The number of items to return. Default 100 |
curl --request GET \ --url 'https://api.streamoid.com/v2/recommendations/product/%7Bproduct_id%7D/similar?attribute=1&pi_response_style=default&pi_include_fields=vendor_brand%2C%20meta_comprehensive_category&offset=0&limit=100' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "metadata": { },
- "similar": {
- "attributes": {
- "fit": 0,
- "hemline_length": 0,
- "type": 0,
- "color": 0,
- "waist_rise": 0,
- "print_type": 0
}, - "count": 0,
- "results": [
- "605357",
- "336365",
- "390206"
]
}, - "status": {
- "code": 0,
- "message": "success"
}, - "product_infos": {
- "product_id1": {
- "streamoid_id": "123e4567-e89b-12d3-a456-426614174000",
- "currency": "USD",
- "price": 12.34,
- "title": "Ribbed V-Neck Sweater",
- "description": "A ribbed knit sweater featuring a V-neck, long sleeves, and a form-fitting silhouette.",
- "available": 1
}, - "product_id2": {
- "streamoid_id": "123e4567-e89b-12d3-a456-426614174000",
- "currency": "USD",
- "price": 12.34,
- "title": "Ribbed V-Neck Sweater",
- "description": "A ribbed knit sweater featuring a V-neck, long sleeves, and a form-fitting silhouette.",
- "available": 1
}
}
}
Pair products from complementary categories
product_id required | string Example: 605043 Merchant store product id |
pi_response_style | string Default: "default" Enum: "light" "default" "rich" Example: pi_response_style=default Response style |
pi_include_fields | string Example: pi_include_fields=vendor_brand A comma-separated list of fields to include in addition to the fields specified by the response_field_group passed |
offset | integer >= 0 Default: 0 Example: offset=0 The number of items to skip before starting to collect the result set. Default 0 |
limit | integer >= 1 Default: 100 Example: limit=100 The number of items to return. Default 100 |
curl --request GET \ --url 'https://api.streamoid.com/v2/recommendations/product/%7Bproduct_id%7D/matcher?pi_response_style=default&pi_include_fields=vendor_brand%2C%20meta_comprehensive_category&offset=0&limit=100' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}, - "complementary_products": [
- {
- "products": [
- "12345",
- "23456"
], - "title": "Bottomwear"
}
], - "product_infos": {
- "product_id1": {
- "streamoid_id": "123e4567-e89b-12d3-a456-426614174000",
- "currency": "USD",
- "price": 12.34,
- "title": "Ribbed V-Neck Sweater",
- "description": "A ribbed knit sweater featuring a V-neck, long sleeves, and a form-fitting silhouette.",
- "available": 1
}, - "product_id2": {
- "streamoid_id": "123e4567-e89b-12d3-a456-426614174000",
- "currency": "USD",
- "price": 12.34,
- "title": "Ribbed V-Neck Sweater",
- "description": "A ribbed knit sweater featuring a V-neck, long sleeves, and a form-fitting silhouette.",
- "available": 1
}
}
}
Showcase outfits including a given product
product_id required | string Example: 6120 Merchant store product id |
pi_response_style | string Default: "default" Enum: "light" "default" "rich" Example: pi_response_style=default Response style |
pi_include_fields | string Example: pi_include_fields=vendor_brand A comma-separated list of fields to include in addition to the fields specified by the response_field_group passed |
offset | integer >= 0 Default: 0 Example: offset=0 The number of items to skip before starting to collect the result set. Default 0 |
limit | integer >= 1 Default: 100 Example: limit=100 The number of items to return. Default 100 |
curl --request GET \ --url 'https://api.streamoid.com/v2/recommendations/product/%7Bproduct_id%7D/outfits?pi_response_style=default&pi_include_fields=vendor_brand%2C%20meta_comprehensive_category&offset=0&limit=100' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}, - "outfits": [
- {
- "products": [
- "12345",
- "23456"
], - "title": "Urban Chic",
- "description": "Some pieces are so essential, you canΓÇÖt imagine your closet without them! Take this off-white striped sweater for example. Pair it with a regular fit solid semi-formal full sleeve shirt, solid gray shorts and ankle length black almond toe boots. A basic look that still looks effortlessly fashionable? You bet!",
}
], - "product_infos": {
- "product_id1": {
- "streamoid_id": "123e4567-e89b-12d3-a456-426614174000",
- "currency": "USD",
- "price": 12.34,
- "title": "Ribbed V-Neck Sweater",
- "description": "A ribbed knit sweater featuring a V-neck, long sleeves, and a form-fitting silhouette.",
- "available": 1
}, - "product_id2": {
- "streamoid_id": "123e4567-e89b-12d3-a456-426614174000",
- "currency": "USD",
- "price": 12.34,
- "title": "Ribbed V-Neck Sweater",
- "description": "A ribbed knit sweater featuring a V-neck, long sleeves, and a form-fitting silhouette.",
- "available": 1
}
}
}
Find the themes that a product can be worn in.
product_id required | string Example: 390206 Merchant store product id |
curl --request GET \ --url https://api.streamoid.com/v2/recommendations/product/%7Bproduct_id%7D/outfit-themes \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}, - "data": {
- "themes": {
- "outfit mood": [
- "spring essentials",
- "everyday casuals"
], - "activity": [
- "college-look",
- "hang-outs"
]
}, - "request_product_uuid": "11e95150bf8144c0b67bda523c7fcbbb"
}
}
Suggest products customers are likely to buy given an existing set of products.
collection_id required | string Example: 61160ab54c7c4f367ea5eb08 Id of the collection |
pi_response_style | string Default: "default" Enum: "light" "default" "rich" Example: pi_response_style=default Response style |
pi_include_fields | string Example: pi_include_fields=vendor_brand A comma-separated list of fields to include in addition to the fields specified by the response_field_group passed |
offset | integer >= 0 Default: 0 Example: offset=0 The number of items to skip before starting to collect the result set. Default 0 |
limit | integer >= 1 Default: 100 Example: limit=100 The number of items to return. Default 100 |
curl --request GET \ --url 'https://api.streamoid.com/v2/recommendations/collection/%7Bcollection_id%7D?pi_response_style=default&pi_include_fields=vendor_brand%2C%20meta_comprehensive_category&offset=0&limit=100' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}
}
In fashion, it is difficult to understand a customer’s style preference and manage personalization for everyone. Our system makes this easy and will allow you to manage all your customer’s information and share their shopping behavior.
userId required | string id of the user |
static required | string name of the vendor |
gender | string user gender |
{- "userId": "5f7d52885b35d2605ce1c66c",
- "gender": "men",
- "static": "\"selectedConcern'':{\"skintone\":\"medium_neutral\"}"
}
Retrieve a list of all users in the system.
offset | integer >= 0 Default: 0 Example: offset=0 The number of items to skip before starting to collect the result set. Default 0 |
limit | integer >= 1 Default: 100 Example: limit=100 The number of items to return. Default 100 |
curl --request GET \ --url 'https://api.streamoid.com/v2/users?offset=0&limit=100' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}, - "data": [
- {
- "userId": "5f7d52885b35d2605ce1c66c",
- "gender": "men",
- "static": "\"selectedConcern'':{\"skintone\":\"medium_neutral\"}"
}
]
}
Initialize a user in the Streamoid platform. Typically, these users will match any existing users created using other CDPs or user management platforms. We strongly recommend passing a unique DB identifier for each user.
User details
userId required | string id of the user |
gender | string user gender |
static | string Any static information passed for a user |
quizEntries | string User style details |
{- "userId": "5f7d52885b35d2605ce1c66c",
- "gender": "Men",
- "static": "{\"selectedSkinTone\":\"porcelain_beige\"}",
- "quizEntries": "{\"color\":\"red\"}"
}
{- "status": {
- "code": 0,
- "message": "success"
}, - "data": [
- {
- "userId": "5f7d52885b35d2605ce1c66c",
- "vendor": "v_galileo",
- "gender": "men",
- "static": "{\"selectedConcern\":{\"shoulders\":\"wide\",\"stomach\":\"big\"},\"selectedSkinTone\":\"porcelain_beige\"}",
- "quizEntries": [
- {
- "ethnicity": [
- "western"
], - "bodyshape": [
- "round"
], - "skintone": [
- "light"
]
}
], - "createdAt": "2021-08-13T05:58:45.813Z",
- "updatedAt": "2021-08-24T10:12:08.803Z"
}
]
}
Add behavioral information on each user such as what they viewed, clicked on, add to their carts, purchased, and returned.
user_id required | string Example: 5f7d52885b35d2605ce1c66c Id of the user |
curl --request POST \ --url https://api.streamoid.com/v2/users/%7Buser_id%7D/behaviour \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}
}
Retrieve information on a specific user in the system.
user_id required | string Example: 5f7d52885b35d2605ce1c66c Id of the user |
curl --request GET \ --url https://api.streamoid.com/v2/users/%7Buser_id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}, - "data": [
- {
- "userId": "5f7d52885b35d2605ce1c66c",
- "vendor": "v_galileo",
- "gender": "men",
- "static": "{\"selectedConcern\":{\"shoulders\":\"wide\",\"stomach\":\"big\"},\"selectedSkinTone\":\"porcelain_beige\"}",
- "quizEntries": [
- {
- "ethnicity": [
- "western"
], - "bodyshape": [
- "round"
], - "skintone": [
- "light"
]
}
], - "createdAt": "2021-08-13T05:58:45.813Z",
- "updatedAt": "2021-08-24T10:12:08.803Z"
}
]
}
Replace information on a specific user in the system.
user_id required | string Example: 5f7d52885b35d2605ce1c66c Id of the user |
User details to be updated
gender | string user gender |
static | string Any static data user wish to pass |
quizEntries | string User style details |
{- "gender": "men",
- "static": "{\"selectedSkinTone\":\"porcelain_beige\"}",
- "quizEntries": "{\"color\":\"blue,pink\"}"
}
{- "status": {
- "code": 0,
- "message": "success"
}, - "data": [
- {
- "userId": "5f7d52885b35d2605ce1c66c",
- "vendor": "v_galileo",
- "gender": "men",
- "static": "{\"selectedConcern\":{\"shoulders\":\"wide\",\"stomach\":\"big\"},\"selectedSkinTone\":\"porcelain_beige\"}",
- "quizEntries": [
- {
- "ethnicity": [
- "western"
], - "bodyshape": [
- "round"
], - "skintone": [
- "light"
]
}
], - "createdAt": "2021-08-13T05:58:45.813Z",
- "updatedAt": "2021-08-24T10:12:08.803Z"
}
]
}
Remove a user from the system.
user_id required | string Example: 5f7d52885b35d2605ce1c66c Id of the user |
curl --request DELETE \ --url https://api.streamoid.com/v2/users/%7Buser_id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}
}
shareStatus required | string Enum: "active" "inactive" Share Status |
collaborativeStatus required | string Enum: "active" "inactive" Collaborative Status |
_id required | string ID of the collection |
addedBy required | string Collection added by |
name required | string Collection name |
createdAt required | string <date-time> when the collection was created |
updatedAt required | string <date-time> when the collection was updated |
updatedBy required | string Collection last updated by |
imageUrl | string <uri> [ 1 .. 2083 ] characters URL of the image |
shareLink | string Share Link |
notificationFrequency | string Frequency of the notification |
notificationThreshold | string Threshold of the notification |
products | Array of strings (UserCollection-Product) Array of product Ids |
object (UserCollection-Outfit) Outfit details used with user Collection | |
media | Array of strings (UserCollection-Media) Array of Media Ids |
collaborativeWith | Array of strings (UserCollection-Collaborator) Array of collaborators string |
{- "shareStatus": "active",
- "collaborativeStatus": "inactive",
- "notificationFrequency": "1 week",
- "notificationThreshold": "1 week",
- "products": [
- "61160af04c7c4f367ea5eb26",
- "61160afd4c7c4f367ea5eb35"
], - "outfits": {
- "products": [
- "61160af04c7c4f367ea5eb26",
- "61160afd4c7c4f367ea5eb35"
], - "_id": "61160afd4c7c4f367ea5eb3e"
}, - "media": [
- "61160af04c7c4f367ea5eb26",
- "61160afd4c7c4f367ea5eb35"
], - "collaborativeWith": [
- "5f7d52885b35d2605ce1c66c",
- "602f7713aaee25230b2e98ce"
], - "_id": "611645c1a5f98d3c546ced98",
- "addedBy": "60238d2d50759666c04d06c7",
- "name": "Summer-2021",
- "createdAt": "2021-08-13T10:13:21.834Z",
- "updatedAt": "2021-08-24T07:36:10.985Z",
- "updatedBy": "60238d2d50759666c04d06c7"
}
Retrieve user collection
user_id required | string Example: 5f7d52885b35d2605ce1c66c Id of the user |
offset | integer >= 0 Default: 0 Example: offset=0 The number of items to skip before starting to collect the result set. Default 0 |
limit | integer >= 1 Default: 100 Example: limit=100 The number of items to return. Default 100 |
curl --request GET \ --url 'https://api.streamoid.com/v2/users/5f7d52885b35d2605ce1c66c/collections?offset=0&limit=100' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}, - "data": [
- {
- "shareStatus": "active",
- "collaborativeStatus": "inactive",
- "products": [
- "61160af04c7c4f367ea5eb26",
- "61160afd4c7c4f367ea5eb35"
], - "outfits": {
- "products": [
- "61160af04c7c4f367ea5eb26",
- "61160afd4c7c4f367ea5eb35"
], - "_id": "61160afd4c7c4f367ea5eb3e"
}, - "media": [
- "61160af04c7c4f367ea5eb26",
- "61160afd4c7c4f367ea5eb35"
], - "collaborativeWith": [
- "5f7d52885b35d2605ce1c66c",
- "602f7713aaee25230b2e98ce"
], - "_id": "611645c1a5f98d3c546ced98",
- "addedBy": "60238d2d50759666c04d06c7",
- "name": "Summer-2021",
- "createdAt": "2021-08-13T10:13:21.834Z",
- "updatedAt": "2021-08-24T07:36:10.985Z",
- "updatedBy": "60238d2d50759666c04d06c7"
}
]
}
Create user collection
user_id required | string Example: 5f7d52885b35d2605ce1c66c Id of the user |
name required | string Name of the collection |
imageUrl | string <uri> [ 1 .. 2083 ] characters Url of the image |
shareStatus | string Enum: "active" "inactive" Sharestatus |
shareLink | string <uri> [ 1 .. 2083 ] characters Sharelink |
notificationFrequency | string Frequency of the notification |
notificationThreshold | string Threshold of the notification |
collaborativeStatus | string Enum: "active" "inactive" Collaborative Status |
{- "name": "My Saved Items",
- "shareStatus": "active",
- "notificationFrequency": "1 week",
- "notificationThreshold": "1 week",
- "collaborativeStatus": "active"
}
{- "status": {
- "code": 0,
- "message": "success"
}, - "data": {
- "shareStatus": "active",
- "collaborativeStatus": "inactive",
- "notificationFrequency": "1 week",
- "notificationThreshold": "1 week",
- "_id": "611645c1a5f98d3c546ced98",
- "addedBy": "60238d2d50759666c04d06c7",
- "name": "Summer-2021",
- "createdAt": "2021-08-13T10:13:21.834Z",
- "updatedAt": "2021-08-24T07:36:10.985Z",
- "updatedBy": "60238d2d50759666c04d06c7"
}
}
Retrieve user collection details
user_id required | string Example: 5f7d52885b35d2605ce1c66c Id of the user |
collection_id required | string Example: 61160ab54c7c4f367ea5eb08 Id of the collection |
curl --request GET \ --url https://api.streamoid.com/v2/users/%7Buser_id%7D/collections/%7Bcollection_id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}, - "data": [
- {
- "shareStatus": "active",
- "collaborativeStatus": "inactive",
- "notificationFrequency": "1 week",
- "notificationThreshold": "1 week",
- "products": [
- "61160af04c7c4f367ea5eb26",
- "61160afd4c7c4f367ea5eb35"
], - "outfits": {
- "products": [
- "61160af04c7c4f367ea5eb26",
- "61160afd4c7c4f367ea5eb35"
], - "_id": "61160afd4c7c4f367ea5eb3e"
}, - "media": [
- "61160af04c7c4f367ea5eb26",
- "61160afd4c7c4f367ea5eb35"
], - "collaborativeWith": [
- "5f7d52885b35d2605ce1c66c",
- "602f7713aaee25230b2e98ce"
], - "_id": "611645c1a5f98d3c546ced98",
- "addedBy": "60238d2d50759666c04d06c7",
- "name": "Summer-2021",
- "createdAt": "2021-08-13T10:13:21.834Z",
- "updatedAt": "2021-08-24T07:36:10.985Z",
- "updatedBy": "60238d2d50759666c04d06c7"
}
]
}
Replace user collection
user_id required | string Example: 5f7d52885b35d2605ce1c66c Id of the user |
collection_id required | string Example: 61160ab54c7c4f367ea5eb08 Id of the collection |
name required | string >= 0 characters Name of the collection |
imageUrl required | string <uri> [ 1 .. 2083 ] characters Image Url |
shareStatus required | string Enum: "active" "inactive" Share status |
shareLink required | string <uri> [ 1 .. 2083 ] characters Share link |
notificationFrequency required | string Frequency of the notification |
notificationThreshold required | string Threshold of the notification |
collaborativeStatus required | string >= 0 characters Enum: "active" "inactive" Collaborative status |
{- "name": "My Saved Items",
- "shareStatus": "inactive",
- "notificationFrequency": "1 week",
- "notificationThreshold": "1 week",
- "collaborativeStatus": "inactive"
}
{- "status": {
- "code": 0,
- "message": "success"
}, - "data": {
- "shareStatus": "active",
- "collaborativeStatus": "inactive",
- "notificationFrequency": "1 week",
- "notificationThreshold": "1 week",
- "_id": "611645c1a5f98d3c546ced98",
- "addedBy": "60238d2d50759666c04d06c7",
- "name": "Summer-2021",
- "createdAt": "2021-08-13T10:13:21.834Z",
- "updatedAt": "2021-08-24T07:36:10.985Z",
- "updatedBy": "60238d2d50759666c04d06c7"
}
}
Delete user collection
user_id required | string Example: 5f7d52885b35d2605ce1c66c Id of the user |
collection_id required | string Example: 61160ab54c7c4f367ea5eb08 Id of the collection |
curl --request DELETE \ --url https://api.streamoid.com/v2/users/%7Buser_id%7D/collections/%7Bcollection_id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}
}
Retrieve products
user_id required | string Example: 5f7d52885b35d2605ce1c66c Id of the user |
collection_id required | string Example: 61160ab54c7c4f367ea5eb08 Id of the collection |
product_id required | string Example: 61160ace4c7c4f367ea5eb14 Id of the product |
pi_response_style | string Default: "default" Enum: "light" "default" "rich" Example: pi_response_style=default Response style |
pi_include_fields | string Example: pi_include_fields=vendor_brand A comma-separated list of fields to include in addition to the fields specified by the response_field_group passed |
curl --request GET \ --url 'https://api.streamoid.com/v2/users/%7Buser_id%7D/collections/%7Bcollection_id%7D/products/%7Bproduct_id%7D?pi_response_style=default&pi_include_fields=vendor_brand%2C%20meta_comprehensive_category' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}, - "data": {
- "product_id": "61160ace4c7c4f367ea5eb14",
- "collectionId": "61160ab54c7c4f367ea5eb08",
- "likes": [
- "like1",
- "like2"
], - "dislikes": [
- "dislike1",
- "dislike2"
], - "comments": [
- "comment1",
- "comment2"
], - "addedBy": "5f7d52885b35d2605ce1c66c",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}
Delete product
user_id required | string Example: 5f7d52885b35d2605ce1c66c Id of the user |
collection_id required | string Example: 61160ab54c7c4f367ea5eb08 Id of the collection |
product_id required | string Example: 61160ace4c7c4f367ea5eb14 Id of the product |
curl --request DELETE \ --url https://api.streamoid.com/v2/users/%7Buser_id%7D/collections/%7Bcollection_id%7D/products/%7Bproduct_id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}
}
Retrieve outfit
user_id required | string Example: 5f7d52885b35d2605ce1c66c Id of the user |
collection_id required | string Example: 61160ab54c7c4f367ea5eb08 Id of the collection |
outfit_id required | string Example: 6127c8e348332919124fa827 Id of the outfit |
pi_response_style | string Default: "default" Enum: "light" "default" "rich" Example: pi_response_style=default Response style |
pi_include_fields | string Example: pi_include_fields=vendor_brand A comma-separated list of fields to include in addition to the fields specified by the response_field_group passed |
curl --request GET \ --url 'https://api.streamoid.com/v2/users/%7Buser_id%7D/collections/%7Bcollection_id%7D/outfits/%7Boutfit_id%7D?pi_response_style=default&pi_include_fields=vendor_brand%2C%20meta_comprehensive_category' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}, - "data": {
- "products": [
- "61160af04c7c4f367ea5eb26",
- "61160afd4c7c4f367ea5eb35"
], - "_id": "61160afd4c7c4f367ea5eb3e",
- "likes": [
- "like1",
- "like2"
], - "dislikes": [
- "dislike1",
- "dislike2"
], - "comments": [
- "comment1",
- "comment2"
], - "addedBy": "5f7d52885b35d2605ce1c66c",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}
Delete outfit
user_id required | string Example: 5f7d52885b35d2605ce1c66c Id of the user |
collection_id required | string Example: 61160ab54c7c4f367ea5eb08 Id of the collection |
outfit_id required | string Example: 6127c8e348332919124fa827 Id of the outfit |
curl --request DELETE \ --url https://api.streamoid.com/v2/users/%7Buser_id%7D/collections/%7Bcollection_id%7D/outfits/%7Boutfit_id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}
}
Retrieve media
user_id required | string Example: 5f7d52885b35d2605ce1c66c Id of the user |
collection_id required | string Example: 61160ab54c7c4f367ea5eb08 Id of the collection |
media_id required | string Example: 61160b1b4c7c4f367ea5eb70 Id of the media |
curl --request GET \ --url https://api.streamoid.com/v2/users/%7Buser_id%7D/collections/%7Bcollection_id%7D/media/%7Bmedia_id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}, - "data": {
- "imageWidth": 1000,
- "imageHeight": 1500,
- "_id": "61160b1b4c7c4f367ea5eb70",
- "likes": [
- "like1",
- "like2"
], - "dislikes": [
- "dislike1",
- "dislike2"
], - "comments": [
- "comment1",
- "comment2"
], - "collectionId": "611b374dd2ec4f4b86abd4b2",
- "addedBy": "602f7713aaee25230b2e98ce",
- "createdAt": "2021-08-13T06:03:07.319Z",
- "updatedAt": "2021-08-13T06:03:07.319Z"
}
}
Delete media
user_id required | string Example: 5f7d52885b35d2605ce1c66c Id of the user |
collection_id required | string Example: 61160ab54c7c4f367ea5eb08 Id of the collection |
media_id required | string Example: 61160b1b4c7c4f367ea5eb70 Id of the media |
curl --request DELETE \ --url https://api.streamoid.com/v2/users/%7Buser_id%7D/collections/%7Bcollection_id%7D/media/%7Bmedia_id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}
}
Add products
user_id required | string Example: 5f7d52885b35d2605ce1c78d Id of the user |
collection_id required | string Example: 61160ab54c7c4f367ea5eb10 Id of the collection |
product_id required | string Id of the product |
{- "product_id": "61160ace4c7c4f367ea5eb14"
}
{- "status": {
- "code": 0,
- "message": "success"
}, - "data": {
- "product_id": "61160aec4c7c4f367ea5eb1d",
- "collectionId": "61160ab54c7c4f367ea5eb08",
- "addedBy": "5f7d52885b35d2605ce1c66c",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
Users even have the option to shop collaboratively with their friends with shared carts or shared wishlists.
Add a collaborator
user_id required | string Example: 5f7d52885b35d2605ce1c66c Id of the user |
collaborator_id required | string Example: 5f7d52885b35d2605ce1c66c User id of the collaborator |
collection_id required | string Example: 61160ab54c7c4f367ea5eb08 Id of the collection |
curl --request POST \ --url https://api.streamoid.com/v2/users/%7Buser_id%7D/collections/%7Bcollection_id%7D/collaborators/%7Bcollaborator_id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}
}
Remove collaborator
user_id required | string Example: 5f7d52885b35d2605ce1c66c Id of the user |
collaborator_id required | string Example: 5f7d52885b35d2605ce1c66c User id of the collaborator |
collection_id required | string Example: 61160ab54c7c4f367ea5eb08 Id of the collection |
curl --request DELETE \ --url https://api.streamoid.com/v2/users/%7Buser_id%7D/collections/%7Bcollection_id%7D/collaborators/%7Bcollaborator_id%7D \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}
}
Add vote on product
user_id required | string Example: 5f7d52885b35d2605ce1c66c Id of the user |
collection_id required | string Example: 61160ab54c7c4f367ea5eb08 Id of the collection |
product_id required | string Example: 61160af04c7c4f367ea5eb26 Id of the product |
curl --request POST \ --url https://api.streamoid.com/v2/users/%7Buser_id%7D/collections/%7Bcollection_id%7D/products/%7Bproduct_id%7D/like \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}
}
Remove vote on product
user_id required | string Example: 5f7d52885b35d2605ce1c66c Id of the user |
collection_id required | string Example: 61160ab54c7c4f367ea5eb08 Id of the collection |
product_id required | string Example: 61160af04c7c4f367ea5eb26 Id of the product |
curl --request DELETE \ --url https://api.streamoid.com/v2/users/%7Buser_id%7D/collections/%7Bcollection_id%7D/products/%7Bproduct_id%7D/like \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}
}
Retrieve all products for a user
user_id required | string Example: 5f7d52885b35d2605ce1c78d Id of the user |
collection_id required | string Example: 61160ab54c7c4f367ea5eb10 Id of the collection |
pi_response_style | string Default: "default" Enum: "light" "default" "rich" Example: pi_response_style=default Response style |
pi_include_fields | string Example: pi_include_fields=vendor_brand A comma-separated list of fields to include in addition to the fields specified by the response_field_group passed |
offset | integer >= 0 Default: 0 Example: offset=0 The number of items to skip before starting to collect the result set. Default 0 |
limit | integer >= 1 Default: 100 Example: limit=100 The number of items to return. Default 100 |
curl --request GET \ --url 'https://api.streamoid.com/v2/users/%7Buser_id%7D/collections/%7Bcollection_id%7D/products?pi_response_style=default&pi_include_fields=vendor_brand%2C%20meta_comprehensive_category&offset=0&limit=100' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}, - "data": {
- "products": [
- {
- "product_id": "61160ace4c7c4f367ea5eb14",
- "collectionId": "61160ab54c7c4f367ea5eb08",
- "likes": [
- "like1",
- "like2"
], - "dislikes": [
- "dislike1",
- "dislike2"
], - "comments": [
- "comment1",
- "comment2"
], - "addedBy": "5f7d52885b35d2605ce1c66c",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "product_infos": {
- "product_id1": {
- "streamoid_id": "123e4567-e89b-12d3-a456-426614174000",
- "currency": "USD",
- "price": 12.34,
- "title": "Ribbed V-Neck Sweater",
- "description": "A ribbed knit sweater featuring a V-neck, long sleeves, and a form-fitting silhouette.",
- "available": 1
}, - "product_id2": {
- "streamoid_id": "123e4567-e89b-12d3-a456-426614174000",
- "currency": "USD",
- "price": 12.34,
- "title": "Ribbed V-Neck Sweater",
- "description": "A ribbed knit sweater featuring a V-neck, long sleeves, and a form-fitting silhouette.",
- "available": 1
}
}
}
}
Retrieve all outfits for a user
user_id required | string Example: 5f7d52885b35d2605ce1c66c Id of the user |
collection_id required | string Example: 61160ab54c7c4f367ea5eb08 Id of the collection |
products required | Array of strings (UserCollection-Product) Array of product Ids |
{- "products": [
- "61160af04c7c4f367ea5eb26",
- "61160afd4c7c4f367ea5eb35"
]
}
{- "status": {
- "code": 0,
- "message": "success"
}, - "data": {
- "_id": "61160ab54c7c4f367ea5eb08",
- "products": [
- "61160af04c7c4f367ea5eb26",
- "61160afd4c7c4f367ea5eb35"
], - "createdAt": "2021-08-13T06:02:20.898Z",
- "addedBy": "5f7d52885b35d2605ce1c66c",
}
}
Retrieve all media for a user
user_id required | string Example: 5f7d52885b35d2605ce1c66c Id of the user |
collection_id required | string Example: 61160ab54c7c4f367ea5eb08 Id of the collection |
imageURL | string <uri> [ 1 .. 2083 ] characters Pass imageUR |
{- "status": {
- "code": 0,
- "message": "success"
}, - "data": {
- "mediaId": "61160b1b4c7c4f367ea5eb70",
- "imageWidth": 1000,
- "imageHeight": 1500,
- "collectionId": "61160ab54c7c4f367ea5eb08",
- "addedBy": "5f7d52885b35d2605ce1c66c",
- "createdAt": "2021-08-13T06:03:07.319Z"
}
}
User Generated Content allows you to manage content that your customers and potential customers have created including reviews, product ratings, and social media posts on Instagram.
Social Shopper allows you to showcase user generated content on your store, which are linked to products from your catalogue products enabling customers to discover new products.
Use the dashboard to manage this content and link Instagram posts to relevant products from your catalog.
The Social shopper API should be used in your store to showcase trending images, relatable models, real-world images, and to improve product discoverability.
Our clients frequently include a Social Shopper powered gallery on their websites and mobile apps:
A dedicated Instashop or Social Shop page that can be accessed from the explore/browse menu.
A section/widget on the home page
A section/widget on the product details page
Keep in mind that you can create multiple campaigns and can implement different campaigns in different parts of your store.
Returns the list of a store's published campaigns
offset | integer >= 0 Default: 0 Example: offset=0 The number of items to skip before starting to collect the result set. Default 0 |
limit | integer >= 1 Default: 100 Example: limit=100 The number of items to return. Default 100 |
curl --request GET \ --url 'https://api.streamoid.com/v2/ugc/campaigns?offset=0&limit=100' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}, - "campaigns": [
- {
- "id": "714c14b1-1ab7-4aeb-af9b-f97df79b5c61",
- "name": "TOMMY SUPER SALE",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}
Gets information about the campaign along with the published posts and products from catalog linked to each post.
campaignId required | string Example: 123e4567-e89b-12d3-a456-426614174000 Id of the campaign |
pi_response_style | string Default: "default" Enum: "light" "default" "rich" Example: pi_response_style=default Response style |
pi_include_fields | string Example: pi_include_fields=vendor_brand A comma-separated list of fields to include in addition to the fields specified by the response_field_group passed |
offset | integer >= 0 Default: 0 Example: offset=0 The number of items to skip before starting to collect the result set. Default 0 |
limit | integer >= 1 Default: 100 Example: limit=100 The number of items to return. Default 100 |
curl --request GET \ --url 'https://api.streamoid.com/v2/ugc/campaigns/%7BcampaignId%7D?pi_response_style=default&pi_include_fields=vendor_brand%2C%20meta_comprehensive_category&offset=0&limit=100' \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{- "status": {
- "code": 0,
- "message": "success"
}, - "name": "Tommy Super Sale Campaign",
- "posts": [
- {
- "post_id": "18104627764105560",
- "caption": "#tommylewis #lewishamilton",
- "products": [
- "MZZ5982586cd070cea8b400293c63bda"
]
}
], - "product_infos": {
- "product_id1": {
- "streamoid_id": "123e4567-e89b-12d3-a456-426614174000",
- "currency": "USD",
- "price": 12.34,
- "title": "Ribbed V-Neck Sweater",
- "description": "A ribbed knit sweater featuring a V-neck, long sleeves, and a form-fitting silhouette.",
- "available": 1
}, - "product_id2": {
- "streamoid_id": "123e4567-e89b-12d3-a456-426614174000",
- "currency": "USD",
- "price": 12.34,
- "title": "Ribbed V-Neck Sweater",
- "description": "A ribbed knit sweater featuring a V-neck, long sleeves, and a form-fitting silhouette.",
- "available": 1
}
}
}