HMMML Shop
API активации для разработчиков
Если вы купили HMMML-коды и хотите активировать их из своего бота, сайта или CRM, используйте публичный API. Те же коды можно активировать вручную на странице hmmml.ru/activate.
Обзор
Публичный endpoint:
https://hmmml.ru/api/redeemУ API два действия: check проверяет код без списания, activate активирует код на нужный аккаунт. Провайдеры, остатки CDK и внутренние детали наружу не отдаются.
Рекомендуемый порядок
- Получите HMMML-код от покупателя.
- Вызовите check и определите тариф по plan.
- Запросите у покупателя нужные данные аккаунта для этого тарифа.
- Вызовите activate один раз и дождитесь ответа.
- Если ответ pending, не запускайте активацию на другой аккаунт. Покажите сообщение и повторите проверку позже с тем же кодом.
Проверить код
curl -X POST https://hmmml.ru/api/redeem \
-H "Content-Type: application/json" \
-d '{"action":"check","code":"HMMML-XXXX-XXXX-XXXX-XXXX"}'{
"success": true,
"valid": true,
"plan": "GROK_PRO_1M",
"planName": "SuperGrok CDK 1 month"
}Активировать код
Для ChatGPT нужен полный JSON со страницы https://chatgpt.com/api/auth/session.
curl -X POST https://hmmml.ru/api/redeem \
-H "Content-Type: application/json" \
-d '{
"action": "activate",
"code": "HMMML-XXXX-XXXX-XXXX-XXXX",
"sessionData": { "...": "full ChatGPT session JSON object" }
}'Для Claude нужен Organization ID.
{
"action": "activate",
"code": "HMMML-XXXX-XXXX-XXXX-XXXX",
"claudeOrgId": "00000000-0000-0000-0000-000000000000"
}Для Grok можно передать полный session JSON или только user id.
{
"action": "activate",
"code": "HMMML-XXXX-XXXX-XXXX-XXXX",
"grokUserId": "00000000-0000-0000-0000-000000000000"
}Для Perplexity нужен полный JSON со страницы https://www.perplexity.ai/api/user.
{
"action": "activate",
"code": "HMMML-XXXX-XXXX-XXXX-XXXX",
"perplexityUserJson": { "...": "full Perplexity user JSON object" }
}Успешный ответ:
{
"success": true,
"message": "Subscription activated",
"email": "target@example.com"
}Поддерживаемые тарифы
| План | Товар | Поле для активации |
|---|---|---|
| PLUS_1M | ChatGPT Plus 1 месяц | sessionData |
| PRO_X5_1M | ChatGPT Pro x5 1 месяц | sessionData |
| PRO_1M | ChatGPT Pro x20 1 месяц | sessionData |
| GO_1M | ChatGPT Go 1 месяц | sessionData |
| CLAUDE_PRO_1M | Claude Pro 1 месяц | claudeOrgId |
| GROK_PRO_1M | SuperGrok 1 месяц | grokUserId |
| GROK_PRO_2M | SuperGrok 2 месяца | grokUserId |
| PERPLEXITY_PRO_1M | Perplexity Pro 1 месяц | perplexityUserJson |
Частые ошибки
| INVALID_CODE | Code is invalid, expired, disabled, or not active. |
| ALREADY_DELIVERED | Code has already been used. |
| INVALID_FORMAT | ChatGPT Session JSON is incomplete or malformed. |
| TOKEN_EXPIRED | ChatGPT session expired; refresh /api/auth/session. |
| ALREADY_SUBSCRIBED | Target account already has an active subscription. |
| INVALID_ORG_ID | Claude Organization ID is not a UUID. |
| INVALID_USER_ID | Grok User ID or session JSON is invalid. |
| INVALID_USER_JSON | Perplexity /api/user JSON is invalid. |
| ALREADY_PROCESSING | The same code is already being activated. |
| PENDING_VERIFICATION | Activation is being confirmed in background. |
| NO_CDK | No provider key is currently available for this plan. |
Правила интеграции
- Один код можно активировать только один раз.
- Не отправляйте один и тот же код параллельно из нескольких воркеров.
- Не повторяйте uncertain/pending активацию на другом аккаунте.
- Не показывайте покупателю провайдеров, CDK и внутренние ошибки.
- У API есть rate limit. Коротко кешируйте результат check на своей стороне.
- Для поддержки передавайте HMMML-код, план, время запроса и error code.