Skip to main content

Client for the Midasbuy code-activation API — free tier included

Project description

midasbuy-sdk

Python-клиент для API активации кодов Midasbuy.

Есть бесплатный тариф: ключ выдаётся без регистрации и без оплаты. Это бета — лимиты временные и будут пересмотрены по её итогам.

pip install midasbuy-sdk

Как получить ключ

Напишите Telegram-боту @midasbuy_api_bot команду /free.

К заявке приложите ссылки на свои профили на площадках, где вы торгуете, и скриншоты-подтверждения. Это единственный барьер: он стоит не ради формальности, а чтобы бесплатные ключи не разошлись пачками по одноразовым аккаунтам.

Один бесплатный ключ в одни руки. Повторная заявка вернёт тот же ключ.

Первый вызов

from midasbuy_sdk import MidasbuyClient

with MidasbuyClient("ваш-ключ") as client:
    # 1. подключите свой Midas-аккаунт — активировать нужно на него
    account = client.connect_account(cookies="...", game="pubgm")

    # 2. активируйте код
    accepted = client.activate("CODE-1234", account_id=account.account_id)

    # 3. дождитесь результата
    result = client.wait_for(accepted.activation_id)
    print(result.status, result.granted_item)

Асинхронно — те же имена методов:

from midasbuy_sdk import AsyncMidasbuyClient

async with AsyncMidasbuyClient("ваш-ключ") as client:
    accepted = await client.activate("CODE-1234", account_id="acc_...")
    result = await client.wait_for(accepted.activation_id)

Что делает клиент за вас

Ключ идемпотентности. Каждый POST уходит с Idempotency-Key, и повтор использует тот же ключ. Поэтому таймаут или 429 не превращают одну активацию в две. Свой ключ можно передать явно — тогда и ваш собственный ретрай схлопнется в одну операцию:

client.activate("CODE-1234", account_id="acc_...", idempotency_key="order-42")

Отступ при 429. Превышение темпа — это не ошибка, а обратное давление: клиент ждёт Retry-After и продолжает. Исключение RateLimited вы увидите только когда ретраи кончились.

Ошибки

Каждая — отдельный тип, у всех есть code и request_id (его удобно цитировать в поддержке).

  • RateLimited — слишком быстро. Поле retry_after, ничего не потрачено.
  • DailyCapReached — исчерпан суточный потолок активаций, в reset_at время сброса.
  • AuthFailed — ключ не принят. Сервис намеренно не уточняет, почему.
  • OutOfStock — кода такого номинала нет в вашем стоке.
  • NotFound — объекта нет либо он чужой; API эти случаи не различает.
  • WaitTimeoutwait_for не дождался. Активация всё ещё выполняется: опросите get_activation позже. Повторно активировать код нельзя — он спишется дважды.

Методы

Метод Что делает
connect_account(cookies, game=) Подключить свой Midas-аккаунт
list_accounts() Подключённые аккаунты
activate(code, account_id=) Активировать один код
activate_batch(denomination_value=, quantity=, account_id=, game=) Активировать пачку из своего стока
get_activation(id) Статус одной активации
activation_statuses(ids) Статусы многих активаций одним вызовом
wait_for(id, poll=, timeout=) Ждать терминального статуса
list_games() Поддерживаемые игры
list_packages(game) Номиналы одной игры
key_status() Состояние ключа: остаток на сегодня, срок

Про бету

Пока идёт бета, ограничитель — темп запросов, а не суточная квота: упёршись, вы получаете 429, ждёте и продолжаете работать. Суточный потолок активаций тоже есть, но он аварийный.

По итогам беты числа будут пересмотрены, и часть возможностей станет платной — о том, какие именно, сказано заранее: доставка результатов вебхуками, ссылки для выдачи и второй подключённый Midas-аккаунт.

Лицензия

MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

midasbuy_sdk-0.1.0.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

midasbuy_sdk-0.1.0-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file midasbuy_sdk-0.1.0.tar.gz.

File metadata

  • Download URL: midasbuy_sdk-0.1.0.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for midasbuy_sdk-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4d729ffecbbea6e3bb57b0e8ceb45c3b566916ac3ae5973459d9fac28e958b65
MD5 8c37f1ca16be5fb87402f5362553a54c
BLAKE2b-256 5e0614f190b1389ab144542d43f4e0db7b49b107c10e1e1ab1cde4c46bad47a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for midasbuy_sdk-0.1.0.tar.gz:

Publisher: publish.yml on zlexdev/midasbuy-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file midasbuy_sdk-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: midasbuy_sdk-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for midasbuy_sdk-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5f24c1787ef5c3b0fe03f0bff23e328397d47544ede20dccce7a7b5f9a34a080
MD5 a38fb9a983cc1f7c25f7e69799abff6a
BLAKE2b-256 928296f35c54103ffcacf989438b8bdf2d3e386717c8badd49069e0153af5a1a

See more details on using hashes here.

Provenance

The following attestation bundles were made for midasbuy_sdk-0.1.0-py3-none-any.whl:

Publisher: publish.yml on zlexdev/midasbuy-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page