☰ Μενού · Μενού
Μενού
Το QR μενού της επιχείρησης: κατηγορίες, πιάτα, τροποποιητές, τιμές και λίστα εξαντλημένων.
Τα πιάτα, οι κατηγορίες και οι τιμές τροποποιητών μπορούν να έχουν το δικό σας external_id (το SKU σας), μοναδικό ανά επιχείρηση. Όπου μια διαδρομή περιέχει {item} ή {value}, μπορείτε να χρησιμοποιήσετε το δικό μας id ή το δικό σας external_id. Τα ονόματα και οι περιγραφές είναι αντιστοιχίσεις ανά γλώσσα ({"ro": "Zeamă", "en": "Chicken soup"})· προσθέστε ?lang=en σε οποιοδήποτε GET για απλά strings σε μία γλώσσα, με εναλλακτική την κύρια γλώσσα του μενού.
/v1/menuΟλόκληρο το μενού ως δέντρο: κατηγορίες, τα πιάτα τους, οι ομάδες τροποποιητών κάθε πιάτου και οι τιμές τους. Οι κρυφές κατηγορίες και τα κρυφά πιάτα παραλείπονται, εκτός αν προσθέσετε ?include_hidden=true.
curl "https://loyaltyfy.io/api/v1/menu?lang=en" \
-H "Authorization: Bearer sk_test_..."{
"object": "menu",
"url": "https://loyaltyfy.io/m/your-venue",
"published": true,
"currency": "MDL",
"primary_language": "ro",
"languages": ["ru", "en"],
"categories": [
{
"object": "menu_category",
"id": "0b8e4c1d-6f0e-4b8a-9a55-3c1d2e7f9a10",
"external_id": "CAT-COFFEE",
"parent_id": null,
"name": "Coffee",
"emoji": null,
"visible": true,
"items": [
{
"object": "menu_item",
"id": "a48343bd-9f6e-424a-b003-fe790617f4d6",
"external_id": "1001",
"category_id": "0b8e4c1d-6f0e-4b8a-9a55-3c1d2e7f9a10",
"name": "Flat white",
"description": "Double ristretto, steamed milk",
"price": 4500,
"old_price": null,
"currency": "MDL",
"available": true,
"visible": true,
"photo_url": "https://...",
"options": [
{
"object": "option_group",
"id": "5c2f...",
"kind": "addon",
"name": "Milk",
"min_select": 0,
"max_select": 1,
"values": [
{
"object": "option_value",
"id": "9e41...",
"external_id": "MOD-OAT",
"name": "Oat milk",
"price_delta": 800,
"available": true,
"default": false
}
]
}
],
"updated_at": "2026-10-06T09:12:44.120+00:00"
}
]
}
]
}/v1/menu/itemsΕπίπεδη λίστα πιάτων χωρίς τροποποιητές, έως 1000, με τη σειρά του μενού. Φίλτρα: ?external_id= για ένα SKU, ?available=false για την τρέχουσα λίστα εξαντλημένων, ?lang=.
/v1/menu/items/{item}Ένα πιάτο με τους τροποποιητές του.
/v1/menu/itemsΠροσθέτει ένα πιάτο. Με external_id η κλήση επαναλαμβάνεται με ασφάλεια: αν υπάρχει ήδη πιάτο με αυτό το external_id, επιστρέφεται με 200.
- categorystring, υποχρεωτικό
- Id κατηγορίας ή
external_idκατηγορίας. Μια άγνωστη τιμή δημιουργεί κατηγορία με αυτό το όνομα. - nameobject, υποχρεωτικό
- Όνομα ανά γλώσσα, τουλάχιστον μία.
- priceinteger, υποχρεωτικό
- Στη μικρότερη υποδιαίρεση.
- external_idstring
- Το SKU σας.
- descriptionobject
- Ανά γλώσσα.
- available, visibleboolean
- Προεπιλογή true.
curl https://loyaltyfy.io/api/v1/menu/items \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{
"category": "CAT-SOUPS",
"external_id": "2040",
"name": { "ro": "Zeamă", "ru": "Зама", "en": "Chicken soup" },
"price": 6500
}'/v1/menu/items/{item}Αλλάζει τα price, old_price (εμφανίζεται διαγραμμένη), available, visible, external_id, name ή description. Στέλνει menu.updated.
# the kitchen ran out: hide the "+" button in the menu
curl -X PATCH https://loyaltyfy.io/api/v1/menu/items/2040 \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{ "available": false }'/v1/menu/items/bulkΈως 500 αλλαγές σε μία κλήση. Κάθε εγγραφή αναφέρεται σε ένα πιάτο με item (id ή external_id) και ορίζει οποιοδήποτε από τα price, old_price, available, visible. Όσες εγγραφές δεν αλλάζουν τίποτα επιστρέφονται στο unchanged, οι άγνωστες στο not_found. Ένα συμβάν menu.updated για όλη την παρτίδα.
curl https://loyaltyfy.io/api/v1/menu/items/bulk \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{
"items": [
{ "item": "1001", "price": 4800 },
{ "item": "2040", "available": false },
{ "item": "3017", "price": 9900, "old_price": 12000 }
]
}'{
"object": "menu_bulk_result",
"updated": ["1001", "2040"],
"unchanged": [],
"not_found": ["3017"],
"failed": []
}/v1/menu/option_values/{value}Αλλάζει μια τιμή τροποποιητή: available, price_delta, external_id.
curl -X PATCH https://loyaltyfy.io/api/v1/menu/option_values/MOD-OAT \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{ "available": false }'