Dashboard
How it Works Documentation Quick Start PAPI — Pages & Assets MAPI — Dynamic Data Integrations SAPI — Sessions & Forms MCP Server OpenClaw Skill Tools Deploy Dashboard
Member Provisioning (sales webhooks)

Member Provisioning (sales webhooks)

⚡ Built-in — Platform Built-in

Sell on any platform — members manage themselves. Connect your sales platform's webhook (Hotmart today; more platforms on the roadmap) and every sale automatically creates a member in your Tenant Auth community: buyers log in with their purchase email (OTP), no password setup, no manual work. Refunds, chargebacks and cancellations revoke access instantly — sessions are killed and gated file downloads stop working on the next click. Map each product/offer to a tenant group, keep a full audit trail of every event, and test the entire chain with the built-in simulator before going live. Webhook endpoint: POST https://api.websitepublisher.ai/sapi/project/{id}/webhook/{provider}.

⚡ Built-in — No Setup Required This integration is built into the WebsitePublisher platform. All endpoints are available immediately — no API key needed.

Endpoints (6)

POST configure

Enable a sales platform for this project. Returns the exact webhook_url to paste into the platform's webhook settings. The shared token (e.g. the Hotmart hottok) must be stored in the vault first (vault_store_secret) — pass its key name as secret_ref. Providers: hotmart (more via the roadmap).

Field Type Required Description
provider string ✓ Yes Provider slug, e.g. "hotmart".
secret_ref string No Vault key name holding the platform's shared token (e.g. "hotmart_hottok").
status string No active (default) | disabled.
POST map-offer

Link a product or offer at the sales platform to a tenant group. A sale of this external_id then grants membership in tenant_code; refund/cancel revokes it. For Hotmart use the offer code (data.purchase.offer.code) or the numeric product id — both work. Upserts on (provider, external_id).

Field Type Required Description
provider string ✓ Yes Provider slug, e.g. "hotmart".
external_id string ✓ Yes Offer code or product id at the platform.
tenant_code string ✓ Yes Tenant group that this sale grants access to.
role string No Optional tenant_auth role for created members (default member).
POST unmap-offer

Remove a product/offer mapping. Sales of that external_id are then audited as "unmapped" and never touch membership.

Field Type Required Description
provider string ✓ Yes Provider slug.
external_id string ✓ Yes The mapped offer/product id to remove.
POST list-mappings

List all product/offer → tenant_code mappings for this project, optionally filtered by provider.

Field Type Required Description
provider string No Filter by provider slug.
POST list-events

Audit trail of every received event: processed, duplicate, ignored, unmapped, signature_failed or error — with buyer email, action and detail. Your first stop when a member says "I paid but can't log in".

Field Type Required Description
provider string No Filter by provider.
status string No Filter: processed|duplicate|ignored|unmapped|signature_failed|error.
action string No Filter: grant|revoke.
buyer_email string No Filter by buyer email.
limit integer No Page size (default 50, max 200).
offset integer No Pagination offset.
POST simulate

Test the entire chain without the real platform: injects a synthetic grant or revoke event through the same engine (idempotency, mapping, tenant lifecycle, audit). Verify the member appears/disappears and gated downloads open/close — then go live with confidence.

Field Type Required Description
provider string ✓ Yes Provider slug the simulation runs under, e.g. "hotmart".
action string ✓ Yes grant | revoke.
buyer_email string ✓ Yes The (test) buyer's email.
external_id string No Offer/product id — must be mapped via map-offer, else the event audits as "unmapped".

MCP Tool Names

When using this integration through an AI assistant (Claude, ChatGPT, Cursor, etc.), the endpoints are available as MCP tools:

EndpointMCP Tool Name
configure member-provisioning_configure
map-offer member-provisioning_map_offer
unmap-offer member-provisioning_unmap_offer
list-mappings member-provisioning_list_mappings
list-events member-provisioning_list_events
simulate member-provisioning_simulate
← Back to all integrations