Skip to main content

Библиотека для взаимодействия с GraphQL API платформы Playerok

Project description

Установка

pip install playerok-requests-api

Требования

  • Python 3.6+
  • Библиотека wrapper-tls-requests==1.1.2
  • Файл cookies (cookies.json) для аутентификации

Использование

from playerok_requests_api.users import PlayerokUsersApi

api = PlayerokUsersApi(cookies_file="cookies.json", logger=True)
profile = api.get_profile()
if profile:
    print(f"Ник: {profile[0]}, Всего товаров: {profile[2]}")

Содержание

Обзор

API разделён на четыре основных модуля, каждый из которых отвечает за определённый аспект работы с платформой Playerok:

  • Пользователи: Управление профилями пользователей, балансами и связанной информацией.
  • Сделки: Работа со сделками, включая подтверждение сделок и получение оплаченных сделок.
  • Товары: Управление товарами (лотами) на платформе, включая получение, копирование и повышение приоритета товаров.
  • Чаты: Взаимодействие с функционалом чатов, включая отправку сообщений и получение статусов сообщений.

Документация

Пользователи

Модуль PlayerokUsersApi предоставляет функционал для управления информацией о пользователях на платформе Playerok. Он позволяет получать данные о профиле, балансе, а также ID пользователя по его имени.

Инициализация

from playerok_requests_api.users import PlayerokUsersApi

api = PlayerokUsersApi(cookies_file="cookies.json", logger=False)
  • cookies_file: Путь к файлу с cookies для аутентификации (по умолчанию cookies.json).
  • logger: Включение/выключение логирования (по умолчанию False).

Методы

Метод Описание Возвращаемое значение
get_username() Получает имя пользователя и ID текущего аккаунта из cookies. Кортеж (username, id) или ('', '') при ошибке.
get_id_for_username(username) Получает ID пользователя по его имени. str (ID) или None при ошибке.
get_balance() Получает информацию о балансе аккаунта. Словарь с ключами AllBalance, available, pendingIncome, frozen или None.
get_full_info() Получает полную информацию о профиле пользователя. Словарь с данными профиля или None.
get_profile() Получает краткую информацию о профиле (ник, отзывы, товары, сделки). Кортеж (nickname, testimonial_count, total_items, purchases_total, sales_total, active_items, finished_items) или None.

Пример использования

Получение профиля пользователя
profile = api.get_profile()
if profile:
    print(f"Ник: {profile[0]}")
    print(f"Количество отзывов: {profile[1]}")
    print(f"Всего товаров: {profile[2]}")
else:
    print("Ошибка при получении профиля")
Получение баланса
balance = api.get_balance()
if balance:
    print(f"Общий баланс: {balance['AllBalance']}")
    print(f"Доступно: {balance['available']}")
else:
    print("Ошибка при получении баланса")

Обработка ошибок

  • При ошибках запросов (например, неверные cookies или проблемы с API) методы возвращают None и выводят сообщение об ошибке.
  • Включите логирование (logger=True) для получения дополнительной информации об ошибках.

Сделки

Модуль PlayerokDealsApi предоставляет функционал для работы со сделками на платформе Playerok. Он позволяет подтверждать сделки и получать список оплаченных сделок.

Инициализация

from playerok_requests_api.deals import PlayerokDealsApi

api = PlayerokDealsApi(cookies_file="cookies.json", logger=False)
  • cookies_file: Путь к файлу с cookies для аутентификации (по умолчанию cookies.json).
  • logger: Включение/выключение логирования (по умолчанию False).

Методы

Метод Описание Возвращаемое значение
get_username() Получает имя пользователя и ID текущего аккаунта из cookies. Кортеж (username, id) или ('', '') при ошибке.
deal_confirm(id) Подтверждает сделку по её ID. Словарь с ответом API или None при ошибке.
get_actual_deals() Получает список актуальных оплаченных сделок для текущего пользователя. Словарь с данными сделок или None при ошибке.

Пример использования

Подтверждение сделки
deal_id = "12345"
response = api.deal_confirm(deal_id)
if response:
    print("Сделка успешно подтверждена:", response)
else:
    print("Ошибка при подтверждении сделки")
Получение актуальных сделок
deals = api.get_actual_deals()
if deals:
    print("Актуальные сделки:", deals)
else:
    print("Ошибка при получении сделок")

Обработка ошибок

  • При ошибках (например, неверный ID сделки или проблемы с API) методы возвращают None и выводят сообщение об ошибке.
  • Включите логирование (logger=True) для диагностики проблем.

Товары

Модуль PlayerokItemsApi предоставляет функционал для управления товарами (лотами) на платформе Playerok. Он позволяет получать информацию о товарах, копировать товары, повышать их приоритет и возобновлять завершенные лоты.

Инициализация

from playerok_requests_api.items import PlayerokItemsApi

api = PlayerokItemsApi(cookies_file="cookies.json", logger=False)
  • cookies_file: Путь к файлу с cookies для аутентификации (по умолчанию cookies.json).
  • logger: Включение/выключение логирования (по умолчанию False).

Методы

Метод Описание Возвращаемое значение
get_username() Получает имя пользователя и ID текущего аккаунта из cookies. Кортеж (username, id) или ('', '') при ошибке.
fetch_lots(after_cursor=None) Получает завершенные лоты с пагинацией. Словарь с данными лотов или None при ошибке.
fetch_exhibited_lots(userid=None, after_cursor=None) Получает выставленные лоты (свои или другого пользователя). Словарь с данными лотов или None при ошибке.
all_exhibited_lots(userid=None) Получает все выставленные лоты (свои или другого пользователя). Список словарей с данными лотов.
get_all_lots(search_filter=None) Получает все завершенные лоты с опциональным фильтром поиска. Список словарей с данными лотов.
copy_product(link) Получает данные для выставления товара по ссылке. Словарь с данными товара или None при ошибке.
increase_item_priority(item_id) Повышает приоритет товара по его ID. Словарь с ответом API или None при ошибке.
refill_item(item_id) Возобновляет завершенный товар по его ID. Словарь с ответом API или None при ошибке.
get_product_data(link) Получает полную информацию о товаре по ссылке. Словарь с данными товара или None при ошибке.
get_item_positioninfind(item_slug) Получает позицию товара на рынке по его slug. int (позиция) или ошибка.

Пример использования

Получение всех выставленных лотов
lots = api.all_exhibited_lots()
if lots:
    for lot in lots:
        print(f"Товар: {lot['node']['name']}, Цена: {lot['node']['price']}")
else:
    print("Ошибка при получении лотов")
Копирование товара
link = "https://playerok.com/products/example-product"
product_data = api.copy_product(link)
if product_data:
    print(f"Название: {product_data['title']}, Цена: {product_data['price']}")
else:
    print("Ошибка при копировании товара")

Обработка ошибок

  • При ошибках (например, неверная ссылка или проблемы с API) методы возвращают None или пустой список и выводят сообщение об ошибке.
  • Включите логирование (logger=True) для получения дополнительной информации.

Чаты

Модуль PlayerokChatsApi предоставляет функционал для работы с чатами на платформе Playerok. Он позволяет отправлять сообщения, получать статусы сообщений, отслеживать новые и непрочитанные сообщения, а также управлять информацией о чатах.

Инициализация

from playerok_requests_api.chats import PlayerokChatsApi

api = PlayerokChatsApi(cookies_file="cookies.json", logger=False)
  • cookies_file: Путь к файлу с cookies для аутентификации (по умолчанию cookies.json).
  • logger: Включение/выключение логирования (по умолчанию False).

Методы

Метод Описание Возвращаемое значение
get_username() Получает имя пользователя и ID текущего аккаунта из cookies. Кортеж (username, id) или ('', '') при ошибке.
on_username_id_get(profileusername, username) Получает ID чата для указанных пользователей. str (ID чата) или None при ошибке.
on_send_message(username, text) Отправляет сообщение указанному пользователю. Словарь с ответом API или None при ошибке.
get_status_messages(difference=300) Получает сообщения со статусами сделок за указанный период (в секундах). Список словарей с данными {id, status, timestamp} или None.
get_new_messages(interval=5, max_interval=30) Получает новые сообщения с периодической проверкой. Список словарей с данными {chat_id, participant, message, date}.
get_messages_info(unread=False) Получает информацию о всех чатах (или только с непрочитанными сообщениями). Список словарей с данными чатов или [].
fetch_chats(after_cursor=None) Получает чаты с пагинацией. Словарь с данными чатов или None при ошибке.
get_unread_messages() Возвращает количество непрочитанных сообщений. int (количество сообщений).

Пример использования

Отправка сообщения
username = "example_user"
message = "Привет, как дела?"
response = api.on_send_message(username, message)
if response:
    print("Сообщение отправлено:", response)
else:
    print("Ошибка при отправке сообщения")
Получение новых сообщений
new_messages = api.get_new_messages()
if new_messages:
    for msg in new_messages:
        print(f"От: {msg['participant']}, Сообщение: {msg['message']}, Время: {msg['date']}")
else:
    print("Новых сообщений нет")
Подсчет непрочитанных сообщений
unread_count = api.get_unread_messages()
print(f"Непрочитанных сообщений: {unread_count}")

Обработка ошибок

  • При ошибках (например, неверный username, проблемы с API или отсутствие чата) методы возвращают None, пустой список или 0 и выводят сообщение об ошибке.
  • Включите логирование (logger=True) для получения дополнительной информации об ошибках.

Примечания

  • Метод get_status_messages требует доработки для обработки всех страниц сообщений, а не только первой.
  • Метод get_new_messages работает в цикле с настраиваемыми интервалами проверки, что может быть полезно для мониторинга чатов в реальном времени.

Лицензия

MIT License

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

playerok_requests_api-0.1.6.tar.gz (20.3 kB view details)

Uploaded Source

Built Distribution

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

playerok_requests_api-0.1.6-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

Details for the file playerok_requests_api-0.1.6.tar.gz.

File metadata

  • Download URL: playerok_requests_api-0.1.6.tar.gz
  • Upload date:
  • Size: 20.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.0

File hashes

Hashes for playerok_requests_api-0.1.6.tar.gz
Algorithm Hash digest
SHA256 3426f4ebdc57fd507ecfa8bc4141d455e2ed341a8601c9619293b3f949500411
MD5 47d41460d747ed8798122200917a68b0
BLAKE2b-256 cbb5e822bddab4aece9990264727c0f10b0a20e7589abd8b3380e295bc46003e

See more details on using hashes here.

File details

Details for the file playerok_requests_api-0.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for playerok_requests_api-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 eea36433afad3a6913ca6629e034c17d796057b281f9121363a99ef6bf6c45e2
MD5 93c3673636c3e17d6443de1dfe665ebd
BLAKE2b-256 8d39e298e083dd6d0a8ffd1fd4b70c9ab936e87468f93e0303426952dddaf920

See more details on using hashes here.

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