Configuring Hotmart as a Source
In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Hotmart option from the list of connectors. Click Next and you’ll be prompted to add your access.1. Add account access
You’ll need your Hotmart API credentials for this connection. You can obtain these from the Hotmart Developer Portal (check official docs). Once you have them, add the following credentials:- Client ID: The client ID to authenticate against the API service.
- Client secret: The client secret to authenticate against the API service.
- Token: The basic token to authenticate against the API service. You should pass only the token value without the
Basicprefix. - Members area subdomain: The subdomain of your member’s area. It can be extracted from your
hotmart.com/club/{subdomain}. - Start date: Records created or updated after the start date will be extracted from the source.
2. Select streams
Choose which data streams you want to sync - you can select all streams or pick specific ones that matter most to you. The available streams include sales history, subscriptions, products, and more.Tip: The stream can be found more easily by typing its name.Select the streams and click Next.
3. Configure data streams
Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a folder to organize it inside the layer, a name for each table (which will effectively contain the fetched data) and the type of sync.- Layer: choose between the existing layers on your catalog. This is where you will find your new extracted tables as the extraction runs successfully.
- Folder: a folder can be created inside the selected layer to group all tables being created from this new data source.
- Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix to all tables at once and make this process faster!
- Sync Type: you can choose between INCREMENTAL and FULL_TABLE.
- Incremental: every time the extraction happens, we’ll get only the new data - which is good if, for example, you want to keep every record ever fetched.
- Full table: every time the extraction happens, we’ll get the current state of the data - which is good if, for example, you don’t want to have deleted data in your catalog.
4. Configure data source
Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). Optionally, you can define some additional settings:- Configure Delta Log Retention and determine for how long we should store old states of this table as it gets updated. Read more about this resource here.
- Determine when to execute an Additional Full Sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while.
5. Check your new source
You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.Streams and Fields
Below you’ll find all available data streams from Hotmart and their corresponding fields:Sales History
Sales History
Stream containing historical sales data from your Hotmart products.Key Fields:
| Field | Type | Description |
|---|---|---|
id | String | Unique identifier for the sale (transaction ID) |
product | Object | Product information |
buyer | Object | Buyer information |
producer | Object | Producer information |
purchase | Object | Purchase details |
Subscriptions
Subscriptions
Stream containing information about recurring subscriptions.Key Fields:
| Field | Type | Description |
|---|---|---|
subscriber_code | String | Code identifying the subscriber |
subscription_id | String | Unique identifier for the subscription |
status | String | Current status of the subscription |
accession_date | String | Date when the subscription started |
end_accession_date | String | Date when the subscription ended |
request_date | String | Date when the subscription was requested |
date_next_charge | String | Date of the next charge |
trial | Boolean | Whether this is a trial subscription |
transaction | String | Transaction identifier |
plan | Object | Subscription plan details |
product | Object | Product information |
price | Object | Price information |
subscriber | Object | Subscriber information |
Subscription Transactions
Subscription Transactions
Stream containing transaction history for subscriptions.Key Fields:
| Field | Type | Description |
|---|---|---|
id | String | Unique identifier for the transaction |
last_recurrency_start_date | String | Start date of the last recurrence |
has_unpaid_recurrency | Boolean | Whether there are unpaid recurrences |
product | Object | Product information |
subscriber | Object | Subscriber information |
recurrency | Object | Recurrence information |
last_recurrency_number | Integer | Last recurrence number |
trial_info | Object | Trial information |
purchase | Object | Purchase information |
cancellation_date | String | Cancellation date |
is_paid_anticipation | Boolean | Whether payment was anticipated |
max_cycles | Integer | Maximum number of cycles |
adoption_date | String | Adoption date |
subscriber_code | String | Subscriber’s code |
date_next_charge | String | Next charge date |
is_paid_negotiation | Boolean | Whether payment was negotiated |
last_update | String | Last update timestamp |
billing_type | String | Type of billing |
producer | Object | Producer information |
subscription_id | String | Subscription identifier |
has_credit_card_change | Boolean | Whether credit card was changed |
plan | Object | Plan information |
status | String | Overall status |
Sales Commission
Sales Commission
Stream containing commission information for sales.Key Fields:
| Field | Type | Description |
|---|---|---|
transaction | String | Unique identifier for the transaction |
product | Object | Product information |
exchange_rate_currency_payout | Number | Exchange rate for currency payout |
commissions | Array | Array of commission information |
Sales Participants
Sales Participants
Stream containing information about participants in sales transactions.Key Fields:
| Field | Type | Description |
|---|---|---|
transaction | String | Unique identifier for the transaction |
product | Object | Product information |
users | Array | Array of user information |
Price Details
Price Details
Stream containing detailed pricing information for products.Key Fields:
| Field | Type | Description |
|---|---|---|
transaction | String | Unique identifier for the transaction |
product | Object | Product information |
base | Object | Base price information |
total | Object | Total price information |
vat | Object | VAT information |
fee | Object | Fee information |
coupon | Object | Coupon information |
real_conversion_rate | Number | Real currency conversion rate |
Products
Products
Stream containing information about your Hotmart products.Key Fields:
| Field | Type | Description |
|---|---|---|
id | String | Unique identifier for the product |
name | String | Name of the product |
ucode | String | Unique product code |
status | String | Current status of the product |
created_at | String | Creation date timestamp |
format | String | Product format |
is_subscription | Boolean | Whether the product is a subscription |
warranty_period | Integer | Warranty period in days |
Students
Students
Stream containing information about students enrolled in your products.Key Fields:
| Field | Type | Description |
|---|---|---|
user_id | String | Unique identifier for the student |
engagement | String | Student’s engagement level |
name | String | Student’s name |
email | String | Student’s email |
last_access_date | String | Last access timestamp |
role | String | Student’s role |
first_access_date | String | First access timestamp |
locale | String | Student’s locale |
plus_access | Boolean | Plus access status |
progress | Object | Progress information |
status | String | Current status |
access_count | Integer | Number of accesses |
is_deletable | Boolean | Whether the student can be deleted |
class_id | String | Class identifier |
type | String | Student type |
Implementation Notes
API Pagination & Limits
- Windowed Pagination: To prevent timeouts and improve reliability when extracting large amounts of historical data, the
Sales HistoryandPrice Detailsstreams utilize windowed pagination. The connector requests data in yearly (12-month) blocks starting from your configuredStart Dateup to the current date.
Skills for agents
Download Hotmart skills file
Hotmart connector documentation as plain markdown, for use in AI agent contexts.