API dokumentācija

REST API WooCommerce spraudnim, Shopify integrācijai un publisko plūsmu piekļuvei.

Pārskats

Sync2Sys API ir RESTful API, kas pieņem un atgriež JSON. Visi pieprasījumi tiek veikti caur HTTPS.

Bāzes URL

https://panel.sync2sys.com/api

Satura tips

Visiem pieprasījumiem jāiekļauj šāda galvene:

Content-Type: application/json

Pieprasījumu ierobežojums

Publiskās piekļuves punkti (piem., publicētās plūsmas) ir ierobežoti līdz 30 pieprasījumiem minūtē no vienas IP adreses. Autentificētiem punktiem ir augstāki ierobežojumi.

Autentifikācija

Vairumam API piekļuves punktu nepieciešams derīgs JWT (JSON Web Token), kas tiek nosūtīts kā Bearer žetons Authorization galvenē:

Authorization: Bearer <jusu_jwt_zetons>

JWT žetonu var iegūt caur pieslēgšanās punktu vai WooCommerce spraudņa automātisko konta izveidi.

Piezīme: Žetoni tiek izsniegti pieslēgšanās un spraudņa pieslēgšanas laikā. Glabājiet žetonu droši — tas identificē jūsu kontu un organizāciju.

WooCommerce spraudņa piekļuves punkti

Šos piekļuves punktus izmanto Sync2Sys WooCommerce spraudnis veikalu pieslēgšanai, kontu pārvaldībai un sinhronizācijas statusa pārbaudei.

POST /api/auth/register-from-plugin Publisks

Klusā konta izveide, ko iniciē WooCommerce spraudnis. Izveido Sync2Sys kontu (vai atgriež esošu) un nodrošina JWT žetonu turpmākiem API izsaukumiem.

Pieprasījuma ķermenis
{ "email": "admin@jusuveikals.com", "storeUrl": "https://jusuveikals.com", "source": "woo-plugin" }
Atbilde 200
{ "token": "eyJhbGciOiJIUzI1...", "user": { "id": "uuid", "email": "admin@jusuveikals.com" }, "isNewAccount": true }
POST /api/stores/connect Publisks

Pieslēgt WooCommerce veikalu Sync2Sys. Spraudnis nosūta WooCommerce REST API piekļuves datus, lai Sync2Sys varētu pārvaldīt produktus caur WC REST API.

Pieprasījuma ķermenis
{ "storeUrl": "https://jusuveikals.com", "consumerKey": "ck_xxxxxxxxxxxxxxxxxxxxxxxx", "consumerSecret": "cs_xxxxxxxxxxxxxxxxxxxxxxxx", "email": "admin@jusuveikals.com", "platform": "woocommerce", "pluginVersion": "1.1.0" }
Atbilde 200 / 201
{ "success": true, "token": "eyJhbGciOiJIUzI1...", "channelId": "uuid", "message": "Store connected successfully" }
Svarīgi: consumerKey un consumerSecret ir WooCommerce REST API atslēgas, kas ģenerētas caur WooCommerce → Iestatījumi → Papildu → REST API. Tām nepieciešama lasīšanas/rakstīšanas piekļuve.
POST /api/stores/disconnect 🔒 JWT

Atslēgt WooCommerce veikalu no Sync2Sys. Dzēš saglabātos API piekļuves datus un deaktivizē tirdzniecības kanālu.

Galvenes
Authorization: Bearer <jusu_jwt_zetons>
Atbilde 200
{ "success": true, "message": "Store disconnected" }
GET /api/auth/account-status 🔒 JWT

Pārbaudīt pašreizējo konta statusu. WooCommerce spraudnis to izmanto, lai verificētu pieslēguma aktīvumu un rādītu plāna informāciju.

Galvenes
Authorization: Bearer <jusu_jwt_zetons>
Atbilde 200
{ "connected": true, "email": "admin@jusuveikals.com", "plan": "starter", "organizationName": "Mans veikals" }
GET /api/sync/status 🔒 JWT

Iegūt pašreizējo sinhronizācijas statusu pieslēgtajam veikalam. Rāda piegādātāju, plūsmu skaitu, sinhronizēto produktu daudzumu un pēdējās darbības laiku.

Galvenes
Authorization: Bearer <jusu_jwt_zetons>
Atbilde 200
{ "suppliers": 3, "feeds": 5, "products_synced": 1247, "last_sync": "2024-03-15T14:30:00Z", "last_activity": "2024-03-15T15:00:00Z" }

Shopify OAuth

Shopify veikali pieslēdzas Sync2Sys caur OAuth 2.0. Process tiek iniciēts no Sync2Sys paneļa.

POST /api/shopify/oauth/init 🔒 JWT

Sākt Shopify OAuth autorizācijas secību. Atgriež URL novirzīšanai uz Shopify piekrišanas lapu.

Pieprasījuma ķermenis
{ "shopDomain": "mansveikals.myshopify.com", "channelId": "uuid" }
Atbilde 200
{ "authUrl": "https://mansveikals.myshopify.com/admin/oauth/authorize?..." }
GET /api/shopify/oauth/callback Publisks

Shopify novirza lietotāju uz šo URL pēc autorizācijas. Šis punkts apmaina autorizācijas kodu pret piekļuves žetonu. Jūs to tieši neizsaucat — Shopify apstrādā novirzīšanu.

Vaicājuma parametri
code — Autorizācijas kods no Shopify shop — Veikala domēns state — Stāvokļa parametrs CSRF validācijai hmac — HMAC paraksts verifikācijai
GET /api/shopify/oauth/status 🔒 JWT

Pārbaudīt, vai Shopify OAuth ir konfigurēts serverī.

Atbilde 200
{ "configured": true }

Publiskās plūsmas

Publicētās eksporta plūsmas ir pieejamas caur publisku URL bez autentifikācijas. Šīs plūsmas tiek izmantotas trešo pušu platformās kā Google Shopping, Facebook Ads un cenu salīdzināšanas vietnēs.

GET /api/public/feeds/:slug Publisks

Iegūt publicētu plūsmu pēc tās slug. Atgriež XML, CSV vai JSON atkarībā no plūsmas konfigurētā formāta.

URL parametri
:slug — Plūsmas slug (piem., "google-shopping-feed")
Atbildes galvenes
Content-Type: application/xml; charset=utf-8 Cache-Control: public, max-age=300 X-Feed-Products: 1247 X-Feed-Generated: 2024-03-15T14:30:00Z
Ierobežojums: 30 pieprasījumi 60 sekundēs no vienas IP adreses. Atbildes tiek kešotas 5 minūtes.
Kļūdas
404 — Plūsma nav atrasta vai nav publicēta 429 — Pieprasījumu ierobežojums pārsniegts

Kļūdu apstrāde

API izmanto standarta HTTP statusa kodus pieprasījuma panākumu vai neveiksmes norādīšanai.

Statusa kodi

  • 200 — Labi, pieprasījums veiksmīgs
  • 201 — Izveidots, resurss veiksmīgi izveidots
  • 400 — Slikts pieprasījums, nederīgi vai trūkstoši parametri
  • 401 — Neautorizēts, trūkst vai nav derīgs JWT žetons
  • 403 — Aizliegts, nepietiekamas tiesības vai plāna ierobežojumi pārsniegti
  • 404 — Nav atrasts, resurss neeksistē
  • 429 — Pārāk daudz pieprasījumu, ierobežojums pārsniegts
  • 500 — Iekšēja servera kļūda

Kļūdas atbildes formāts

{ "statusCode": 400, "message": "Kļūdas apraksts", "error": "Bad Request" }