Skip to main content
This guide assumes you have API access and the necessary permissions. For help enabling these features or to request sandbox/testing access, contact your Loop point of contact or [email protected].

🧭 Overview

The Commerce Data APIs allow you to populate Loop’s ecosystem with commerce data from any source—your commerce platform, ERP, OMS, middleware, or custom systems. These APIs are intended for custom integrations where Loop doesn’t have a prebuilt app for your commerce platform; if you’re using a platform with native Loop integration, commerce data is synced automatically. By syncing products, orders, customers, locations, inventory, and collections into Loop, you enable Loop to validate return eligibility, power exchange workflows, and maintain accurate records across your systems.
Your Platform as the Source of TruthThese APIs are designed to receive data pushes from whatever systems manage your commerce data. Whether you’re integrating a single platform or consolidating data from multiple sources, Loop acts as the destination for your product catalog and order history.

📦 API Reference

The Commerce Data APIs are organized into six main domains. Each API follows a consistent pattern with support for Create, List, Get, Update, Upsert, and Delete operations.
Upsert OperationsMost Commerce Data APIs support an “Upsert” operation (PUT on the collection endpoint) which creates a new record if it doesn’t exist, or updates it if it does. This is identified by the external_id field and is ideal for sync workflows.

🛍️ Products API

The Products API provides Loop with standardized product data from any eCommerce system, ensuring accurate return processing and exchange matching.
  • Product Metadata — Unique product IDs, SKUs, names, descriptions, and vendor details
  • Pricing & Classification — Price, product type, collections, and tags
  • Identifiers — Barcodes and external references for cross-platform tracking
  • Variants & Options — Attributes like colors, sizes, and associated variants
  • Media & Assets — Product images for return experience consistency
This data allows Loop to validate return items, process exchanges accurately, and maintain catalog consistency across platforms.
ID Mapping RequirementWhen syncing products, your middleware must store the returned loop_product_id mapped to your platform’s external_id. You’ll reference these Loop IDs when creating orders.
OperationMethodDescription
List ProductsGETRetrieve products with filters (external_id, barcode, tags)
Create ProductPOSTCreate a new product
Upsert ProductPUTCreate or update by external_id
Get ProductGETGet details for a single product
Update ProductPUTUpdate an existing product
Delete ProductDELETEDelete a product
Product Variants are managed as sub-resources of products:
OperationMethodDescription
List VariantsGETList variants for a product
Create VariantPOSTCreate a new variant
Upsert VariantPUTCreate or update variant by external_id
Get VariantGETGet variant details
Update VariantPATCHUpdate a variant
Delete VariantDELETEDelete a variant

📋 Orders API

The Orders API provides a comprehensive view of transactional data from any eCommerce system, ensuring Loop has the necessary context to facilitate seamless return and exchange processing.
  • Order Metadata — Unique order identifiers, status, and associated sales channels
  • Customer Information — Buyer details, including contact information and external references
  • Financial Details — Total price, applied discounts, tax calculations, and refund history
  • Shipping & Fulfillment — Shipping addresses, carrier details, fulfillment statuses, and tracking numbers
  • Line Items & Adjustments — Purchased products, pricing, applied discounts, duties, and refund eligibility
This data allows Loop to validate return eligibility, create returns, and help facilitate refunds, store credit, and exchanges efficiently across any platform.
Prerequisite: Products must exist in Loop before syncing orders. Order line items should reference Loop Product IDs (from your ID mapping) rather than external IDs for accurate return processing.
OperationMethodDescription
List OrdersGETRetrieve orders with optional filters
Create OrderPOSTCreate a new order
Upsert OrderPUTCreate or update by external_id
Get OrderGETGet details for a single order
Update OrderPUTUpdate an existing order
Delete OrderDELETEDelete an order
Key Order Fields:
  • line_items — Array of purchased items, each referencing a product/variant
  • fulfillments — Fulfillment data including status, tracking, and fulfilled line items
  • refunds — Refund data for reconciliation
  • shipping_address / billing_address — Customer address information

👤 Customers API

The Customers API stores essential customer data to support return validation and exchange processing across platforms.
  • Customer Identity — Unique customer IDs, external references, and contact details
  • Order & Return Context — Flexible tags for purchase history, return status, and customer segmentation
  • Channel Association — Identifies where the customer was created or last interacted
Customers can be created independently or through the Orders API, making this collection flexible for managing return history and personalizing the return experience across platforms.
OperationMethodDescription
List CustomersGETRetrieve customers with optional filters
Create CustomerPOSTCreate a new customer
Upsert CustomerPUTCreate or update by external_id
Get CustomerGETGet details for a single customer
Update CustomerPUTUpdate an existing customer
Delete CustomerDELETEDelete a customer
Key Customer Fields:
  • first_name / last_name — Customer name
  • email — Email address
  • phone — Phone number
  • tags — Array of tags for customer segmentation

📍 Locations API

The Locations API provides Loop with a standardized view of return and fulfillment locations, ensuring accurate routing and inventory management.
  • Location Metadata — Unique location IDs, external references, and status
  • Physical Address — Warehouse or store details, including company name and full address
  • Channel Association — Identifies where the location is sourced from
This data enables efficient return routing, inventory restocking, and location-based return policies across platforms.
OperationMethodDescription
List LocationsGETRetrieve locations with optional filters
Create LocationPOSTCreate a new location
Upsert LocationPUTCreate or update by external_id
Get LocationGETGet details for a single location
Update LocationPUTUpdate an existing location
Delete LocationDELETEDelete a location
Key Location Fields:
  • name — Location name (e.g., “Main Warehouse”)
  • statusactive or inactive
  • address — Full address object with address1, city, region, postal_code, country_code

📊 Inventories API

The Inventories API provides real-time visibility into stock levels across locations, ensuring accurate return processing and exchange fulfillment.
  • Stock Availability — Tracks available inventory counts for product variants
  • Product Details — SKU, barcode, name, and weight for precise identification
  • Location Association — Links inventory to specific warehouses or return locations
This data helps prevent overselling, streamline restocking, and ensure exchange availability across platforms.
Inventory records are keyed by the combination of productVariantId and locationId. Both Products and Locations must exist in Loop before creating inventory records.
OperationMethodDescription
List InventoriesGETList inventories (filter by location or variant)
Create InventoryPOSTCreate inventory record
Get InventoryGETGet inventory for variant at location
Upsert InventoryPUTCreate or update inventory
Delete InventoryDELETEDelete inventory record
Key Inventory Fields:
  • available_count — Number of units available at the specified location

🏷️ Collections API

The Collections API organizes products into logical groupings, helping Loop maintain structured catalog data for returns and exchanges.
  • Collection Metadata — Unique collection IDs, external references, and names
  • Associated Products — SKUs, names, and external references for grouped items
  • Channel Association — Identifies where the collection data originates
This data ensures consistent product categorization, enabling efficient return policies and exchange logic across platforms.
OperationMethodDescription
List CollectionsGETRetrieve collections with optional filters
Create CollectionPOSTCreate a new collection
Upsert CollectionPUTCreate or update by external_id
Get CollectionGETGet details for a single collection
Update CollectionPUTUpdate an existing collection
Delete CollectionDELETEDelete a collection
Add ProductPOSTAttach a product to a collection
Remove ProductDELETERemove a product from a collection

⚠️ Technical Considerations

When integrating with the Commerce Data APIs, keep these critical implementation details in mind:
ConsiderationRequirement
Monetary ValuesAll prices must be in minor units (cents). Example: $10.001000
Date FormattingUse ATOM / RFC 3339 format without milliseconds: YYYY-MM-DDTHH:mm:ss+00:00
Order StatusMap external statuses to: active, archived, cancelled, unknown
Sync OrderAlways sync Products before Orders

🔄 Common Sync Patterns

Initial Data Sync (Historical Backfill)

When onboarding, you’ll typically sync data in this order:
How far back should I sync orders?At minimum, sync orders going back to match your return policy window (e.g., 30 days, 60 days, 90 days). This ensures customers can initiate returns on any order that’s still within the eligible return period.
1

Sync Products & Variants

Push your entire product catalog. Store the returned Loop IDs for each product/variant.
2

Sync Customers

Push customer records from your platform. (Note: Customers can also be created via the Orders API.)
3

Sync Orders

Push historical orders, referencing Loop Product IDs in line items.
4

Sync Locations (Exchanges Only)

Create location records for warehouses and fulfillment centers. Required if offering exchanges.
5

Sync Inventory (Exchanges Only)

Push stock levels per variant and location. Required if offering exchanges.
6

Sync Collections (Optional)

Create collections and attach products. Useful for defining advanced exchange rules.

Real-Time Sync

For ongoing operations, set up event-driven syncs to keep Loop updated:
  • New Orders — Push to Loop when an order is placed
  • Product Updates — Sync when products are created, updated, or discontinued
  • Inventory Changes — Update stock levels after sales, returns, or restocks
  • Order Status Changes — Update fulfillment status, refunds, and cancellations

✅ Conclusion

The Commerce Data APIs provide the foundation for integrating Loop with any commerce platform. By syncing your products, orders, customers, locations, inventory, and collections, you enable Loop to accurately validate returns, power exchange workflows, and maintain data consistency across your systems. Whether you’re performing a one-time historical backfill or building real-time sync pipelines, these APIs give you the flexibility to keep Loop in sync with your source of truth.