get_subscriptions_summary
Retrieves a summary of subscriptions with optional filters by product ID, subscriber code, or date range.
Instructions
Subscription Summary
Retorna o resumo das assinaturas.
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 | |
| subscriber_code | No | Código do assinante | |
| accession_date | No | Data de adesão inicial (timestamp em milissegundos) | |
| end_accession_date | No | Data de adesão final (timestamp em milissegundos) | |
| date_next_charge | No | Data da próxima cobrança (timestamp em milissegundos) | |
| select | No | Seleção de campos customizados na resposta |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- Handler function for get_subscriptions_summary tool. Calls Hotmart API endpoint /payments/api/v1/subscriptions/summary with optional query parameters and returns JSON.
async def get_subscriptions_summary( max_results: Optional[int] = None, page_token: Optional[str] = None, product_id: Optional[int] = None, subscriber_code: Optional[int] = None, accession_date: Optional[int] = None, end_accession_date: Optional[int] = None, date_next_charge: Optional[int] = None, select: Optional[str] = None, ) -> str: """Subscription Summary Retorna o resumo das assinaturas. 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 subscriber_code: Código do assinante accession_date: Data de adesão inicial (timestamp em milissegundos) end_accession_date: Data de adesão final (timestamp em milissegundos) date_next_charge: Data da próxima cobrança (timestamp em milissegundos) select: Seleção de campos customizados na resposta""" endpoint = "/payments/api/v1/subscriptions/summary" 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 subscriber_code is not None: params["subscriber_code"] = subscriber_code if accession_date is not None: params["accession_date"] = accession_date if end_accession_date is not None: params["end_accession_date"] = end_accession_date if date_next_charge is not None: params["date_next_charge"] = date_next_charge 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/server.py:21-37 (registration)Auto-discovery registration: get_subscriptions_summary is discovered automatically since it's an exported async function in the tools.subscriptions module.
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 - Module exports: get_subscriptions_summary is exported in __all__ for the tools package.
__all__ = ["get_subscriptions", "get_subscriptions_summary", "get_subscription_transactions", "get_subscriber_purchases", "cancel_subscription", "batch_cancel_subscriptions", "reactivate_subscription", "batch_reactivate_subscriptions", "change_subscription_due_day"]