get_entity for a single record by ID, list_entities for filtered listings. This page documents their filters and response shapes, and how to choose between them and the reporting tools.
Choosing the right tool
Clicks and transactions are identified by the 32-character transaction ID; conversions by the conversion ID.
In event responses, most empty, zero, or false fields are omitted — any given record may carry only a subset of the keys listed below (e.g.
campaign_id, error_message, coupon_code, is_view_through, and is_test_mode appear only when set). A few string fields (e.g. browser, os_version, referer, coupon_code) may instead come back as an empty string "" rather than being dropped — treat “key absent” and “empty string” the same way.Click
transaction_id, timestamp, offer_id, offer_name, affiliate_id, affiliate_name, advertiser_id, advertiser_name, campaign_id, error_code, error_message, is_unique, is_view_through, is_test_mode, payout, revenue, currency, country, region, city, browser, platform, device_type, os_version, user_ip, sub1–sub10, source_id, referer, coupon_code, has_conversion, previous_transaction_id.
Listing clicks
list_entities(type="click", filters=…) accepts:
Conversion
conversion_id, transaction_id, timestamp, click_timestamp, status, error_code, error_message, offer_id, offer_name, affiliate_id, affiliate_name, advertiser_id, advertiser_name, campaign_id, payout, revenue, sale_amount, payout_type, revenue_type, currency, event_id, event_name, order_id, coupon_code, is_scrub, is_view_through, country, region, city, platform, device_type, browser, os_version, sub1–sub10, adv1–adv10, source_id, referer.
Listing conversions
list_entities(type="conversion", filters=…) accepts:
Conversions for a transaction:
list_entities(type="conversion", filters={"transaction_id":"<32-char id>"}) is the flat alternative to get_entity(type="transaction"). It returns the same conversions, but cursor-paginated instead of capped at 10 and without the click / pixel / on-hold wrapper. Because it’s an indexed lookup, no from/to window is required.Transaction
Each collection is capped (10 items) to stay within the context window. For each, the response includes
<name>_total and <name>_returned; a <name>_truncated: true flag is added only when the collection exceeded the cap (it is omitted otherwise). Compare <name>_total with <name>_returned to detect when there’s more than what’s shown. When conversions are truncated, conversions_note gives the exact list_entities(type="conversion", filters={"transaction_id":…}) call to page through all of them.
Order
.myshopify.com URL — and to the transaction it generated. The id is the store’s order id (the long Shopify order id, not the 32-char transaction ID).
Response fields: order_id, order_number, transaction_id, source, integration_id, shopify_store_url, offer_id, affiliate_id, customer_email, total, timestamp, items (each: product_id, sku, name, quantity, price). shopify_store_url is populated for Shopify orders only; integration_id is the store’s integration ID on the network.
Listing orders
list_entities(type="order", filters=…) accepts:
The by-integration listing is backed by the order line-item table, not the order store, so it returns a lighter record (no
total, customer_email, offer/affiliate ids, or line items — fetch a single order by id for those) and excludes orders that have no line items. It’s scanned newest-first in bounded chunks; a has_more: true with a note means more orders match or the scan budget was reached — narrow the window to see the rest.The former
get_click and get_conversion tools remain callable for backward compatibility but are deprecated and no longer listed — see Deprecated tools.