Skip to content
Syncore

Αυθεντικοποίηση & όρια

Bearer token

Κάθε αίτημα στο https://app.syncore.gr/api/v1 χρειάζεται header:

Authorization: Bearer <TOKEN>

Το token είναι personal access token του χρήστη που το δημιούργησε (Προφίλ → API tokens). Δουλεύει μόνο όταν:

  • ο χρήστης ανήκει σε επιχείρηση (διαχειριστής ή χρήστης καταστήματος) και ο λογαριασμός του είναι ενεργός,
  • η επιχείρηση έχει ενεργή συνδρομή (ή συνδρομή σε καθυστέρηση πληρωμής),
  • το token δεν έχει λήξει ή ανακληθεί.

Αλλιώς η απάντηση είναι 401, 402 ή 403 — δες Σφάλματα. Κάθε κλήση καταγράφεται (μέθοδος, διαδρομή, κωδικός, χρόνος).

Δικαιώματα (abilities)

Κάθε token έχει μία ή περισσότερες abilities. Ένα endpoint χωρίς την ability του token απαντά 403.

Ability Τι επιτρέπει
products:read Λίστα και λεπτομέρειες προϊόντων
products:write Ενεργοποίηση / απενεργοποίηση προϊόντων
prices:read Τελικές τιμές, κανόνες τιμών
prices:write Χειροκίνητη τιμή, δημιουργία / αλλαγή / διαγραφή κανόνων τιμών
inventory:read Δικό σου απόθεμα
inventory:write Ορισμός αποθέματος (ένα SKU ή μαζικά)
orders:read Λίστα και λεπτομέρειες παραγγελιών
orders:write Νέα παραγγελία, αλλαγή κατάστασης, αποστολή
suppliers:read Οι προμηθευτές σου
channels:read Κανάλια πώλησης
feeds:read Διευθύνσεις feeds
invoices:read Παραστατικά Oxygen
webhooks:manage Διαχείριση webhook endpoints

Το PATCH /products/{id} με manual_price χρειάζεται και prices:write.

Τα tokens του MCP έχουν ξεχωριστές abilities (mcp, mcp:write) και δεν δουλεύουν στο REST API — δες MCP.

Όρια αιτημάτων (rate limits)

Το όριο μετριέται ανά λεπτό, ανά επιχείρηση (όλα τα tokens μαζί) και εξαρτάται από το πλάνο:

Πλάνο Αιτήματα / λεπτό
Marketplace only 60
E-shop sync 300
Full ecosystem 1000
Χωρίς πλάνο 60

Επιπλέον, κάθε token μπορεί να έχει δικό του χαμηλότερο όριο (το ορίζεις στο Προφίλ κατά τη δημιουργία ή αργότερα). Τότε ισχύουν και τα δύο όρια.

Κάθε απάντηση έχει headers για το πιο αυστηρό όριο:

X-RateLimit-Limit: 300
X-RateLimit-Remaining: 287

Όταν ξεπεραστεί, η απάντηση είναι 429 με Retry-After (δευτερόλεπτα):

HTTP/1.1 429 Too Many Requests
Retry-After: 42
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 0

{"message": "Πάρα πολλά αιτήματα. Δοκίμασε ξανά σε λίγο."}

Περίμενε όσο λέει το Retry-After πριν ξαναδοκιμάσεις. Για πολλές αλλαγές αποθέματος χρησιμοποίησε το μαζικό POST /inventory/bulk (έως 500 SKU ανά αίτημα).

Όρια πλάνου και API

Όριο Τιμή
Αποτελέσματα ανά σελίδα 25 προεπιλογή, έως 100
Μαζικό απόθεμα έως 500 SKU ανά αίτημα
Γραμμές παραγγελίας έως 500 ανά παραγγελία
Webhook endpoints έως 10 ανά επιχείρηση
Ενεργά προϊόντα όσα επιτρέπει το πλάνο σου

Η ενεργοποίηση προϊόντος πάνω από το όριο του πλάνου απαντά 422 με errors.enabled = ["plan_limit"].