☰ Menu · Catalogue
API reference
Catalogue
Your products and their categories, for category cashback rules and product reports.
POST
/v1/catalog/products/bulkScope: catalog:write
Creates or updates up to 1000 products by sku. A new category code creates a category with default rules (earns, payable with cashback). category_name renames the category; its money rules are set only by the owner.
- products[].skustring, required
- Your product code, unique per venue.
- products[].namestring
- Product name.
- products[].categorystring
- Your category code.
- products[].category_namestring
- Category name to show the owner.
- products[].priceinteger
- Price, minor units.
- products[].activeboolean
- Default true.
curl
curl https://loyaltyfy.io/api/v1/catalog/products/bulk \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{
"products": [
{ "sku": "4840001", "name": "Marlboro Gold", "category": "TOB", "category_name": "Tobacco", "price": 6500 },
{ "sku": "1001", "name": "Latte", "category": "COF", "category_name": "Coffee", "price": 4500 },
{ "sku": "2040", "name": "Zeama", "category": "KIT", "category_name": "Kitchen", "price": 6500 }
]
}'
# { "object": "catalog_sync", "upserted": 3 }GET
/v1/catalog/productsScope: catalog:read or catalog:write
Products sorted by sku. Filters: ?category=, ?sku=. Paginated; starting_after takes a sku.
GET
/v1/catalog/categoriesScope: catalog:read or catalog:write
Every category with the owner's rules: earn, redeem, earn_percent (null means the guest's level).
Response · 200
{
"object": "list",
"url": "/v1/catalog/categories",
"has_more": false,
"data": [
{ "object": "catalog_category", "code": "COF", "name": "Coffee", "earn": true, "redeem": true, "earn_percent": 10, ... },
{ "object": "catalog_category", "code": "TOB", "name": "Tobacco", "earn": false, "redeem": false, "earn_percent": null, ... }
]
}