Understanding Sales
The Chariow Sales API provides programmatic access to all transaction data in your store. You can:- Retrieve a list of all sales with filtering options
- Get detailed information about specific sales
- Track payment status and settlement details
- Access customer purchase history
- Monitor download statistics
- View applied discounts and marketing campaigns
Sale Object
The detailed sale object (returned by the single sale endpoint) contains comprehensive purchase information with the following structure:The list endpoint returns a simplified version of the sale object (using
SalePublicResource), whilst the single sale endpoint returns the full detailed object (using SaleResource). See the Listing Sales and Getting a Single Sale sections for the differences.Sale Statuses
Sales can have the following statuses throughout their lifecycle:Payment Statuses
The payment status tracks the payment gateway transaction separately from the sale status:Sales Channels
Sales can originate from different channels:Listing Sales
Retrieve all sales for your store:Query Parameters
You can filter and paginate sales using the following parameters:Filtering by Status
Filtering by Customer
Filtering by Date Range
Searching Sales
Pagination
The API uses cursor-based pagination. Use thenext_cursor from the response to fetch the next page:
Example Response
The list endpoint returns a simplified sale object per item:Getting a Single Sale
Retrieve a specific sale by its public ID:Post-Purchase Fulfillment
Completed sales can include fulfillment data containing deliverables based on the product type. Thefulfillment field is present in the list endpoint response when populated:
File Downloads
For products with downloadable files, thefiles array contains:
id- Unique file identifiername- Original filenamesize- File size in bytestype- MIME typedownload_url- Temporary signed download URLexpires_at- When the download link expires
Licences
For products with licence keys, thelicences array contains:
id- Unique licence identifierlicence_key- The licence key stringstatus- Licence status (active,inactive,expired)activations- Current number of activationsmax_activations- Maximum allowed activationsexpires_at- Expiry date (null for lifetime licences)
Custom Instructions
Theinstructions field contains custom post-purchase instructions configured for the product.
Common Use Cases
Revenue Reporting
Revenue Reporting
Calculate total revenue for a specific period:
Order Fulfilment
Order Fulfilment
Process orders that require physical shipping:
Customer Purchase History
Customer Purchase History
View a customer’s complete purchase history:This returns all sales for the specified customer, including:
- Purchase dates and amounts
- Products purchased
- Applied discounts
- Current access status
Failed Payment Recovery
Failed Payment Recovery
Identify and process failed payments:
Discount Performance Analysis
Discount Performance Analysis
Analyse discount code usage and effectiveness:
Settlement Information
For completed sales, thesettlement object provides details about merchant payouts:
amount- Net amount to be paid to merchant (after fees)due_at- When settlement is scheduleddone_at- When settlement was completed (null if pending)service_fee- Chariow platform service fee
Download Tracking
Monitor customer download activity:- Track product engagement
- Identify customers who haven’t accessed their purchase
- Monitor for unusual download patterns
Related Resources
Checkout Guide
Learn how to create sales
Pulses
Get notified of new sales
Sales API
View the complete Sales API reference