Hotmart · AsyncAPI Specification
Hotmart Webhooks
Version
View Spec
View on GitHub
CompanyCreator EconomyDigital ProductsOnline CoursesE-CommercePaymentsSubscriptionsAffiliate MarketingWebhooksLearning ManagementBrazilAsyncAPIWebhooksEvents
AsyncAPI Specification
generated: '2026-08-04'
method: searched
source: https://developers.hotmart.com/docs/en/2.0.0/webhook/purchase-webhook/
spec_type: Webhooks
asyncapi_published: false
asyncapi_note: >-
Hotmart publishes no AsyncAPI (or CloudEvents / EventCatalog) document for its
event surface, and no AsyncAPI file was found on the docs host, on the API
hosts, or in the Hotmart-Org GitHub organization. The event catalog below is
the webhook surface Hotmart documents in prose, captured as-is. No AsyncAPI
has been generated on Hotmart's behalf.
description: >-
Hotmart's event surface is a webhook ("postback") integration configured
per-product in the Hotmart platform. It notifies an integrator endpoint when
purchases, subscriptions, members-area activity and physical-product logistics
change state. Two independently versioned event schemas exist, 1.0.0 and
2.0.0; the version is chosen when the webhook configuration is created and
arrives on every payload in a `version` field.
docs:
overview: https://developers.hotmart.com/docs/en/1.0.0/webhook/about-webhook/
using: https://developers.hotmart.com/docs/en/1.0.0/webhook/using-webhook/
response_codes: https://developers.hotmart.com/docs/en/1.0.0/webhook/http-response-codes-webhook/
help_center: https://help.hotmart.com/en/article/360001491352/how-do-i-set-up-my-product-s-api-using-the-webhook-postback-
transport:
style: HTTP POST to a subscriber-provided URL
configuration: >-
Created in the Hotmart platform per product; the events to receive and the
receiving address are selected there. Integration is a three-step flow —
create a receiving endpoint, configure product/events/address, test.
authentication:
mechanism: shared secret
header: X-HOTMART-HOTTOK
field: hottok
description: >-
Each Hotmart account has a unique token. It is sent as X-HOTMART-HOTTOK in
the HTTP header of every request and Hotmart recommends validating it
before processing the payload. Changing the token requires contacting
Hotmart support. There is no HMAC body signature and no timestamp/replay
defence.
envelope_fields:
id: unique identification code of the event received (the dedupe key)
creation_date: event creation date, in milliseconds since 1970-01-01T00:00:00Z
event: the event name (see events below)
version: the event schema version — 1.0.0 or 2.0.0
data: the event payload
hottok: the account shared secret (also sent as a header)
event_history:
retention_days: 60
where: the webhook configuration screen in the Hotmart platform
delivery_status_codes:
- status: 2XX
meaning: All good — delivery accepted.
- status: 400
meaning: The receiving service identified a missing or invalid required parameter.
- status: 401
meaning: >-
The receiving service is requiring a key for authentication. Check that
it validates `hottok` and is not requiring a different key.
- status: 404
meaning: The receiving service URL does not exist.
- status: 408
meaning: >-
Connection established and event triggered, but the receiver did not
respond within the expected time.
- status: 5XX
meaning: Receiver connected but did not respond within the expected time limit.
- status: -1
meaning: >-
Receiver terminated the connection unexpectedly without reporting the
reason. Hotmart's own sentinel value, not an HTTP status.
retry_policy: null
retry_note: Hotmart documents no retry/backoff schedule for failed deliveries.
versions:
- version: 2.0.0
status: current
events: 8 event families
- version: 1.0.0
status: legacy
note: >-
Still selectable and documented, but new fields (order bump, buyer
details, currency, variants, shipping, offer metadata) have been added
only to 2.0.0 since 2022.
events:
- name: PURCHASE_APPROVED
family: purchase
version: 2.0.0
docs: https://developers.hotmart.com/docs/en/2.0.0/webhook/purchase-webhook/
description: A purchase was approved.
- name: PURCHASE_COMPLETE
family: purchase
version: 2.0.0
description: A purchase completed (warranty period elapsed).
- name: PURCHASE_CANCELED
family: purchase
version: 2.0.0
description: A purchase was canceled.
- name: PURCHASE_BILLET_PRINTED
family: purchase
version: 2.0.0
description: A bank payment slip (boleto) was generated for a purchase.
- name: PURCHASE_PROTEST
family: purchase
version: 2.0.0
description: A purchase entered dispute.
- name: PURCHASE_REFUNDED
family: purchase
version: 2.0.0
description: A purchase was refunded.
- name: PURCHASE_CHARGEBACK
family: purchase
version: 2.0.0
description: A purchase was charged back.
- name: PURCHASE_EXPIRED
family: purchase
version: 2.0.0
description: A purchase expired without payment.
- name: PURCHASE_DELAYED
family: purchase
version: 2.0.0
description: Payment for a purchase is delayed.
- name: PURCHASE_OUT_OF_SHOPPING_CART
family: cart
version: 2.0.0
docs: https://developers.hotmart.com/docs/en/2.0.0/webhook/cart-abandonment-webhook/
description: Cart abandonment — a lead left checkout without completing the purchase.
- name: SUBSCRIPTION_CANCELLATION
family: subscription
version: 2.0.0
docs: https://developers.hotmart.com/docs/en/2.0.0/webhook/cancel-subscription-webhook/
description: A subscription was cancelled.
- name: SWITCH_PLAN
family: subscription
version: 2.0.0
docs: https://developers.hotmart.com/docs/en/2.0.0/webhook/switch-plan-webhook/
description: A subscriber changed plan.
- name: UPDATE_SUBSCRIPTION_CHARGE_DATE
family: subscription
version: 2.0.0
docs: https://developers.hotmart.com/docs/en/2.0.0/webhook/update-subscription-charge-date/
description: A subscription's billing date changed.
- name: CLUB_FIRST_ACCESS
family: club
version: 2.0.0
docs: https://developers.hotmart.com/docs/en/2.0.0/webhook/club-first-access/
description: A student accessed the members area (Hotmart Club) for the first time.
- name: CLUB_MODULE_COMPLETED
family: club
version: 2.0.0
docs: https://developers.hotmart.com/docs/en/2.0.0/webhook/club-module-completed/
description: A student completed a module in the members area.
- name: ORDER_FULFILLMENT
family: logistics
version: 2.0.0
docs: https://developers.hotmart.com/docs/en/2.0.0/webhook/order-fulfillment-webhook/
description: >-
Logistics data for a physical-product order — shipping type
(FIXED_PRICE / FLAT_RATE / FREE_SHIPPING), carrier / fulfilment partner
(CORREIOS, MONTINK, UICLAP, MANUAL, PARTNER).
partner_managed_webhooks:
description: >-
Authorized physical-product business partners manage their own webhook
registrations through the REST API rather than the platform UI.
operations:
- method: POST
url: https://developers.hotmart.com/physicalproducts/api/v1/webhook
docs: https://developers.hotmart.com/docs/en/v1/physical-product/pp-webhook-create/
- method: PUT
url: https://developers.hotmart.com/physicalproducts/api/v1/webhook/:webhook_id
docs: https://developers.hotmart.com/docs/en/v1/physical-product/pp-webhook-update/
- method: DELETE
url: https://developers.hotmart.com/physicalproducts/api/v1/webhook/:webhook_id
docs: https://developers.hotmart.com/docs/en/v1/physical-product/pp-webhook-delete/
payload_enums:
purchase_status:
- APPROVED
- BLOCKED
- CANCELLED
- CHARGEBACK
- COMPLETE
- EXPIRED
- NO_FUNDS
- OVERDUE
- PARTIALLY_REFUNDED
- PRE_ORDER
- PRINTED_BILLET
- PROCESSING_TRANSACTION
- DISPUTE
- REFUNDED
- STARTED
- UNDER_ANALISYS
- WAITING_PAYMENT
subscription_status:
- ACTIVE
- INACTIVE
- DELAYED
- OVERDUE
- STARTED
- EXPIRED
- CANCELLED_BY_CUSTOMER
- CANCELLED_BY_SELLER
- CANCELLED_BY_ADMIN
payment_type:
- BILLET
- CASH_PAYMENT
- CREDIT_CARD
- DIRECT_BANK_TRANSFER
- DIRECT_DEBIT
- ECHECK
- FINANCED_BILLET
- FINANCED_INSTALLMENT
- GOOGLE_PAY
- HOTCARD
- HYBRID
- MANUAL_TRANSFER
- PAYPAL
- PAYPAL_INTERNACIONAL
- PICPAY
- SAMSUNG_PAY
- WALLET
commission_source:
- PRODUCER
- COPRODUCER
- AFFILIATE
- ADDON
x-evidence:
fetched: '2026-08-04'
urls:
- https://developers.hotmart.com/docs/en/2.0.0/webhook/purchase-webhook/
- https://developers.hotmart.com/docs/en/2.0.0/webhook/cart-abandonment-webhook/
- https://developers.hotmart.com/docs/en/2.0.0/webhook/cancel-subscription-webhook/
- https://developers.hotmart.com/docs/en/2.0.0/webhook/switch-plan-webhook/
- https://developers.hotmart.com/docs/en/2.0.0/webhook/update-subscription-charge-date/
- https://developers.hotmart.com/docs/en/2.0.0/webhook/club-first-access/
- https://developers.hotmart.com/docs/en/2.0.0/webhook/club-module-completed/
- https://developers.hotmart.com/docs/en/2.0.0/webhook/order-fulfillment-webhook/
- https://developers.hotmart.com/docs/en/1.0.0/webhook/http-response-codes-webhook/
asyncapi_probes:
- {url: 'https://developers.hotmart.com/asyncapi.yaml', http_status: 200, result: HTML docs shell, valid: false}
- {url: 'https://api-sec-vlc.hotmart.com/openapi.json', http_status: 404, valid: false}
- {url: 'https://github.com/Hotmart-Org', http_status: 200, result: '12 public repos, none an API/event specification'}