- Template Library — 1-click connectors for major print-on-demand providers (Printify, Printful, Gelato, FlashPOD, etc.).
- Custom REST API — Connect any local printer or proprietary supplier API using JSONPath field extraction.
- Inbound Webhooks — Push fulfillment updates in real time from Make.com, Zapier, or supplier callbacks.
- Google Sheets — Sync costs from shared fulfillment spreadsheets.
Accessing Sync Hub
- Navigate to Settings → Suppliers.
- Select the Sync Hub tab (or visit
/admin/suppliers?view=sync). - Click the + Add Supplier button in the top-right corner to open the connection wizard.
1. Template Library
The Template Library includes pre-configured blueprints with authentication headers, endpoints, pagination rules, and response field extractors.Printify
Printify is a decentralized print network with 800+ products.Prerequisites
- A Printify account with active stores.
- A Printify Personal Access Token (API Key).
- Your Printify Shop ID.
Step-by-Step Setup
- Log in to Printify and go to Settings → Developer → API Tokens.
- Click Generate New Token, name it
Sellfern Sync, and grant read permissions to Orders. - Copy the generated token string.
- To find your Shop ID, check your browser URL when viewing your store dashboard (e.g.,
https://printify.com/app/store/{shopId}) or fetch your shops list via Printify API. - In Sellfern, open + Add Supplier → Template Library → Printify.
- Enter your Shop ID and paste your API Token.
- Click Save & Connect.
Printful
Printful operates owned manufacturing facilities across North America, Europe, and Asia.Prerequisites
- A Printful account with access to your store.
- A Printful API Token.
Step-by-Step Setup
- Log in to the Printful Developer Portal.
- Go to API Keys / Personal Access Tokens and create a new token with
orders_readpermissions. - In Sellfern, open + Add Supplier → Template Library → Printful.
- Enter a display name and paste your API token.
- Click Save & Connect.
Zenith Fulfillment
Zenith provides fast, direct-from-factory fulfillment with JWT-authenticated REST APIs.Step-by-Step Setup
- Obtain your Zenith API credentials or authentication response from your Zenith account manager.
- In Sellfern, open + Add Supplier → Template Library → Zenith (or select Zenith from the provider list).
- Paste either your Access Token, Refresh Token, or the full JSON authentication response:
- Sellfern parses the tokens and securely encrypts them. Zenith tokens are refreshed automatically before expiry.
Other Pre-Configured Providers
2. Custom REST API Connector
If you work with an independent print shop, overseas agent, or specialized manufacturer that offers a custom API, you can connect it without writing custom code.- In Sellfern, open + Add Supplier → Custom REST API.
- Configure Endpoint & Authentication:
- Display Name: The name shown on orders and financial reports (e.g.
Hanoi Screenprint Hub). - Endpoint URL: The full HTTP/HTTPS endpoint returning orders (e.g.
https://api.supplier.com/v1/orders). - Auth Type:
Bearer Token(Authorization: Bearer <token>)Custom Header(specify header name such asX-API-KEYorPW-Access-Token)URL Query Parameter(specify parameter such asapiKeyortoken)Basic Auth
- API Token / Secret Key: Your credentials.
- Display Name: The name shown on orders and financial reports (e.g.
- Configure Response Field Extractors (JSONPath):
- Items Array Path: Path to the list of orders (e.g.
data,orders, orresult). Leave empty if the response root is an array[...]. - Order ID Path: Field containing the customer or platform order number (e.g.
order_id,external_id, orreference). - Cost Path: Field containing the total fulfillment cost (e.g.
total_cost,price, orcosts.total). - Cost Multiplier: Set to
1for dollar values, or0.01if your supplier returns cents. - Tracking Code Path (Optional): Field containing the shipment tracking number (e.g.
tracking_codeorshipments[0].tracking_number). - Carrier Path (Optional): Field containing the carrier name (e.g.
carrierorshipments[0].carrier).
- Items Array Path: Path to the list of orders (e.g.
- Click Save Custom Connector. Sellfern tests the endpoint immediately and reports connection health.
3. Real-Time Inbound Webhooks
For suppliers that support webhook notifications, or when integrating via Zapier, Make.com, or n8n, you can create a passive webhook endpoint that receives fulfillment updates instantly.- Open + Add Supplier → Inbound Webhook.
- Enter a Display Name (e.g.
Zapier Fulfillment Webhook). - Click Create Webhook Endpoint.
- Sellfern generates:
- A dedicated Webhook URL:
https://api.sellfern.com/api/v2/supplier-connections/{id}/webhook - A unique Secret Token: e.g.
whsec_9a8b7c6d...
- A dedicated Webhook URL:
Webhook Authentication
All incoming requests must include the secret token in one of two ways:- HTTP Header (Recommended):
X-Webhook-Token: <your-token> - URL Query Parameter:
?token=<your-token>
Expected Payload Schema
Send an HTTPPOST request with Content-Type: application/json:
Field Specifications:
orderId(string, required): The order number or external store order ID (leading#is automatically stripped).cost(number, optional): Base fulfillment cost in USD.trackingCode(string, optional): Shipment tracking number. When provided, order item status updates toShipped.carrier(string, optional): Carrier name (e.g.USPS,FedEx,DHL,VNPost).
You can pass an array directly
[...] or wrap items under orders, data, or items. Sellfern automatically detects the array structure.4. Google Sheets (Supplier Tabs)
If your supplier provides daily or weekly updates in a Google Sheet:- Click Connect Google in the Google Sheets card.
- Authorize your Google account with read-only permissions to Google Drive/Sheets.
- Click Browse Drive to select sheet to select your workbook using the secure Google Picker.
- Define your supplier tabs:
- Tab Name: The exact name of the sheet tab (e.g.
Fairy Mai (3D)orOrders). - Supplier: The supplier entity this tab should be credited to.
- Advanced Column Overrides: Customize which columns contain
Order ID,Total Cost,SKU, andTracking Code.
- Tab Name: The exact name of the sheet tab (e.g.
- Click Save to activate.
Automated Background Sync
Once connections are enabled, Sellfern runs automatic background sync jobs:- Hourly Cron: Every hour, the background worker polls all active API connections and Google Sheets tabs.
- 120-Day Safety Window: The sync engine inspects unfulfilled orders and orders placed within the last 120 days, automatically updating base costs and attaching tracking numbers.
- On-Demand Sync: Click Run Full Sync in the Sync Hub header at any time, or click the Play button next to any specific provider to sync only that partner.
- Live Audit Log: All sync executions and webhook pushes are logged in the Sync History table with exact item counts and error traces.
