PrintNowPrintNowDocs

Reports

Run sales, order, customer, product, shipping, tax, and other business reports via the Enterprise API.

The Reports endpoints let you programmatically run the same business reports available in the Unified Admin. All 14 report types share a common set of parameters and return structured JSON data for integration with external analytics, dashboards, and business intelligence tools.

Endpoints

MethodEndpointDescription
GET/api/v2/report/salesSales summary by storefront
GET/api/v2/report/taxTax details per order
GET/api/v2/report/orderOrder counts by time period
GET/api/v2/report/order_detailsDetailed order-level data
GET/api/v2/report/order_item_detailsLine item-level order data
GET/api/v2/report/product_salesSales by product
GET/api/v2/report/promotion_codePromotion code usage
GET/api/v2/report/customer_listCustomer list with order summaries
GET/api/v2/report/customer_salesSales by customer
GET/api/v2/report/shippingShipping costs by provider
GET/api/v2/report/sales_repSales by representative
GET/api/v2/report/saved_projectsSaved projects by customer
GET/api/v2/report/conversion_rateStorefront conversion funnel
GET/api/v2/report/affiliatesAffiliate performance

Shared Parameters

All report endpoints accept the same base parameters:

NameTypeLocationRequiredDescription
storefrontIdintegerqueryYesTarget storefront ID. Use 0 to aggregate across all storefronts under your license.
fromDatedatequeryYesStart date (inclusive). Format: YYYY-MM-DD.
toDatedatequeryYesEnd date (inclusive). Format: YYYY-MM-DD. If fromDate is after toDate, they are automatically swapped.

Example Request

curl -X GET "https://api.printnow.com/api/v2/report/sales?storefrontId=0&fromDate=2026-01-01&toDate=2026-01-31" \
  -u "YOUR_TOKEN:YOUR_KEY"

If a non-zero storefrontId does not match an active storefront, the report returns empty results (it internally uses an invalid ID of -1 to ensure no data matches).

Sales Report

Summary of users, orders, and revenue by storefront.

GET /api/v2/report/sales

Example Response

[
  {
    "storefront": "Retail Print Site",
    "user_count": 247,
    "order_count": 1053,
    "order_average": 45.82,
    "order_total": 48248.46
  }
]
FieldTypeDescription
storefrontstringStorefront name.
user_countintegerNumber of unique customers who ordered.
order_countintegerTotal number of orders.
order_averagedecimalAverage order value.
order_totaldecimalTotal revenue.

Tax Report

Tax breakdown per order with geographic grouping.

GET /api/v2/report/tax

Example Response

[
  {
    "order_id": 5001,
    "order_date": "2026-01-15",
    "country": "US",
    "state": "NY",
    "sub_total": 49.99,
    "shipping_total": 5.00,
    "promotion_total": 0.00,
    "tax_total": 4.37,
    "grand_total": 59.36,
    "group_by_key": "US"
  }
]
FieldTypeDescription
order_idintegerOrder ID.
order_datedateDate the order was placed.
countrystringShipping country.
statestringShipping state/province.
sub_totaldecimalOrder subtotal.
shipping_totaldecimalShipping cost.
promotion_totaldecimalPromotion discount.
tax_totaldecimalTax amount.
grand_totaldecimalGrand total (subtotal + shipping + tax - promotions).
group_by_keystringCountry grouping key for aggregation.

Order Report

Order and item counts aggregated by time period.

GET /api/v2/report/order

Example Response

[
  {
    "period": "2026-01-15",
    "order_count": 12,
    "item_count": 34,
    "order_total": 548.70,
    "tax_total": 43.90,
    "shipping_total": 36.00
  }
]

Additional parameter:

NameTypeLocationDescription
viewBystringqueryAggregation period: day (default), month, or year.
FieldTypeDescription
periodstringTime period label (date, month, or year depending on viewBy).
order_countintegerNumber of orders in the period.
item_countintegerNumber of line items in the period.
order_totaldecimalTotal revenue for the period.
tax_totaldecimalTotal tax for the period.
shipping_totaldecimalTotal shipping for the period.

Order Details Report

Comprehensive order-level data including addresses, payment, and fulfillment.

GET /api/v2/report/order_details

Example Response

[
  {
    "order_id": 5001,
    "customer_email": "jane@example.com",
    "billing_address": "123 Main St, New York, NY 10001",
    "shipping_address": "123 Main St, New York, NY 10001",
    "order_date": "2026-01-15",
    "store_url": "www.retailprintsite.com",
    "sales_rep": "John Doe",
    "sub_total": 49.99,
    "shipping_total": 5.00,
    "promotion_total": 0.00,
    "tax_total": 4.37,
    "grand_total": 59.36,
    "promotion_code": "",
    "shipping_provider": "UPS",
    "shipping_method": "Ground",
    "tracking_numbers": "1Z999AA10123456784",
    "invoice_number": "",
    "order_status": "Shipped",
    "company": "Acme Corp",
    "user_group": "Wholesale"
  }
]
FieldTypeDescription
order_idintegerOrder ID.
customer_emailstringCustomer email address.
billing_addressstringFormatted billing address.
shipping_addressstringFormatted shipping address.
order_datedateDate the order was placed.
store_urlstringStorefront URL.
sales_repstringAssigned sales representative name.
sub_totaldecimalOrder subtotal.
shipping_totaldecimalShipping cost.
promotion_totaldecimalPromotion discount amount.
tax_totaldecimalTax amount.
grand_totaldecimalGrand total.
promotion_codestringPromotion code used, if any.
shipping_providerstringShipping carrier name.
shipping_methodstringShipping service level.
tracking_numbersstringTracking numbers (comma-separated).
invoice_numberstringInvoice number.
order_statusstringCurrent order status.
companystringCustomer company name.
user_groupstringCustomer user group.

Order Item Details Report

Line item-level data with shipping and fulfillment details per item.

GET /api/v2/report/order_item_details

Example Response

[
  {
    "order_id": 5001,
    "order_date": "2026-01-15",
    "customer_company": "Acme Corp",
    "customer_name": "Jane Smith",
    "customer_username": "janesmith",
    "item_id": 8001,
    "item_status": "Shipped",
    "product_name": "Business Cards",
    "product_item_number": "BC-001",
    "product_model_number": "",
    "quantity": 500,
    "item_total": 49.99,
    "shipping_address_line_1": "123 Main St",
    "shipping_address_line_2": "",
    "shipping_address_line_3": "",
    "shipping_address_line_4": "",
    "shipping_address_city": "New York",
    "shipping_address_state": "NY",
    "shipping_address_postal_code": "10001",
    "shipping_method": "Ground",
    "shipping_provider": "UPS",
    "shipped_on": "2026-01-18",
    "tracking_numbers": "1Z999AA10123456784",
    "shipping_total": 5.00,
    "customer_user_groups": "Wholesale"
  }
]
FieldTypeDescription
order_idintegerParent order ID.
order_datestringDate the order was placed.
customer_companystringCustomer company name.
customer_namestringCustomer full name.
customer_usernamestringCustomer username.
item_idintegerLine item ID.
item_statusstringCurrent item status.
product_namestringProduct name.
product_item_numberstringProduct item/SKU number.
product_model_numberstringProduct model number.
quantityintegerOrdered quantity.
item_totaldecimalLine item total.
shipping_address_line_1stringShipping address line 1.
shipping_address_line_2stringShipping address line 2.
shipping_address_line_3stringShipping address line 3.
shipping_address_line_4stringShipping address line 4.
shipping_address_citystringShipping city.
shipping_address_statestringShipping state/province.
shipping_address_postal_codestringShipping postal/ZIP code.
shipping_methodstringShipping service level.
shipping_providerstringShipping carrier name.
shipped_ondateShip date (null if not shipped).
tracking_numbersstringTracking numbers.
shipping_totaldecimalShipping cost for this item.
customer_user_groupsstringCustomer user group.

Product Sales Report

Sales aggregated by product.

GET /api/v2/report/product_sales

Example Response

[
  {
    "storefront_id": 1,
    "storefront": "Retail Print Site",
    "product_id": 42,
    "category_name": "Business Cards",
    "product_name": "Standard Business Cards",
    "quantity": 25000,
    "order_count": 87,
    "sales_total": 4350.00
  }
]
FieldTypeDescription
storefront_idintegerStorefront ID.
storefrontstringStorefront name.
product_idintegerProduct ID.
category_namestringProduct category.
product_namestringProduct name.
quantityintegerTotal units ordered.
order_countintegerNumber of orders containing this product.
sales_totaldecimalTotal revenue from this product.

Promotion Code Report

Promotion code usage and discount totals.

GET /api/v2/report/promotion_code

Example Response

[
  {
    "code": "SUMMER2026",
    "storefront_id": 1,
    "storefront": "Retail Print Site",
    "description": "Summer Sale 15% Off",
    "expiration": "2026-09-01",
    "order_count": 34,
    "discount_total": 512.40
  }
]
FieldTypeDescription
codestringPromotion code.
storefront_idintegerStorefront ID.
storefrontstringStorefront name.
descriptionstringPromotion description.
expirationstringExpiration date.
order_countintegerNumber of orders using this code.
discount_totaldecimalTotal discount amount applied.

Customer List Report

Customer list with order and sales summaries. Includes marketing opt-in status.

GET /api/v2/report/customer_list

Example Response

[
  {
    "storefront_id": 1,
    "storefront": "Retail Print Site",
    "customer_id": 12345,
    "customer_company": "Acme Corp",
    "customer_first_name": "Jane",
    "customer_last_name": "Smith",
    "customer_email": "jane@example.com",
    "customer_username": "janesmith",
    "customer_last_login_on": "2026-01-15",
    "customer_created_on": "2025-06-01",
    "order_count": 12,
    "sales_total": 548.70,
    "customer_marketing_emails": true
  }
]
FieldTypeDescription
storefront_idintegerStorefront ID.
storefrontstringStorefront name.
customer_idintegerCustomer ID.
customer_companystringCustomer company name.
customer_first_namestringFirst name.
customer_last_namestringLast name.
customer_emailstringEmail address.
customer_usernamestringUsername.
customer_last_login_ondateLast login date.
customer_created_ondateAccount creation date.
order_countintegerTotal orders placed in the date range.
sales_totaldecimalTotal sales amount.
customer_marketing_emailsbooleanWhether the customer opted in to marketing emails.

Customer Sales Report

Sales breakdown by customer with contact details.

GET /api/v2/report/customer_sales

Example Response

[
  {
    "storefront_id": 1,
    "storefront": "Retail Print Site",
    "customer_id": 12345,
    "customer_company": "Acme Corp",
    "customer_first_name": "Jane",
    "customer_last_name": "Smith",
    "customer_email": "jane@example.com",
    "customer_username": "janesmith",
    "customer_last_login_on": "2026-01-15",
    "customer_created_on": "2025-06-01",
    "order_count": 12,
    "sales_total": 548.70
  }
]
FieldTypeDescription
storefront_idintegerStorefront ID.
storefrontstringStorefront name.
customer_idintegerCustomer ID.
customer_companystringCustomer company name.
customer_first_namestringFirst name.
customer_last_namestringLast name.
customer_emailstringEmail address.
customer_usernamestringUsername.
customer_last_login_onstringLast login date.
customer_created_onstringAccount creation date.
order_countintegerNumber of orders.
sales_totaldecimalTotal sales amount.

Shipping Report

Shipping costs aggregated by carrier and service level.

GET /api/v2/report/shipping

Example Response

[
  {
    "storefront_id": 1,
    "storefront": "Retail Print Site",
    "provider": "UPS",
    "description": "Ground",
    "shipping_total": 1250.00,
    "order_count": 312
  }
]
FieldTypeDescription
storefront_idintegerStorefront ID.
storefrontstringStorefront name.
providerstringShipping carrier name.
descriptionstringShipping service description.
shipping_totaldecimalTotal shipping charges.
order_countintegerNumber of orders using this shipping method.

Sales Rep Report

Sales performance by representative.

GET /api/v2/report/sales_rep

Example Response

[
  {
    "storefront_id": 1,
    "storefront": "Retail Print Site",
    "sales_rep_id": 100,
    "sales_rep_name": "John Doe",
    "order_count": 45,
    "order_average": 62.30,
    "order_total": 2803.50
  }
]
FieldTypeDescription
storefront_idintegerStorefront ID.
storefrontstringStorefront name.
sales_rep_idintegerSales rep customer ID.
sales_rep_namestringSales rep display name.
order_countintegerNumber of orders assigned to this rep.
order_averagedecimalAverage order value for this rep.
order_totaldecimalTotal revenue for this rep.

Saved Projects Report

Customers with saved projects (designs not yet ordered).

GET /api/v2/report/saved_projects

Example Response

[
  {
    "storefront_id": 1,
    "storefront": "Retail Print Site",
    "customer_id": 12345,
    "customer_company": "Acme Corp",
    "customer_first_name": "Jane",
    "customer_last_name": "Smith",
    "customer_email": "jane@example.com",
    "customer_username": "janesmith",
    "project_count": 3
  }
]
FieldTypeDescription
storefront_idintegerStorefront ID.
storefrontstringStorefront name.
customer_idintegerCustomer ID.
customer_companystringCustomer company name.
customer_first_namestringFirst name.
customer_last_namestringLast name.
customer_emailstringEmail address.
customer_usernamestringUsername.
project_countintegerNumber of saved projects.

Conversion Rate Report

Storefront conversion funnel metrics.

GET /api/v2/report/conversion_rate

Example Response

[
  {
    "storefront": "Retail Print Site",
    "total_sessions": 5200,
    "added_to_cart": 1040,
    "reached_checkout": 520,
    "converted": 312
  }
]
FieldTypeDescription
storefrontstringStorefront name.
total_sessionsintegerTotal visitor sessions.
added_to_cartintegerSessions where items were added to cart.
reached_checkoutintegerSessions that reached the checkout page.
convertedintegerSessions that completed a purchase.

Affiliates Report

Affiliate referral performance.

GET /api/v2/report/affiliates

Example Response

[
  {
    "affiliate_id": 50,
    "company": "Print Partners Inc",
    "affiliate_code": "PARTNER50",
    "first_name": "Bob",
    "last_name": "Johnson",
    "email": "bob@printpartners.com",
    "order_count": 28,
    "order_total": 1890.00,
    "affiliate_total": 189.00
  }
]
FieldTypeDescription
affiliate_idintegerAffiliate ID.
companystringAffiliate company name.
affiliate_codestringAffiliate referral code.
first_namestringAffiliate first name.
last_namestringAffiliate last name.
emailstringAffiliate email.
order_countintegerNumber of referred orders.
order_totaldecimalTotal revenue from referred orders.
affiliate_totaldecimalTotal commission earned.
  • Reports — run the same reports interactively in the admin UI
  • Storefronts — discover storefront IDs required by all report endpoints

On this page