Skip to main content
GET
/
stats
/
query_ambassador_sales
cURL
curl --request GET \
  --url https://api.growi.io/api/public/v1/stats/query_ambassador_sales \
  --header 'Authorization: Bearer <token>'
{
  "data": [
    {
      "id": 1947457,
      "ambassador": {
        "name": "Amanda Paradis",
        "email": "amanda@example.com",
        "avatar_url": "<string>"
      },
      "program": {
        "id": 16200,
        "name": "Ambassador Program",
        "affiliate_status": "active"
      },
      "order": {
        "id": 1024995,
        "total": "$291.70",
        "subtotal": "$276.50",
        "log": [
          {}
        ]
      },
      "sale_amount": {
        "formatted": "$291.70",
        "cents": 29170
      },
      "commission": {
        "amount": 8.75,
        "formatted": "$8.75",
        "original_amount": 8.75,
        "original_formatted": "$8.75",
        "override": 0,
        "has_override": false
      },
      "occurred_at": "2025-09-30T23:55:29.000Z",
      "due_in_days": 50,
      "invoice": "<string>",
      "status": "pending",
      "refunded": false,
      "disable_attribution": false,
      "self_referral": false
    }
  ],
  "meta": {
    "row_count": 12588,
    "page_count": 630,
    "current_page": 1
  },
  "additional_data": {
    "total_gmv": 1424557.53,
    "total_commission": 140331.24,
    "paid_commission": 0,
    "unpaid_commission": 140331.24,
    "total_orders": 12588,
    "total_quantity": 31386,
    "total_refunded_amount": 0,
    "total_returned_amount": 0,
    "total_posts": 0
  },
  "user_contents": [
    {}
  ]
}
Retrieves detailed ambassador sales data including order information, commission amounts, and program details within a specified date range. This endpoint supports filtering by payment status, creator email, and pagination.

Request Parameters

ParameterTypeDescriptionRequired
start_dateStringStart date in MM/DD/YYYY formatYes
end_dateStringEnd date in MM/DD/YYYY formatYes
pageIntegerPage number for pagination. Default is 1.No
per_pageIntegerNumber of results per page. Default is 20. Maximum is 100.No
statusStringFilter by status: paid, due, pending, canceled, or refundedNo
creator_emailStringFilter results by the creator’s (ambassador’s) email addressNo
affiliate_tagStringFilter by affiliate tagNo
order_idStringFilter by a Shopify order idNo

Request Example

curl -X GET "https://api.growi.io/api/public/v1/stats/query_ambassador_sales?start_date=09/01/2025&end_date=09/30/2025&page=1&per_page=20&status=pending&creator_email=example@example.com" \
     -H "Authorization: Bearer YOUR_PUBLIC_API_KEY" \
     -H "Content-Type: application/json"

Response Example

{
  "data": [
    {
      "id": 0,
      "ambassador": {
        "id": 0,
        "name": "0",
        "email": "example@example.com",
        "avatar_url": null
      },
      "program": {
        "id": 0,
        "name": "Test Program",
        "affiliate_status": "active"
      },
      "order": {
        "id": 0,
        "total": "$1.70",
        "subtotal": "$1.50",
        "logs": []
      },
      "sale_amount": {
        "formatted": "$1.70",
        "cents": 170
      },
      "commission": {
        "amount": 1.75,
        "formatted": "$1.75",
        "original_amount": 1.75,
        "original_formatted": "$1.75",
        "override": 0.0,
        "has_override": false
      },
      "occurred_at": "2025-09-30T23:55:29.000Z",
      "due_in_days": 50,
      "invoice": null,
      "status": "pending",
      "refunded": false,
      "disable_attribution": false,
      "self_referral": false
    }
  ],
  "meta": {
    "row_count": 0,
    "page_count": 0,
    "current_page": 1
  },
  "additional_data": {
    "total_gmv": 0,
    "total_commission": 0,
    "paid_commission": 0.0,
    "unpaid_commission": 0,
    "total_orders": 0,
    "total_quantity": 0,
    "total_refunded_amount": 0,
    "total_returned_amount": 0,
    "total_posts": 0
  },
  "user_contents": []
}

Response Fields

FieldTypeDescription
dataArrayArray of ambassador sale objects
data[].idIntegerUnique identifier for the sale record
data[].ambassadorObjectAmbassador information
data[].ambassador.nameStringDisplay name of the ambassador
data[].ambassador.emailStringEmail address of the ambassador
data[].ambassador.avatar_urlStringURL to the ambassador’s avatar image (null if not available)
data[].programObjectProgram information
data[].program.idIntegerUnique identifier for the program
data[].program.nameStringName of the ambassador program
data[].program.affiliate_statusStringStatus of the affiliate (e.g., “active”)
data[].orderObjectOrder details
data[].order.idIntegerUnique identifier for the order
data[].order.totalStringTotal order amount in formatted currency
data[].order.subtotalStringOrder subtotal in formatted currency
data[].order.logsArrayOrder activity logs
data[].sale_amountObjectSale amount details
data[].sale_amount.formattedStringFormatted sale amount with currency symbol
data[].sale_amount.centsIntegerSale amount in cents
data[].commissionObjectCommission details
data[].commission.amountNumberCommission amount in dollars
data[].commission.formattedStringFormatted commission amount with currency symbol
data[].commission.original_amountNumberOriginal commission amount before any overrides
data[].commission.original_formattedStringFormatted original commission amount
data[].commission.overrideNumberOverride amount applied to commission
data[].commission.has_overrideBooleanWhether commission has been manually overridden
data[].occurred_atStringISO 8601 timestamp when the sale occurred
data[].due_in_daysIntegerNumber of days until commission payment is due
data[].invoiceStringAssociated invoice (null if none)
data[].statusStringSale status: paid, due, pending, canceled, or refunded
data[].refundedBooleanWhether the sale has been refunded
data[].disable_attributionBooleanWhether attribution is disabled for this sale
data[].self_referralBooleanWhether this is a self-referral (ambassador purchased from themselves)
metaObjectPagination metadata
meta.row_countIntegerTotal number of records matching the query
meta.page_countIntegerTotal number of pages available
meta.current_pageIntegerCurrent page number
additional_dataObjectSummary statistics for the query results
additional_data.total_gmvNumberTotal Gross Merchandise Value for all sales in the date range
additional_data.total_commissionNumberTotal commission amount across all sales
additional_data.paid_commissionNumberTotal commission already paid out
additional_data.unpaid_commissionNumberTotal commission not yet paid
additional_data.total_ordersIntegerTotal number of orders
additional_data.total_quantityIntegerTotal quantity of items sold
additional_data.total_refunded_amountNumberTotal amount refunded
additional_data.total_returned_amountNumberTotal amount returned
additional_data.total_postsIntegerTotal number of posts associated with sales

Status Filter Options

The status parameter accepts the following values:
  • all - Returns all sales regardless of status
  • paid - Returns only sales where commission has been paid
  • due - Returns sales where commission payment is due
  • pending - Returns sales with pending commission payments
  • canceled - Returns canceled sales
  • refunded - Returns refunded sales

Use Cases

This endpoint is useful for:
  • Commission Reports: Generate detailed commission reports for ambassadors
  • Financial Analytics: Track GMV, commission, and payment status across date ranges
  • Ambassador Performance: Monitor individual ambassador sales and earnings
  • Payment Processing: Identify due and pending commissions for payout processing
  • Self-Referral Detection: Filter out or identify self-referral transactions
  • Email Filtering: Filter sales by ambassador’s email for precision reporting
  • Affiliate Tag Filtering: Find sales by affiliate tags

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

start_date
string<date>
default:09/01/2025
required

Start date in MM/DD/YYYY format

end_date
string<date>
default:09/30/2025
required

End date in MM/DD/YYYY format

page
integer
default:1

Page number for pagination. Default is 1.

per_page
integer
default:20

Number of results per page. Default is 20. Maximum is 100.

Required range: x <= 100
status
enum<string>
default:all

Filter by sale status

Available options:
all,
paid,
due,
pending,
canceled,
refunded
creator_email
string<email>

Filter results by the creator’s (ambassador’s) email address

affiliate_tag
string

Filter by affiliate tag

order_id
string

Filter by a Shopify order ID

Response

Ambassador sales retrieved successfully

data
object[]
meta
object
additional_data
object
user_contents
object[]

User-generated content associated with sales

I