API Reference
REST API for WooCommerce plugin, Shopify integration, and public feed access.
Overview
The Sync2Sys API is a RESTful API that accepts and returns JSON. All requests are made over HTTPS.
Base URL
Content Type
All requests should include the following header:
Rate Limiting
Public endpoints (e.g., published feeds) are rate-limited to 30 requests per minute per IP address. Authenticated endpoints have higher limits.
Authentication
Most API endpoints require a valid JWT (JSON Web Token) passed as a Bearer token in the Authorization header:
You can obtain a JWT token via the login endpoint or through the WooCommerce plugin's automatic account creation flow.
WooCommerce Plugin Endpoints
These endpoints are used by the Sync2Sys WooCommerce plugin to connect stores, manage accounts, and check sync status.
Silent account registration initiated by the WooCommerce plugin. Creates a Sync2Sys account (or returns existing) and provides a JWT token for subsequent API calls.
Connect a WooCommerce store to Sync2Sys. The plugin sends WooCommerce REST API credentials so Sync2Sys Cloud can manage products through the WC REST API.
Disconnect a WooCommerce store from Sync2Sys. Removes the stored API credentials and deactivates the sales channel.
Check the current account status. Used by the WooCommerce plugin to verify the connection is active and show plan information.
Get the current synchronization status for the connected store. Shows supplier count, feed count, products synced, and last activity timestamp.
Shopify OAuth
Shopify stores connect to Sync2Sys via OAuth 2.0. The flow is initiated from the Sync2Sys panel.
Start the Shopify OAuth authorization flow. Returns a URL to redirect the user to Shopify's consent screen.
Shopify redirects the user to this URL after authorization. This endpoint exchanges the authorization code for an access token and creates/updates the sales channel. You do not call this directly — Shopify handles the redirect.
On success, redirects to /sales-channels/:channelId?oauth=success. On error, redirects with ?oauth=error&message=....
Check if Shopify OAuth is configured on the server.
Public Feeds
Published export feeds are accessible via a public URL without authentication. These feeds are used by third-party platforms like Google Shopping, Facebook Ads, and price comparison sites.
Retrieve a published feed by its slug. Returns XML, CSV, or JSON depending on the feed's configured output format.
The feed content in the configured format (XML, CSV, or JSON).
Error Handling
The API uses standard HTTP status codes to indicate the success or failure of a request.
Status Codes
- 200 — OK, request succeeded
- 201 — Created, resource successfully created
- 400 — Bad Request, invalid or missing parameters
- 401 — Unauthorized, missing or invalid JWT token
- 403 — Forbidden, insufficient permissions or plan limits reached
- 404 — Not Found, resource doesn't exist
- 429 — Too Many Requests, rate limit exceeded
- 500 — Internal Server Error
Error Response Format
Some endpoints may return additional fields in the error response (e.g., error: "PIM_PRODUCT_LIMIT") for more specific error handling.