Web API
Клиент
Одинаково для синхронного и асинхронного клиента.
Bases: WebClientObject
Этот клиент позволяет получить данные сайта без API ключа или получить информацию, которая недоступна через API. Для некоторых методов необходимо указать ID сессии. Он находится в файлах куки (или хедерах) и переодически сбрасывается.
Если вам не нравятся предупреждения об устаревании от httpx, то повысьте уровень логов модуля. Это не ошибка https://github.com/encode/httpx/discussions/2931.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
sessionid
|
int
|
ID сессии. Может быть пустым. |
None
|
proxy
|
str
|
Прокси для запросов. Для использования нужен контекстный менеджер with. |
None
|
base_url
|
str
|
Ссылка на API Steam Trader. |
None
|
**kwargs
|
Будут переданы httpx клиенту. Например timeout. |
{}
|
Attributes:
Name | Type | Description |
---|---|---|
sessionid |
int
|
ID сессии. |
proxy |
str
|
Прокси для запросов. |
base_url |
str
|
Ссылка на API Steam Trader. |
_get_request(url, *, headers=None, params=None, cookies=None, de_json=True, **kwargs)
Создать GET запрос и вернуть данные.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
method
|
str
|
Ссылка для запроса. |
required |
headers
|
dict[str, str]
|
Заголовки запроса. |
None
|
params
|
dict[str, Any]
|
Параметры запроса. |
None
|
cookies
|
dict[str, str]
|
Куки запроса. |
None
|
de_json
|
bool
|
Преобразовать запрос в формат для использования. |
True
|
**kwargs
|
Будут переданы httpx клиенту. |
{}
|
Returns:
Name | Type | Description |
---|---|---|
Any |
Any
|
Ответ сервера. |
get_history_page(gameid, category='last')
Получить страницу истории продаж.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
gameid
|
int
|
AppID игры. |
required |
category
|
str
|
Категория истории. 'last': Последние покупки. По умолчанию. 'day_most': Самые дорогие за 24 часа. 'all_time_most': Самые дорогие за все время. |
'last'
|
Returns:
Type | Description |
---|---|
Sequence[HistoryItem]
|
Sequence[HistoryItem]: Последовательность предметов из истории. |
get_item_info(gid, *, page=1, items_on_page=24)
Получить информацию о предмете через WebAPI. Позволяет увидеть описание индивидуальных предметов.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
gid
|
int
|
ID группы предметов. |
required |
page
|
int
|
Номер страницы. |
1
|
items_on_page
|
int
|
Кол-во предметов на странице. Значение должно быть в диапазоне от 24 до 120 с интервалом 6. |
24
|
Returns:
Name | Type | Description |
---|---|---|
ItemInfo |
ItemInfo
|
Информация о предмете. |
get_main_page(gameid, *, price_from=0, price_to=2000, filters=None, text=None, sort='-rating', page=1, items_on_page=24)
Получить главную страницу покупки для игры.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
gameid
|
int
|
AppID игры. |
required |
price_from
|
int
|
Минимальная цена предмета. |
0
|
price_to
|
int
|
Максимальная цена предмета. Если больше или равно 2000, ограничение снимается. |
2000
|
filters
|
dict[str, int]
|
Словарь пар название/ID. См web_api.api.Filters для названий и web_api.constants для ID. |
None
|
text
|
str
|
Текст, который должен встречаться в названии. |
None
|
sort
|
Literal
|
Метод сортировки. '-rating' - Сначала самые популярные. По умолчанию. 'rating' - Сначала менее популярные. '-price' - Сначала самые дорогие. 'price' - Сначала самые дешёвые. '-benefit' - Сначала самые невыгодные. 'benefit' - Сначала самые выгодные. '-name' - В алфавитном порядке UNICODE. 'name' - В обратном алфавитном порядке UNICODE. |
'-rating'
|
page
|
int
|
Номер страницы, начиная с 1. |
1
|
items_on_page
|
int
|
Кол-во отображаемых предметов на странице. Значение должно быть в диапазоне от 24 до 120 с интервалом 6. |
24
|
Returns:
Name | Type | Description |
---|---|---|
MainPage |
MainPage
|
Главная страница покупки. |
get_referals(status=None, items_on_page=24)
Получить список рефералов.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
status
|
int
|
Статус реферала. None - Все. По умолчанию. 1 - Активный. 2 - Пассивный. |
None
|
items_on_page
|
int
|
Кол-во рефералов на странице. Значение должно быть в диапазоне от 24 до 120. |
24
|
Returns:
Type | Description |
---|---|
Sequence[Referal]
|
Sequence[Referal]: Список рефералов. |
get_referral_link()
Получить реферальную ссылку.
Returns:
Name | Type | Description |
---|---|---|
str |
str
|
Реферальная ссылка. |
Датаклассы
HistoryItem
dataclass
Bases: WebClientObject
Класс, представляющий предмет из истории продаж.
Attributes:
Name | Type | Description |
---|---|---|
name |
str
|
Название предмета. |
date |
str
|
Отформатированная строка времени. |
price |
float
|
Цена, за которую был продан предмет. |
color |
str
|
HEX код цвета текста названия. |
image_url |
str
|
Неабсолютная ссылка на изображение предмета. |
ItemDescription
dataclass
Bases: WebClientObject
Класс, представляющйи данные предмета.
ItemInfo
dataclass
Bases: WebClientObject
Класс, представляющий данные группы предметов.
Attributes:
Name | Type | Description |
---|---|---|
auth |
bool
|
Истина если был указан правильный sessionid (sid). |
sell_offers |
Sequence[SellOffer
|
Последовательность предложений о продаже. Только для текущей страницы. |
descriptions |
Sequence[dict[int, ItemDescription]]
|
Словарь с парами ItemID/описание. Только для текущей страницы. Если предмет типовой, равен None. |
item |
bool
|
Истина если... если что? |
commission |
int
|
Коммиссия в %. Указывется если auth = True. |
discount |
float
|
Скидка на покупки. Указывется если auth = True. |
MainPage
dataclass
Bases: WebClientObject
Класс, представляющий главную страничку продажи.
Attributes:
Name | Type | Description |
---|---|---|
auth |
bool
|
Истина если был указан правильный sessionid (sid). |
items |
Sequence[MainPageItem]
|
Последовательность предметов. |
currency |
int
|
Валюта. 1 - рубль. |
current_page |
int
|
Текущая страница. |
page_count |
int
|
Всего страниц. |
commission |
int
|
Коммиссия в %. Указывется если auth = True. |
discount |
float
|
Скидка на покупки. Указывется если auth = True. |
MainPageItem
dataclass
Bases: WebClientObject
Класс, представляющий данные предмета на главной странице.
Attributes:
Name | Type | Description |
---|---|---|
benefit |
bool
|
True, если цена ниже чем в steam. |
count |
int
|
Кол-во предложений. |
description |
str
|
Описание первого предмета. |
gid |
int
|
ID группы предметов. |
hash_name |
str
|
Параметр hash_name в steam. |
image_small |
str
|
Неабсолютная ссылка на маленькое изображение. |
name |
str
|
Переведённое название предмета. |
outline |
str
|
HEX код цвета названия. |
price |
float
|
Цена самого дешёвого предложения. |
type |
int
|
Тип/Уровень предмета. |
Referal
dataclass
Bases: WebClientObject
Класс, представляющий реферала.
Attributes:
Name | Type | Description |
---|---|---|
name |
str
|
Имя рефералла. |
date |
str
|
Дата присоединения. |
status |
str
|
Статус реферала. |
sum |
float
|
Сумма потраченных рефералом средств. |
SellOffer
dataclass
Bases: WebClientObject
Класс, представляющий предложение о продаже.
Attributes:
Name | Type | Description |
---|---|---|
id |
int
|
Уникальный ID предложения. |
itemid |
int
|
ID предмета. |
image_url |
str
|
Неабсолютная ссылка на изображение предмета. |
name |
str
|
Переведённое название предмета. |
type |
int
|
Тип/Уровень предмета. |
price |
float
|
Цена предложения. |