multivendor-dropshipping
v0.0.7
Published
Framework-agnostic dropshipping providers (PrintVally, CJ Dropshipping, Qikink) with shared DropshippingProvider interface
Readme
multivendor-dropshipping
Framework-agnostic dropshipping HTTP clients and a shared DropshippingProvider interface for:
- PrintVally (POD Merchant API)
- CJ Dropshipping
- Qikink
Host apps own TypeORM sync, queues, and orchestration. This package only talks to provider APIs (native fetch, no axios).
Install
pnpm add multivendor-dropshipping
# or local:
# "multivendor-dropshipping": "file:../multivendor-saas-components/multivendor-dropshipping"Factory
import { createDropshippingProvider } from 'multivendor-dropshipping';
const printvally = createDropshippingProvider('printvally', {
username: process.env.PRINTVALLY_USERNAME!,
password: process.env.PRINTVALLY_PASSWORD!,
});
const cj = createDropshippingProvider('cj', {
openId: process.env.CJ_API_OPEN_ID!,
accessToken: process.env.CJ_API_ACCESS_TOKEN!,
refreshToken: process.env.CJ_API_REFRESH_TOKEN!,
});
const qikink = createDropshippingProvider('qikink', {
apiKey: process.env.QIKINK_API_KEY!,
apiSecret: process.env.QIKINK_API_SECRET!,
});
await printvally.createOrder(/* PrintVallyCreateOrderPayload */);
await cj.createOrder(/* CjCreateOrderPayload */);
await qikink.createOrder(/* QikinkCreateOrderPayload */);Direct clients
Prefer clients when you need provider-specific methods:
import { PrintVallyClient, CjClient, QikinkClient } from 'multivendor-dropshipping';
const pv = new PrintVallyClient({ username, password });
await pv.getCatalogue();
await pv.getWallet();
const cj = new CjClient({ openId, accessToken, refreshToken });
await cj.listProducts({ pageNum: 1, pageSize: 100 });
await cj.calculateShipping({ products: [{ sku: 'x', quantity: 1 }], country: 'IN' });
const qk = new QikinkClient({ apiKey, apiSecret });
await qk.getProductDetails('SKU-1');PrintVally notes
- Basic auth +
X-Timestamp+ 32-charX-Request-Id - Retries 429/5xx with exponential backoff
- IP whitelist 403 is a deploy-time host concern
- OpenAPI:
openapi/printvally/merchant-api.json
Scripts
pnpm --filter multivendor-dropshipping test
pnpm --filter multivendor-dropshipping build