Skip to content

congminh1254/shopee-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Shopee SDK

CI Coverage Status npm version Node.js Version License: MIT

πŸŽ‰ The most complete, production-ready TypeScript SDK for Shopee Open API πŸŽ‰

Build powerful Shopee integrations with confidence using our fully-featured SDK that covers 100% of Shopee's API endpoints. Trusted by developers, built by the community.

πŸ“š Documentation

Complete Documentation - Comprehensive guides and API references

Quick Links

Getting Started:

API Managers:

Installation

npm install @congminh1254/shopee-sdk

Requirements: Node.js >= 18.0.0

What You Get

βœ… Complete TypeScript definitions for all 27 API managers
βœ… Automatic token refresh and management
βœ… Built-in error handling and retry logic
βœ… Zero dependencies (except node-fetch)
βœ… Full documentation and examples

Quick Start

Get up and running in minutes! Here's how easy it is to integrate with Shopee:

import { ShopeeSDK, ShopeeRegion } from '@congminh1254/shopee-sdk';

// 1. Initialize the SDK with your credentials
const sdk = new ShopeeSDK({
  partner_id: 123456,
  partner_key: 'your-partner-key',
  region: ShopeeRegion.GLOBAL,
  shop_id: 789012, // Optional for shop-specific operations
});

// 2. Authenticate your shop (OAuth flow)
const authUrl = sdk.getAuthorizationUrl('https://your-app.com/callback');
console.log('Visit:', authUrl);

// After user authorizes, exchange code for token (automatic token storage!)
await sdk.authenticateWithCode('auth-code-from-callback');

// 3. Start using the API - it's that simple!

// Manage your products
const products = await sdk.product.getItemList({
  offset: 0,
  page_size: 20,
});

// Process orders
const orders = await sdk.order.getOrderList({
  time_range_field: 'create_time',
  time_from: Math.floor(Date.now() / 1000) - 86400,
  time_to: Math.floor(Date.now() / 1000),
  page_size: 50,
});

// Track shipments
const shipping = await sdk.logistics.getShippingParameter({
  order_sn: '220615ABCDEF',
});

// Handle returns
const returns = await sdk.returns.getReturnList({
  page_size: 20,
});

// And much more - all with full TypeScript support! πŸŽ‰

That's it! The SDK handles token refresh, request signing, error handling, and more automatically.

See the Setup Guide and Authentication Guide for detailed instructions.

Why Choose This SDK?

πŸš€ Production-Ready & Battle-Tested

  • 75%+ test coverage with 86 comprehensive tests - ensuring reliability in production
  • Zero compromises - Every Shopee API endpoint is implemented and documented
  • Type-safe - Full TypeScript definitions prevent errors before they happen
  • Actively maintained - Regular updates to stay in sync with Shopee API changes

πŸ’ͺ Complete API Coverage - All 27 Managers Implemented

Unlike other SDKs with partial coverage, we provide complete access to every Shopee API:

Core Commerce:

  • πŸ“¦ ProductManager - Full product catalog management with 55+ endpoints
  • πŸ›’ OrderManager - Complete order processing and fulfillment workflow
  • 🚚 LogisticsManager - Comprehensive shipping and tracking operations
  • πŸ’³ PaymentManager - Payment and escrow information management

Marketing & Promotions:

  • 🎟️ VoucherManager - Discount voucher campaigns
  • πŸ’₯ DiscountManager - Discount promotion campaigns
  • 🎁 BundleDealManager - Bundle deal promotions
  • βž• AddOnDealManager - Add-on deal promotions
  • ⚑ ShopFlashSaleManager - Flash sale campaigns
  • 🎯 FollowPrizeManager - Follow prize activities
  • ⭐ TopPicksManager - Top picks product collections

Store Management:

  • πŸͺ ShopManager - Shop information and profile management
  • 🏒 MerchantManager - Merchant information, warehouses, and multi-shop management
  • πŸ“‚ ShopCategoryManager - Shop category organization
  • πŸ–ΌοΈ MediaManager & MediaSpaceManager - Image and video upload operations

Advanced Features:

  • πŸ” AuthManager - OAuth flow and token lifecycle management
  • πŸ“’ PushManager - Webhooks and real-time notifications
  • 🌍 GlobalProductManager - Cross-border product management
  • πŸ”„ ReturnsManager - Return and refund request handling
  • πŸ“Š AdsManager - Advertising campaign management
  • πŸ“ˆ AccountHealthManager - Performance metrics and analytics
  • 🌐 PublicManager - Public API endpoints (no auth required)
  • πŸ“ FirstMileManager - First mile logistics operations
  • 🏭 SbsManager - Shopee Business Services warehouse inventory
  • πŸ“¦ FbsManager - Fulfillment by Shopee operations
  • πŸ“Ή LivestreamManager - Live streaming features

✨ Developer Experience First

  • Intuitive API design - Clean, consistent interfaces across all managers
  • Automatic token refresh - Built-in token management, never worry about expiration
  • Flexible storage - File-based storage included, easy to implement custom solutions
  • Multi-region support - Works seamlessly across all 12 Shopee regions
  • Proxy support - Enterprise-ready HTTP/HTTPS proxy configuration
  • Comprehensive docs - Detailed guides and real-world examples for every feature
  • Full type safety - Complete TypeScript definitions for autocomplete and error prevention

Real-World Use Cases

This SDK is perfect for building:

  • πŸͺ Multi-channel E-commerce Platforms - Sync inventory, orders, and products across multiple sales channels
  • πŸ“Š Analytics Dashboards - Track sales performance, customer behavior, and business metrics
  • πŸ€– Automation Tools - Automate order processing, inventory updates, and customer communications
  • πŸ”„ ERP Integrations - Connect Shopee with your existing business systems
  • πŸ“± Mobile Apps - Build native mobile experiences for shop management
  • 🎯 Marketing Automation - Manage promotions, vouchers, and advertising campaigns programmatically
  • πŸ“¦ Inventory Management Systems - Real-time stock tracking across warehouses
  • πŸš€ Custom Storefronts - Create unique shopping experiences powered by Shopee's infrastructure

Migrating from Other SDKs?

Switching is easy! Our SDK offers:

  • More complete coverage - Every endpoint is implemented, not just the basics
  • Better TypeScript support - Full type safety from end to end
  • Simpler API - Intuitive, well-organized manager classes
  • Active maintenance - Regular updates and community support
  • Production-ready - Battle-tested with comprehensive test coverage

Check our Migration Guide to get started.

Contributing

We use Conventional Commits for commit messages to automate versioning and release notes.

Examples of commit messages:

  • feat: add support for logistics API - Minor version bump
  • fix: correct error handling in order API - Patch version bump
  • docs: update API documentation - No version bump
  • feat!: rename parameters in product API or feat: rename parameters in product API BREAKING CHANGE: ... - Major version bump

Release Process

This project uses Release Please to automate version management and releases.

The release process follows these steps:

  1. Commits to the main branch are automatically analyzed
  2. When conventional commit messages are detected, Release Please creates or updates a release PR
  3. When the release PR is merged:
    • A new GitHub tag and release is created
    • The package is automatically published to npm
    • The CHANGELOG.md is updated with the release notes

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 5

Languages