get_sales_commissions
Get sales commissions by applying filters like product ID, date range, transaction status, and commission role to refine results.
Instructions
Sales Commissions
Retorna as comissões de vendas.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| max_results | No | Número máximo de resultados por página | |
| page_token | No | Token de paginação para a próxima página | |
| product_id | No | ID do produto | |
| start_date | No | Data inicial (timestamp em milissegundos desde epoch) | |
| end_date | No | Data final (timestamp em milissegundos desde epoch) | |
| transaction | No | Código da transação | |
| commission_as | No | Papel de comissão do usuário autenticado. Values: PRODUCER, COPRODUCER, AFFILIATE | |
| transaction_status | No | Status da transação. Values: APPROVED, BLOCKED, CANCELLED, CHARGEBACK, COMPLETE, EXPIRED, NO_FUNDS, OVERDUE, PARTIALLY_REFUNDED, PRE_ORDER, PRINTED_BILLET, PROCESSING_TRANSACTION, PROTESTED, REFUNDED, STARTED, UNDER_ANALISYS, WAITING_PAYMENT | |
| select | No | Seleção de campos customizados na resposta |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- src/hotmart_mcp/tools/sales.py:206-252 (handler)The `get_sales_commissions` async function that implements the tool logic. It calls the Hotmart API endpoint /payments/api/v1/sales/commissions with optional query params and returns JSON.
async def get_sales_commissions( max_results: Optional[int] = None, page_token: Optional[str] = None, product_id: Optional[int] = None, start_date: Optional[int] = None, end_date: Optional[int] = None, transaction: Optional[str] = None, commission_as: Optional[str] = None, transaction_status: Optional[str] = None, select: Optional[str] = None, ) -> str: """Sales Commissions Retorna as comissões de vendas. Args: max_results: Número máximo de resultados por página page_token: Token de paginação para a próxima página product_id: ID do produto start_date: Data inicial (timestamp em milissegundos desde epoch) end_date: Data final (timestamp em milissegundos desde epoch) transaction: Código da transação commission_as: Papel de comissão do usuário autenticado. Values: PRODUCER, COPRODUCER, AFFILIATE transaction_status: Status da transação. Values: APPROVED, BLOCKED, CANCELLED, CHARGEBACK, COMPLETE, EXPIRED, NO_FUNDS, OVERDUE, PARTIALLY_REFUNDED, PRE_ORDER, PRINTED_BILLET, PROCESSING_TRANSACTION, PROTESTED, REFUNDED, STARTED, UNDER_ANALISYS, WAITING_PAYMENT select: Seleção de campos customizados na resposta""" endpoint = "/payments/api/v1/sales/commissions" params = {} if max_results is not None: params["max_results"] = max_results if page_token is not None: params["page_token"] = page_token if product_id is not None: params["product_id"] = product_id if start_date is not None: params["start_date"] = start_date if end_date is not None: params["end_date"] = end_date if transaction is not None: params["transaction"] = transaction if commission_as is not None: params["commission_as"] = commission_as if transaction_status is not None: params["transaction_status"] = transaction_status if select is not None: params["select"] = select result = await get_client().get(endpoint, params=params) return json.dumps(result, indent=2) - src/hotmart_mcp/tools/sales.py:8-8 (registration)The function is exported via __all__ in the sales module, which is re-exported by tools/__init__.py and auto-discovered by the MCP server.
__all__ = ["get_sales_history", "get_sales_summary", "get_sales_participants", "get_sales_commissions", "get_sales_price_details", "refund_sale"] - src/hotmart_mcp/server.py:21-37 (registration)The server's `_discover_and_register_tools` function auto-discovers all async coroutine functions in the tools package and registers them with FastMCP as MCP tools.
def _discover_and_register_tools() -> int: """Import all modules under hotmart_mcp.tools and register async functions.""" registered = 0 for module_info in pkgutil.iter_modules(tools_pkg.__path__, prefix=f"{tools_pkg.__name__}."): if module_info.name.endswith("__init__"): continue module = importlib.import_module(module_info.name) for name, obj in inspect.getmembers(module, iscoroutinefunction): if name.startswith("_"): continue mcp.tool()(obj) registered += 1 return registered - src/hotmart_mcp/tools/__init__.py:1-9 (registration)The tools __init__.py re-exports all functions from the sales module (among others), making get_sales_commissions discoverable by the server.
"""Auto-generated: re-exports all tool functions.""" from .club import * # noqa: F401,F403 from .coupons import * # noqa: F401,F403 from .negotiation import * # noqa: F401,F403 from .products import * # noqa: F401,F403 from .sales import * # noqa: F401,F403 from .subscriptions import * # noqa: F401,F403 from .tickets import * # noqa: F401,F403