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.4.tar.gz (19.8 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.4-py3-none-any.whl (20.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: playerok_requests_api-0.1.4.tar.gz
  • Upload date:
  • Size: 19.8 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.4.tar.gz
Algorithm Hash digest
SHA256 4f2c695de84ca4427517c81f76e5b6a4e79c9a69d2c05add09c3031dbcd2983c
MD5 b71fd645c1bbe6779d71b39f4308ff0c
BLAKE2b-256 7cbeb021ed8d73c8826d2840601b557db64fcabfd71990ca1feab11ecc164e02

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for playerok_requests_api-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 a5dbc8f7ccac84f69c583ed690768663e470c88928719f8196e7f867a627f20d
MD5 1dbeec594a9c49c51e177741bbb09ef8
BLAKE2b-256 1e96f06b6f422f9c30f794d2b6c928cefad112ce98bbc1c679be6716745ce332

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