Τιμές & κανόνες τιμών
Τελικές τιμές
GET /prices (ability prices:read) δίνει την τελική τιμή πώλησης κάθε προϊόντος και από πού προκύπτει.
curl -s "https://app.syncore.gr/api/v1/prices?sku=ABC-1001,ABC-1002" -H "Authorization: Bearer $SYNCORE_TOKEN"
{
"data": [
{
"product_id": 1201,
"sku": "ABC-1001",
"base_price": 12.4,
"final_price": 19.9,
"manual_price": false,
"price_rule_id": 3,
"updated_at": "2026-10-29T10:00:00+02:00"
}
],
"meta": { "current_page": 1, "per_page": 25, "total": 1, "last_page": 1 },
"links": { "next": null, "prev": null }
}
Φίλτρα: sku (λίστα με κόμμα), supplier_id, page, per_page. Το price_rule_id είναι ο κανόνας που εφαρμόστηκε· null όταν η τιμή είναι χειροκίνητη ή δεν ταιριάζει κανόνας.
Για χειροκίνητη τιμή ενός προϊόντος χρησιμοποίησε PATCH /products/{id} με manual_price — δες Προϊόντα.
Κανόνες τιμών
| Endpoint | Ability |
|---|---|
GET /price-rules, GET /price-rules/{id} |
prices:read |
POST /price-rules, PATCH /price-rules/{id}, DELETE /price-rules/{id} |
prices:write |
Πεδία κανόνα:
| Πεδίο | Τιμές |
|---|---|
name, description |
κείμενο |
rule_type |
1 ποσοστό, 2 σταθερό ποσό, 3 σταθερή τιμή |
value |
αριθμός ≥ 0 |
price_rule_scope |
1 όλα, 2 προμηθευτής, 3 κατηγορία, 4 προϊόν |
global_supplier_id / global_category_id / global_product_id |
ανάλογα με το scope |
rule_conditions, price_comparison, price_threshold |
προαιρετική συνθήκη: 1 μικρότερη από, 2 μεγαλύτερη από το όριο |
is_enabled |
true / false |
Παράδειγμα: +25% σε όλα τα προϊόντα ενός προμηθευτή.
curl -s -X POST "https://app.syncore.gr/api/v1/price-rules" \
-H "Authorization: Bearer $SYNCORE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "Προμηθευτής Α +25%", "rule_type": 1, "value": 25, "price_rule_scope": 2, "global_supplier_id": 7, "is_enabled": true}'
Απάντηση 201 με τον κανόνα (id, τα παραπάνω πεδία, priority, updated_at). Το PATCH δέχεται μόνο όσα πεδία αλλάζεις· το DELETE απαντά 204.