☰ Μενού · Εστιατόρια και καφέ
Εστιατόρια και καφέ
Τρία πράγματα που μπορεί να κάνει το POS μιας επιχείρησης με το Loyaltyfy: να κρατά συγχρονισμένο το QR μενού, να δέχεται παραγγελίες από τα τραπέζια και να τρέχει το πρόγραμμα επιβράβευσης στο ταμείο.
Συγχρονισμός μενού
Συνήθως το POS είναι η πηγή αλήθειας για τις τιμές και για ό,τι έχει εξαντληθεί. Δώστε σε κάθε πιάτο το SKU σας στο external_id και αναφερθείτε στα πιάτα με αυτό το SKU· δεν χρειάζεται ποτέ να αποθηκεύετε τα δικά μας id.
- 1Διαβάστε τι υπάρχει
Το
GET /v1/menuεπιστρέφει κατηγορίες, πιάτα και τροποποιητές σε όλες τις γλώσσες. Προσθέστε?lang=enγια απλά strings σε μία γλώσσα. - 2Δημιουργήστε ό,τι λείπει
POST /v1/menu/itemsμεcategory(id κατηγορίας ή τον δικό σας κωδικό κατηγορίας· ένας άγνωστος κωδικός δημιουργεί την κατηγορία),external_id,nameσε μία ή περισσότερες γλώσσες καιprice. Αν στείλετε ξανά το ίδιοexternal_id, επιστρέφεται το υπάρχον πιάτο. - 3Στείλτε τις αλλαγές
Σε κάθε αλλαγή, ή κάθε λίγα λεπτά, στείλτε
POST /v1/menu/items/bulkμε τιμές και διαθεσιμότητα. Έως 500 πιάτα ανά κλήση· τα άγνωστα SKU επιστρέφονται στοnot_found.
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": []
}Λίστα εξαντλημένων: με available: false το πιάτο μένει ορατό με την ένδειξη «εξαντλήθηκε» και χωρίς κουμπί παραγγελίας· με visible: false κρύβεται. Οι τροποποιητές έχουν δικό τους διακόπτη, οπότε μπορείτε να απενεργοποιήσετε το γάλα βρώμης χωρίς να απενεργοποιήσετε τον καφέ:
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 }'Παραγγελίες από το τραπέζι
Όταν οι παραγγελίες είναι ενεργοποιημένες (Μενού → Παραγγελίες στον πίνακα ελέγχου), οι πελάτες που σαρώνουν το QR του τραπεζιού μπορούν να στείλουν το καλάθι τους στην επιχείρηση. Κάθε τραπέζι έχει δικό του σύνδεσμο με τον αριθμό του τραπεζιού:
https://loyaltyfy.io/m/your-venue?table=12Τιμολογούμε κάθε παραγγελία από τη δική μας πλευρά με βάση το τρέχον μενού, οπότε το POS μπορεί να εμπιστεύεται τα ποσά. Παραγγελίες για πιάτο ή τροποποιητή που είναι στη λίστα εξαντλημένων απορρίπτονται πριν φτάσουν σε εσάς.
- 1Λάβετε νέες παραγγελίες
Εγγραφείτε στο webhook
order.createdή καλείτεGET /v1/orders?status=newκάθε 10 με 15 δευτερόλεπτα. - 2Αποδεχτείτε
Δημιουργήστε την παραγγελία στο POS και μετά καλέστε
POST /v1/orders/{id}/acceptμε το δικό σας id παραγγελίας ωςexternal_id. Χρησιμοποιήστε τοexternal_idκάθε γραμμής για να αντιστοιχίσετε τα SKU σας. - 3Προχωρήστε την
PATCH /v1/orders/{id}μεpreparing,ready,served,completed. ΉPOST /v1/orders/{id}/rejectμε αιτιολογία, αν η κουζίνα δεν μπορεί να την αναλάβει.
curl "https://loyaltyfy.io/api/v1/orders?status=new" \
-H "Authorization: Bearer sk_test_..."{
"object": "order",
"id": "0c69a81c-0fbc-4333-b26c-789566b9bea4",
"number": 10,
"status": "new",
"table": "7",
"note": "No onions, please",
"currency": "MDL",
"subtotal": 14000,
"item_count": 2,
"items": [
{
"item_id": "a48343bd-9f6e-424a-b003-fe790617f4d6",
"external_id": "2040",
"name": "Zeamă",
"quantity": 2,
"unit_price": 7000,
"total": 14000,
"options": []
}
],
"external_id": null,
"reject_reason": null,
"guest_language": "en",
"source": "qr_menu",
"livemode": true,
"created_at": "2026-10-06T18:14:48.233+00:00",
"accepted_at": null,
"completed_at": null,
"updated_at": "2026-10-06T18:14:48.233+00:00"
}curl -X POST https://loyaltyfy.io/api/v1/orders/0c69a81c-0fbc-4333-b26c-789566b9bea4/accept \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{ "external_id": "POS-ORDER-55821" }'Οι καταστάσεις κινούνται μόνο προς τα εμπρός: new → accepted → preparing → ready → served → completed· η new μπορεί επίσης να γίνει rejected, και κάθε ανοιχτή παραγγελία μπορεί να γίνει cancelled. Μπορείτε να παραλείψετε βήματα (από accepted κατευθείαν σε completed είναι αποδεκτό). Μια μετάβαση προς τα πίσω λαμβάνει 409 invalid_status_transition. Οι επιχειρήσεις χωρίς σύνδεση POS διαχειρίζονται τις ίδιες καταστάσεις στην οθόνη Παραγγελίες, οπότε δεν πειράζει αν το POS σας μόνο αποδέχεται και ολοκληρώνει.
Πρόγραμμα επιβράβευσης στο ταμείο του καφέ
Όπως σε κάθε σύνδεση POS: βρείτε τον πελάτη όταν σαρώνεται η κάρτα και στείλτε την απόδειξη μετά την πληρωμή. Σε καφέ με κάρτα σφραγίδων («ο 6ος καφές δωρεάν»), τη σφραγίδα την κερδίζει η απόδειξη. Στείλτε line_items με τους κωδικούς σας, ώστε η επιχείρηση να βλέπει ποια προϊόντα αγοράζουν οι πελάτες.