How to implement the "SearchProduct" API
Catalog management
When implementing the endpoint, the method must be GET.
You will receive the following data in the queryString:
query: Refers to the search term.
from: The from parameter defines the number of hits to skip, defaulting to 0.
size: Total items per page. Default is 10.
teamId: Id of the team that is carrying out this search.
userId: Id of the user who is performing this search.
userEmail: Email of the user who is performing this search.
integrationId: Id of the integration being used.
searchType: The type of query, whether by TEXT or ID. Default is TEXT.
Example:
curl --location 'https://your_endpoint?searchType=TEXT&query=blue shirt&size=15&from=0&teamId=123&userId=1234&[email protected]&integrationId=abcd-1234
Whenever a product is consulted by OmniChat, this api will be called, and it must return a list of products following the pattern below:
[
{
"blocked": false,
"objectId": "12345",
"name": "iPhone 14 Pro",
"productDescription": "Produto de teste",
"externalUrl": "https://www.apple.com/br/iphone-14-pro/",
"mainVariant": {
"objectId": "12345-1",
"externalImageURL": "https://www.apple.com/newsroom/images/product/iphone/geo/Apple-iPhone-14-Pro-iPhone-14-Pro-Max-deep-purple-220907-geo_inline.jpg.large.jpg",
"erpId": "12345-2",
"name": "iPhone 14 Pro 128gb Purple",
"visible": true,
"price": 9499.99,
"salePrice": 9400,
"quantity": 30,
"sellerId": "1",
"sellerName": "Apple",
"width": 7.15,
"height": 14.8,
"variantLength": 1,
"weight": 206,
"variations": [
{
"key": "Cor",
"value": "Purple"
},
{
"key": "Memória",
"value": "128gb"
}
]
},
"variants": [
{
"objectId": "12345-1",
"externalImageURL": "https://www.apple.com/newsroom/images/product/iphone/geo/Apple-iPhone-14-Pro-iPhone-14-Pro-Max-deep-purple-220907-geo_inline.jpg.large.jpg",
"erpId": "54321-1",
"name": "iPhone 14 Pro 128gb Purple",
"visible": true,
"price": 9499.99,
"salePrice": 9400,
"quantity": 30,
"sellerId": "1",
"sellerName": "Apple",
"width": 7.15,
"height": 14.8,
"variantLength": 1,
"weight": 206,
"variations": [
{
"key": "Cor",
"value": "Purple"
},
{
"key": "Memória",
"value": "128gb"
}
]
},
{
"objectId": "12345-2",
"externalImageURL": "https://store.storeimages.cdn-apple.com/4982/as-images.apple.com/is/iphone-14-pro-gold-witb-202209_FMT_WHH?wid=560&hei=744&fmt=jpeg&qlt=90&.v=1660789320262",
"erpId": "54321-2",
"name": "iPhone 14 Pro 128gb Gold",
"visible": true,
"price": 9399.99,
"salePrice": 9200,
"quantity": 28,
"sellerId": "1",
"sellerName": "Apple",
"width": 7.15,
"height": 14.8,
"variantLength": 1,
"weight": 206,
"variations": [
{
"key": "Cor",
"value": "Gold"
},
{
"key": "Memória",
"value": "128gb"
}
]
},
{
"objectId": "12345-3",
"externalImageURL": "https://www.apple.com/newsroom/images/product/iphone/geo/Apple-iPhone-14-Pro-iPhone-14-Pro-Max-silver-220907-geo_inline.jpg.large.jpg",
"erpId": "54321-2",
"name": "iPhone 14 Pro 128gb Silver",
"visible": true,
"price": 9499.99,
"salePrice": 9499.99,
"quantity": 0,
"sellerId": "1",
"sellerName": "Apple",
"width": 7.15,
"height": 14.8,
"variantLength": 1,
"weight": 206,
"variations": [
{
"key": "Cor",
"value": "Gold"
},
{
"key": "Memória",
"value": "128gb"
}
]
}
],
"sellOutOfStock": false,
"trackInventory": true
},
{
"blocked": false,
"objectId": "123456",
"name": "iPhone 13",
"productDescription": "Produto de teste",
"externalUrl": "https://www.apple.com/br/shop/buy-iphone/iphone-13",
"mainVariant": {
"objectId": "123456-1",
"externalImageURL": "https://store.storeimages.cdn-apple.com/4982/as-images.apple.com/is/iphone-13-blue-witb-2021_FMT_WHH?wid=560&hei=744&fmt=jpeg&qlt=90&.v=1638579080000",
"erpId": "123456-2",
"name": "iPhone 13 128gb blue",
"visible": true,
"price": 6499.99,
"salePrice": 6400.5,
"quantity": 30,
"sellerId": "1",
"sellerName": "Apple",
"width": 7.15,
"height": 14.8,
"variantLength": 1,
"weight": 206,
"variations": [
{
"key": "Cor",
"value": "Purple"
},
{
"key": "Memória",
"value": "128gb"
}
]
},
"variants": [
{
"objectId": "123456-1",
"externalImageURL": "https://store.storeimages.cdn-apple.com/4982/as-images.apple.com/is/iphone-13-blue-witb-2021_FMT_WHH?wid=560&hei=744&fmt=jpeg&qlt=90&.v=1638579080000",
"erpId": "123456-2",
"name": "iPhone 13 128gb blue",
"visible": true,
"price": 6499.99,
"salePrice": 6400.5,
"quantity": 30,
"sellerId": "1",
"sellerName": "Apple",
"width": 7.15,
"height": 14.8,
"variantLength": 1,
"weight": 206,
"variations": [
{
"key": "Cor",
"value": "Blue"
},
{
"key": "Memória",
"value": "128gb"
}
]
}
],
"sellOutOfStock": false,
"trackInventory": true
}
]
If you want to use omnichat's collections functionality, you need to implement the search endpoint by id (more details in "How to implement the "SearchProduct by Id" API").
Updated 10 months ago