Skip to content
Syncore

Τιμές & κανόνες τιμών

Τελικές τιμές

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.