.png)
Shopee Integration Guide
Integrate Shopee marketplace shops, products, orders, logistics, and selected event notifications with enterprise systems through authenticated Open Platform APIs and Martini workflows.
Shopee integration options at a glance
Shopee Open Platform is primarily a REST-style API platform for accessing shop, product, order, logistics, promotion, and related marketplace data. Selected push notifications can support order, package, and product or stock event processing, although coverage varies by event, region, API version, and partner configuration. Shopee also provides selected batch or mass-update operations for product, price, and stock workflows, along with image and certain logistics-document capabilities. Requests use partner credentials, shop or merchant authorization, tokens, timestamps, and HMAC-SHA256 signatures. Martini can orchestrate these calls, receive notifications, transform JSON, manage checkpoints, and coordinate downstream processing.
| Integration point | Supported by Shopee? | Common use cases | How Martini supports it |
|---|---|---|---|
| REST APIs | Yes | Retrieve shop information, manage Products, read Orders, access logistics data, update stock and prices, and manage selected promotions. | Martini can consume Shopee Open Platform REST APIs from workflows, construct signed requests, process JSON, and map results to downstream systems. |
| Webhooks / outbound callbacks | Limited | Receive selected order, package or logistics, and product or stock notifications when the event is enabled for the partner application and marketplace. | Martini can expose an API endpoint or use a workflow start trigger to receive, validate, deduplicate, and route Shopee notifications. |
| Bulk / async / batch APIs | Limited | Perform selected mass updates for products, prices, and stock; a generic bulk interface should not be assumed for every Shopee resource. | Martini can process bounded batches, persist checkpoints, throttle requests, and retry transient failures. |
| File / attachment APIs | Limited | Process product image operations and selected logistics documents such as shipping labels where enabled by the API and marketplace. | Martini can orchestrate image URLs or identifiers and supported document retrieval, then pass files or metadata to downstream workflows. |
| Authentication | Yes | Authenticate requests using partner credentials, shop or merchant authorization, access and refresh tokens, timestamps, and HMAC-SHA256 signatures. | Martini can store secrets securely, generate request-specific signatures, refresh tokens, and keep credentials out of mappings and logs. |
| Database access | Not confirmed | Shopee does not expose a confirmed general-purpose SQL or direct customer database connection for integrations. | Martini should use documented Shopee APIs, notifications, and supported exports rather than direct database access. |
| SDKs | Limited | Shopee documentation may provide examples or SDK-related resources for selected languages and API versions. | Martini does not require an SDK; custom JVM-compatible logic can support signing or transformations when workflow logic alone is insufficient. |
How Shopee exposes data and business events
Shopee REST APIs
Shopee Open Platform provides authenticated REST-style APIs for Shop, Product, Order, logistics, promotion, stock, price, and related marketplace operations. Availability depends on API version, marketplace, seller account, and granted authorization scopes.
Martini implementation pattern
Martini implementation pattern: A workflow stores protected partner and shop configuration, constructs the request signature, calls the required Shopee endpoint, parses the JSON response, applies validation and business rules, and maps the result to an enterprise application or canonical model.
Implementation sequence
Shopee push notifications
Shopee supports push-style notifications for selected events, including possible order, package or logistics, and product or stock changes. Notifications are selective rather than a universal event stream, and exact coverage must be confirmed for the marketplace and partner application.
Martini implementation pattern
Martini implementation pattern: Martini exposes an API endpoint or workflow start trigger, validates the incoming notification, uses its identifiers to retrieve authoritative Shopee data, and publishes a normalized event to ERP, warehouse, CRM, or notification workflows.
Implementation sequence
Shopee batch operations
Shopee provides selected batch or mass-update capabilities, particularly for Product, price, and stock administration. These operations do not establish a generic bulk API for every Shopee resource.
Martini implementation pattern
Martini implementation pattern: A scheduled or API-triggered workflow divides changes into bounded batches, applies channel-specific transformations, throttles requests, records partial results, and retries only transient failures.
Implementation sequence
Shopee image and logistics documents
Shopee Product APIs support image-related operations, and selected logistics workflows may expose shipping documents or labels. These capabilities are operation- and marketplace-dependent rather than a general-purpose file repository.
Martini implementation pattern
Martini implementation pattern: Martini retrieves or prepares the supported image or document representation, calls the relevant Shopee operation, validates the returned identifier or status, and stores only the metadata required by downstream systems.
Implementation sequence
Common Shopee integration patterns
Pattern 1: Synchronize Shopee orders to an ERP
When to use this pattern
Use this pattern when Shopee Orders must become sales orders, fulfillment requests, or financial transactions in NetSuite, SAP S/4HANA, or Microsoft Dynamics 365. It combines incremental retrieval with selected push notifications and scheduled reconciliation.
Integration direction
Example Mapping
| Shopee Field | Canonical Field | Target Field |
|---|---|---|
| order_id | externalOrderId | externalId |
| order_status | orderStatus | status |
| item_list[].item_id | lineItem.productId | item |
| item_list[].model_quantity_purchased | lineItem.quantity | quantity |
Martini implementation pattern
A scheduled Martini workflow retrieves changed Orders using pagination and checkpoints, optionally starts from a Shopee notification, expands order details, maps Buyer and Package information, validates tax and address requirements, and creates or updates the ERP order. Idempotency uses the Shopee order identifier; permanent validation failures go to an exception process while throttling and transient errors use controlled retries.
Martini capabilities used
- workflows
- API consumption
- data mapping
- business rules
- scheduled execution
- error handling
Pattern 2: Synchronize inventory and prices to Shopee
When to use this pattern
Use this pattern when an ERP, inventory service, or Shopify is the source of available-to-sell quantities and channel prices. It is suitable for regular updates and selected Shopee mass-update operations.
Integration direction
Example Mapping
| Shopee Field | Canonical Field | Target Field |
|---|---|---|
| sku | productSku | item_sku |
| available_quantity | availableToSell | stock |
| channel_price | marketplacePrice | price |
| variation_id | productVariationId | model_id |
Martini implementation pattern
Martini reads changed inventory and prices, reserves safety stock, converts units, applies Shopee channel pricing rules, and preserves parent Product and variation relationships. It submits bounded updates, records per-item results, throttles requests according to observed limits, and retries transient failures without repeating successful updates.
Martini capabilities used
- workflows
- API consumption
- data mapping
- business rules
- batch processing
- retry handling
Pattern 3: Process Shopee order and logistics notifications
When to use this pattern
Use this pattern when selected Shopee notifications should initiate near-real-time fulfillment, warehouse, or customer-notification processing. Because notifications are selective, pair the flow with periodic reconciliation.
Integration direction
Example Mapping
| Shopee Field | Canonical Field | Target Field |
|---|---|---|
| order_id | orderId | orderNumber |
| package_number | shipmentId | shipmentReference |
| tracking_number | trackingNumber | trackingNumber |
| shipping_carrier | carrier | carrierCode |
Martini implementation pattern
A Martini API receives the notification, validates and deduplicates it, retrieves current Order or Package data from Shopee, maps the authoritative result to ShipStation or a warehouse service, and records the event outcome. A scheduled workflow searches a defined time window for missed changes and repairs incomplete processing.
Martini capabilities used
- API exposure
- workflow triggers
- API consumption
- data mapping
- idempotency
- scheduled reconciliation
Pattern 4: Publish a product catalog to Shopee
When to use this pattern
Use this pattern when a PIM, ERP, or commerce catalog is the source for Shopee Product listings, variations, images, prices, and stock. Separate create, update, stock-only, image, and retirement operations to avoid unintended listing changes.
Integration direction
Example Mapping
| Shopee Field | Canonical Field | Target Field |
|---|---|---|
| product.handle | productCode | item_sku |
| product.title | productName | item_name |
| variants[].sku | variationSku | model_sku |
| variants[].inventory_quantity | variationStock | model_stock |
Martini implementation pattern
Martini detects catalog changes, transforms categories and attributes to the Shopee model, preserves variation identifiers, and invokes the appropriate listing or update operation. Validation rejects incomplete products before submission; partial batch failures are recorded per item and retried according to operation status.
Martini capabilities used
- workflows
- API consumption
- data mapping
- JSON handling
- validation
- error handling
Applications commonly integrated with Shopee
Shopee can be integrated with named enterprise applications to coordinate marketplace orders, inventory, catalog, fulfillment, customer context, and financial or tax processes. The exact direction and scope depend on the application APIs, Shopee marketplace, seller account, and required authorization scopes.
| Application | Scenario | Direction | Martini Pattern |
|---|---|---|---|
| Salesforce | Synchronize Shopee Orders and Buyer context with CRM and service processes, while optionally sharing selected product or service updates. | Shopee → Martini → Salesforce | A Martini workflow retrieves or receives Shopee order information, protects restricted buyer fields, maps the result to Salesforce objects, and applies idempotent upsert and retry rules. |
| NetSuite | Create sales orders, reconcile marketplace transactions, and synchronize inventory and fulfillment status. | Shopee → Martini → NetSuite | Martini retrieves paginated Shopee Orders, expands order details, maps products and fulfillment data to NetSuite, and records the Shopee order identifier for duplicate prevention. |
| SAP S/4HANA | Consolidate marketplace orders, inventory, fulfillment, and financial processing across sales channels. | Shopee → Martini → SAP S/4HANA | Martini orchestrates Shopee-to-SAP order flows and SAP-to-Shopee inventory or price updates, with validation, bounded concurrency, and exception routing. |
| Microsoft Dynamics 365 | Coordinate Shopee orders and product availability with ERP, commerce, and customer-service processes. | Shopee → Martini → Microsoft Dynamics 365 | A workflow consumes Shopee REST responses or selected notifications, maps Orders and Products to Dynamics 365, and retries transient API failures without repeating successful writes. |
| Shopify | Consolidate catalog, inventory, and orders across Shopify and Shopee sales channels. | Shopify → Martini → Shopee | Martini mediates bidirectional catalog and inventory workflows, preserves parent Product and variation relationships, applies channel pricing rules, and throttles marketplace updates. |
| ShipStation | Send Shopee fulfillment orders to shipping operations and return shipment or tracking updates where supported. | Shopee → Martini → ShipStation | Martini maps Shopee Orders and Packages into ShipStation shipment requests, stores shipment identifiers, and writes supported tracking or fulfillment changes back to Shopee. |
| Stripe | Reconcile marketplace-related financial records with payment and accounting workflows where the business model requires it. | Shopee → Martini → Stripe | Martini transforms Shopee order and reconciliation data into a controlled financial workflow, applying business-specific matching rules rather than assuming a direct Shopee payment integration. |
| Avalara | Support tax calculation or reconciliation for Shopee orders where jurisdictional and marketplace requirements make it necessary. | Shopee → Martini → Avalara | Martini sends eligible order data to Avalara, validates returned tax information, and routes the enriched result to the ERP or order process while retaining marketplace identifiers. |
How to build a Shopee integration in Martini
Objective
Establish Shopee Open Platform access using the partner application, shop or merchant authorization, tokens, timestamps, and signed requests.
Instructions in Martini
- Store Partner ID, Partner key, shop or merchant identifiers, tokens, and other configuration as protected environment values or secrets.
- Implement request-specific HMAC-SHA256 signing and keep runtime clocks synchronized.
- Define token refresh handling without exposing credentials in logs or workflow assets.
Objective
Select scheduled retrieval, an API request, a Shopee push notification, or a combination that matches the required latency and event coverage.
Instructions in Martini
- Use a workflow start trigger or exposed Martini API for selected Shopee notifications.
- Use scheduler-driven polling and reconciliation for Orders, Products, inventory, and logistics changes not covered by notifications.
- Define checkpoints and time windows for incremental retrieval.
Objective
Call the relevant Shopee REST API, handle pagination, and obtain authoritative details when a notification contains only a resource identifier.
Instructions in Martini
- Build the signed HTTP request with the correct timestamp, path, parameters, and authorization values.
- Follow documented pagination or cursor values and process records in bounded batches.
- Retrieve current Order, Product, Package, or Shop details before downstream writes when required.
Objective
Coordinate validation, enrichment, branching, downstream calls, persistence, and reconciliation as a maintainable Martini workflow.
Instructions in Martini
- Separate notification intake, Shopee reads, transformation, downstream writes, and reconciliation into clear workflow stages.
- Apply marketplace, shop, fulfillment, and resource-specific business rules.
- Persist processing identifiers, checkpoints, and outcome status.
Objective
Convert Shopee JSON objects and variations into canonical and target-system models without losing marketplace identifiers or relationships.
Instructions in Martini
- Map Products and variations separately and preserve Order, Package, and event identifiers.
- Apply unit, currency, price, stock, category, address, and status transformations explicitly.
- Limit Buyer and recipient fields to those authorized and required by the target process.
Objective
Create or update downstream records while preventing duplicates and isolating permanent data errors.
Instructions in Martini
- Use Shopee identifiers as idempotency keys before creating ERP orders or fulfillment records.
- Route invalid product, order, authorization, and marketplace-specific data to an exception process.
- Publish supported fulfillment, tracking, price, or inventory updates back to Shopee only after target validation.
Common Shopee data objects used in integrations
| Object | Typical Use | Common target systems | Martini handling |
|---|---|---|---|
| Shop | Represent seller account context, authorization, and marketplace-specific configuration. | ERP, CRM, order management, inventory platforms | Martini retrieves Shop information through authenticated API calls and stores only the configuration and identifiers needed by integration workflows. |
| Product | Manage listings, categories, attributes, variations, prices, stock, and images. | PIM, ERP, Shopify, inventory platforms | Martini maps parent Products and variations separately, applies channel pricing and availability rules, and invokes create, update, image, or stock operations as appropriate. |
| Order | Synchronize customer orders, order lines, statuses, payment status, timestamps, and fulfillment details. | NetSuite, SAP S/4HANA, Microsoft Dynamics 365, Salesforce, fulfillment platforms | Martini retrieves paginated Orders or starts from selected notifications, expands details, validates required fields, and uses order identifiers for idempotent writes. |
| Buyer | Carry buyer or recipient context associated with an Order, subject to privacy and access restrictions. | Salesforce, ERP, customer-service applications | Martini maps only authorized fields, restricts retention and logging, and applies marketplace and downstream data-protection rules. |
| Package / Shipment | Represent shipping packages, tracking, carriers, pickup or drop-off, and shipment status. | ShipStation, warehouse systems, ERP, customer-notification services | Martini correlates Packages with Orders, retrieves authoritative logistics details, and propagates supported tracking or fulfillment updates. |
| Promotion | Represent campaigns, discounts, vouchers, and other seller promotion resources where enabled. | ERP, commerce catalog, pricing services, reporting platforms | Martini retrieves or updates supported Promotion data and applies approval, regional, and effective-date business rules before publishing changes. |
Authentication and security considerations
Signed authentication
Shopee requests generally use Partner ID, Partner key, Shop ID or merchant ID, access and refresh tokens, timestamps, and HMAC-SHA256 signatures. The signature is request-specific, so path, credentials, token, and clock handling must be consistent.
Secrets and personal data
Martini should keep partner credentials, tokens, and signing values in protected environment configuration or secrets. Buyer and recipient data should be limited to authorized fields, excluded from unnecessary logs, and retained only as long as the business process requires.
- Refresh time-limited access tokens through a controlled workflow.
- Synchronize runtime clocks to reduce timestamp-related authentication failures.
- Restrict access to shop and merchant authorization values.
Operational considerations for Shopee integrations
Rate limits and pagination
Shopee limits can vary by endpoint, partner, shop, or marketplace. Use bounded concurrency, pagination or cursors, backoff, and checkpoints for incremental synchronization.
Events and reconciliation
Push notifications cover selected events rather than every change. Use notifications as triggers, retrieve authoritative Shopee details, and run scheduled reconciliation to identify missed or partially processed updates.
Idempotency and schema changes
Use stable Order, Package, Product, variation, and event identifiers before writing downstream records. Version mappings, validate required fields, and monitor for new status or event values as API versions and regional schemas evolve.
- Separate permanent validation failures from transient API or throttling failures.
- Preserve parent Product and variation relationships.
- Test behavior across the required Shopee marketplaces and authorization scopes.
Why use Martini instead of scripts or point-to-point integrations?
Orchestrate more than individual API calls
Martini coordinates Shopee authentication, API calls, notification intake, pagination, transformation, business rules, downstream writes, and reconciliation in maintainable workflows rather than scattering logic across scripts.
Reuse and control integration logic
Teams can expose controlled APIs, reuse mappings and workflow services, centralize environment configuration, and apply consistent validation, retry, idempotency, and monitoring practices across shops and enterprise applications.
- Combine event-driven processing with scheduled recovery workflows.
- Keep mappings and business rules versioned and testable.
- Use custom JVM-compatible logic when request signing or transformation needs exceed standard workflow operations.
Frequently asked questions
Shopee can be integrated through the Shopee Open Platform REST APIs, signed authentication, selected push notifications, and selected batch, image, or logistics-document operations. Enterprise workflows typically retrieve or receive Shopee Orders, Products, Packages, and Shop data, transform it, and write it to ERP, CRM, inventory, fulfillment, or reporting systems.
Yes. Martini can integrate with Shopee by consuming its authenticated REST APIs, generating the required request signatures, receiving selected Shopee push notifications through an exposed API or workflow trigger, and orchestrating mappings, validation, retries, and downstream writes.
No dedicated Shopee connector is required. Martini can use Shopee's native Open Platform REST APIs, signed authentication, selected push notifications, and supported batch or file-related operations through workflows and APIs.
Lonti does not charge an additional per-connector or per-vendor fee to integrate Shopee. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from Shopee, cloud infrastructure, or other third-party services depending on subscription, API usage, and deployment model.
The primary method is the Shopee Open Platform REST API. Use selected push notifications for supported near-real-time events, batch operations for applicable product, price, and stock workloads, and scheduled API reconciliation for missed events or resources without notification coverage. Shopee GraphQL and SOAP APIs were not confirmed.
Shopee supports push-style notifications for selected events such as some order, package or logistics, and product or stock changes. Coverage depends on the event, marketplace, API version, and partner configuration, so notifications should be treated as triggers and complemented by authoritative API reads and scheduled reconciliation.
Martini can use scheduled or event-driven workflows to retrieve paginated Shopee data, store checkpoints, map JSON into canonical models, and write to target applications. Mappings can preserve parent Products, variations, Orders, Buyers, and Packages while applying channel pricing, stock, address, status, and privacy rules.
A Martini implementation can distinguish signature and authorization errors, invalid data, rate limits, temporary service failures, and permission problems. It can retry transient failures with backoff, throttle concurrency, route permanent failures for review, and use stable Shopee identifiers such as order, package, product, variation, or event IDs for idempotent processing.
Related Martini documentation
Workflows
Build a reliable Shopee integration with Martini
Use Martini to connect Shopee Open Platform APIs and selected notifications with your ERP, inventory, fulfillment, CRM, and other enterprise systems through secure, observable workflows.