API καταλόγου2026-11Προεπισκόπηση

Προϊόντα

Μια καταχώριση που αποθηκεύσατε από μια εισαγωγή, με τον τίτλο και τις τιμές σας και τα καταστήματα όπου πωλείται.
  • Στο Shopify προωθούνται τα προϊόντα. Οι παραγγελίες από τις πλατφόρμες όπου πουλά το κατάστημά σας στο Shopify φτάνουν επίσης σε εμάς μέσω Shopify: Σύνδεση καταστήματος.
  • Ένα κατάστημα WooCommerce ή Wix κρατά τα δικά του προϊόντα και στέλνει τις παραγγελίες του με Δημιουργία παραγγελίας.

Το αντικείμενο Product

idstring
Ξεκινά με prd_.
titlestring
Ο τίτλος σας. Του πωλητή μένει στην εισαγωγή.
statusstring
active ή paused (από εσάς, ή από κανόνα συγχρονισμού όταν το κόστος ανέβηκε πολύ ή ο πωλητής εξάντλησε το απόθεμα).
sourceobject
Πλατφόρμα, σύνδεσμος καταχώρισης και πωλητής στην Κίνα.
options[]array
Ονόματα επιλογών, έως τρία, όπως τα δείχνει το κατάστημά σας.
price_range, cost_rangeobject
Οι τιμές σας και του πωλητή, σε όλες τις παραλλαγές.
channels[]array
Πού είναι καταχωρισμένο: το κατάστημα, το δικό του id προϊόντος και η κατάστασή του εκεί.
syncobject
Ο κανόνας συγχρονισμού που ακολουθεί και πότε διαβάσαμε τελευταία την καταχώριση.
importstring
Η εισαγωγή από την οποία αποθηκεύτηκε.
product
{
  "id": "prd_8f2k",
  "title": "Heavyweight Washed Hoodie",
  "status": "active",
  "source": {
    "marketplace": "weidian",
    "url": "https://weidian.com/item.html?itemID=7750970856",
    "seller": "Ruoyi Studio"
  },
  "options": ["Color", "Size"],
  "variants_count": 6,
  "price_range": {
    "min": { "amount": "49.99", "currency": "USD" },
    "max": { "amount": "54.99", "currency": "USD" }
  },
  "cost_range": {
    "min": { "amount": "38.00", "currency": "CNY" },
    "max": { "amount": "42.00", "currency": "CNY" }
  },
  "channels": [
    {
      "channel": "shopify",
      "shop": "acme-goods.myshopify.com",
      "external_id": "gid://shopify/Product/8812042",
      "status": "draft",
      "pushed_at": "2026-11-04T09:20:03Z"
    }
  ],
  "sync": {
    "rule": "rule_default",
    "last_checked_at": "2026-11-04T09:12:40Z"
  },
  "import": "imp_2c9d",
  "created_at": "2026-11-04T09:20:01Z",
  "updated_at": "2026-11-04T09:20:03Z"
}

Λίστα προϊόντων

GET/v1/products

Τα προϊόντα σας, τα νεότερα πρώτα.

Scopeproducts:read

Παράμετροι ερωτήματος

statusstring
Προαιρετικό. active ή paused.
channelstring
Προαιρετικό. shopify, για όσα είναι καταχωρισμένα εκεί.
changed_sincestring
Προαιρετικό. Μια χρονική στιγμή: μόνο προϊόντα των οποίων το κόστος ή το απόθεμα άλλαξε από τότε.
limit, cursor
Pagination
curl "https://www.ninjabuy.com/api/v1/products?status=active&limit=2" \
  -H "Authorization: Bearer $NINJABUY_API_KEY" \
  -H "NinjaBuy-Version: 2026-11"
Response 200
HTTP/2 200 OK

{
  "data": [
    {
      "id": "prd_8f2k",
      "title": "Heavyweight Washed Hoodie",
      "status": "active",
      "variants_count": 6
    },
    {
      "id": "prd_1x0a",
      "title": "Canvas Tote",
      "status": "active",
      "variants_count": 3
    }
  ],
  "has_more": true,
  "cursor": "c_1x0a"
}

Ανάκτηση προϊόντος

GET/v1/products/{id}

Ένα προϊόν με την πηγή, τα κανάλια και την κατάσταση συγχρονισμού του. Οι παραλλαγές του έχουν δική τους διαδρομή.

Scopeproducts:read

Παράμετροι διαδρομής

idstringυποχρεωτικό
Το id του προϊόντος.

Σφάλματα

ΚατάστασηΤύποςΠότε
404not-foundΔεν υπάρχει τέτοιο προϊόν σε αυτόν τον λογαριασμό.
curl "https://www.ninjabuy.com/api/v1/products/prd_8f2k" \
  -H "Authorization: Bearer $NINJABUY_API_KEY" \
  -H "NinjaBuy-Version: 2026-11"
Response 200
HTTP/2 200 OK

{
  "id": "prd_8f2k",
  "title": "Heavyweight Washed Hoodie",
  "status": "active",
  "source": {
    "marketplace": "weidian",
    "url": "https://weidian.com/item.html?itemID=7750970856",
    "seller": "Ruoyi Studio"
  },
  "options": ["Color", "Size"],
  "variants_count": 6,
  "price_range": {
    "min": { "amount": "49.99", "currency": "USD" },
    "max": { "amount": "54.99", "currency": "USD" }
  },
  "cost_range": {
    "min": { "amount": "38.00", "currency": "CNY" },
    "max": { "amount": "42.00", "currency": "CNY" }
  },
  "channels": [
    {
      "channel": "shopify",
      "shop": "acme-goods.myshopify.com",
      "external_id": "gid://shopify/Product/8812042",
      "status": "draft",
      "pushed_at": "2026-11-04T09:20:03Z"
    }
  ],
  "sync": {
    "rule": "rule_default",
    "last_checked_at": "2026-11-04T09:12:40Z"
  },
  "import": "imp_2c9d",
  "created_at": "2026-11-04T09:20:01Z",
  "updated_at": "2026-11-04T09:20:03Z"
}

Ενημέρωση προϊόντος

PATCH/v1/products/{id}

Αλλάξτε τον τίτλο ή την περιγραφή, ή κάντε παύση και συνέχιση. Στείλτε μόνο ό,τι αλλάζει. Οι τιμές είναι ανά παραλλαγή (Παραλλαγές)· ένα προωθημένο προϊόν μεταφέρει την αλλαγή στο κατάστημά σας στην επόμενη προώθησή του.

Scopeproducts:write

Παράμετροι διαδρομής

idstringυποχρεωτικό
Το id του προϊόντος.

Σώμα

titlestring
Προαιρετικό.
descriptionstring
Προαιρετικό. HTML που δείχνει το κατάστημά σας.
statusstring
Προαιρετικό. active ή paused. Το paused ορίζει απόθεμα 0 στα κανάλια σας.
sync_rulestring
Προαιρετικό. Ένα id κανόνα συγχρονισμού· ο προεπιλεγμένος κανόνας όταν είναι null.

Σφάλματα

ΚατάστασηΤύποςΠότε
404not-foundΔεν υπάρχει τέτοιο προϊόν σε αυτόν τον λογαριασμό.
curl -X PATCH "https://www.ninjabuy.com/api/v1/products/prd_8f2k" \
  -H "Authorization: Bearer $NINJABUY_API_KEY" \
  -H "NinjaBuy-Version: 2026-11" \
  -H "Content-Type: application/json" \
  -d '{ "status": "paused" }'
Response 200
HTTP/2 200 OK

{
  "id": "prd_8f2k",
  "title": "Heavyweight Washed Hoodie",
  "status": "paused",
  "source": {
    "marketplace": "weidian",
    "url": "https://weidian.com/item.html?itemID=7750970856",
    "seller": "Ruoyi Studio"
  },
  "options": ["Color", "Size"],
  "variants_count": 6,
  "price_range": {
    "min": { "amount": "49.99", "currency": "USD" },
    "max": { "amount": "54.99", "currency": "USD" }
  },
  "cost_range": {
    "min": { "amount": "38.00", "currency": "CNY" },
    "max": { "amount": "42.00", "currency": "CNY" }
  },
  "channels": [
    {
      "channel": "shopify",
      "shop": "acme-goods.myshopify.com",
      "external_id": "gid://shopify/Product/8812042",
      "status": "draft",
      "pushed_at": "2026-11-04T09:20:03Z"
    }
  ],
  "sync": {
    "rule": "rule_default",
    "last_checked_at": "2026-11-04T09:12:40Z"
  },
  "import": "imp_2c9d",
  "created_at": "2026-11-04T09:20:01Z",
  "updated_at": "2026-11-04T09:20:03Z"
}

Προώθηση στο Shopify

POST/v1/products/{id}/push

Καταχωρίζει το προϊόν στο συνδεδεμένο σας κατάστημα Shopify: ένα προϊόν Shopify, μία παραλλαγή ανά SKU που κρατήσατε, οι φωτογραφίες του, κάθε παραλλαγή με απόθεμα στην τοποθεσία Fulfilled by NinjaBuy, ώστε οι παραγγελίες του να έρχονται σε εμάς.

  • Η πρώτη προώθηση το δημιουργεί ως πρόχειρο: ο τίτλος και οι φωτογραφίες ήρθαν από κινεζική πλατφόρμα, οπότε διαβάστε τα πριν τους αγοραστές σας και μετά δημοσιεύστε στο Shopify.
  • Μια νέα προώθηση ενημερώνει το ίδιο προϊόν Shopify: τιμές και απόθεμα ορίζονται ξανά, οι παραλλαγές που αφαιρέσατε διαγράφονται. Κατάσταση, τίτλος, περιγραφή και φωτογραφίες μένουν όπως τα αφήσατε στο Shopify, εκτός αν στείλετε νέα.
  • Το απόθεμα είναι ο αριθμός του πωλητή, με ανώτατο όριο 100: αγοράζουμε κατά παραγγελία, οπότε είναι το πόσες παραγγελίες δέχεται το Shopify πριν δείξει εξαντλημένο.
  • Το κατάστημά σας πρέπει να πουλά σε US$, αφού σε αυτό είναι οι τιμές. Οι εξαντλημένες παραλλαγές παραλείπονται και αναφέρονται στο skipped[].

Scopeproducts:write

Παράμετροι διαδρομής

idstringυποχρεωτικό
Το id του προϊόντος.

Σώμα

shopstring
Ποιο συνδεδεμένο κατάστημα, π.χ. acme-goods.myshopify.com. Χρειάζεται μόνο όταν έχετε συνδέσει πολλά.
title, descriptionstring
Προαιρετικό. Στέλνονται στο Shopify μόνο όταν τα στέλνετε.

Σφάλματα

ΚατάστασηΤύποςΠότε
409no-linked-storeΚανένα κατάστημα Shopify δεν είναι συνδεδεμένο σε αυτόν τον λογαριασμό, ή είναι πολλά και λείπει το shop.
409store-not-readyΗ πρόσβαση του καταστήματος έληξε ή η τοποθεσία μας δεν έχει ρυθμιστεί ακόμη: ανοίξτε μία φορά την εφαρμογή NinjaBuy στο Shopify.
422store-currencyΤο κατάστημα δεν πουλά σε US$.
422too-many-optionsΗ καταχώριση έχει περισσότερες από τρεις επιλογές· το Shopify δέχεται τρεις.
422unprocessableΚάθε παραλλαγή έχει εξαντληθεί ή το Shopify απέρριψε ένα πεδίο· το detail μεταφέρει τα λόγια του.
curl -X POST "https://www.ninjabuy.com/api/v1/products/prd_8f2k/push" \
  -H "Authorization: Bearer $NINJABUY_API_KEY" \
  -H "NinjaBuy-Version: 2026-11" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{ "shop": "acme-goods.myshopify.com" }'
Response 200
HTTP/2 200 OK

{
  "channel": "shopify",
  "shop": "acme-goods.myshopify.com",
  "external_id": "gid://shopify/Product/8812042",
  "status": "draft",
  "created": true,
  "variants": 5,
  "skipped": [{ "sku": "5187209555", "reason": "sold_out" }],
  "admin_url": "https://admin.shopify.com/store/acme-goods/products/8812042"
}

Διαγραφή προϊόντος

DELETE/v1/products/{id}

Σταματά τον συγχρονισμό του και ορίζει το απόθεμά του σε 0 στα κανάλια σας· το προϊόν στο Shopify μένει για να το αρχειοθετήσετε. Οι παραγγελίες που έχουν ήδη γίνει αποστέλλονται κανονικά.

Scopeproducts:write

Παράμετροι διαδρομής

idstringυποχρεωτικό
Το id του προϊόντος.

Σφάλματα

ΚατάστασηΤύποςΠότε
404not-foundΔεν υπάρχει τέτοιο προϊόν σε αυτόν τον λογαριασμό.
curl -X DELETE "https://www.ninjabuy.com/api/v1/products/prd_8f2k" \
  -H "Authorization: Bearer $NINJABUY_API_KEY" \
  -H "NinjaBuy-Version: 2026-11"
Response 200
HTTP/2 200 OK

{ "id": "prd_8f2k", "deleted": true }