Для работы с API zelenka.guru, нам понадобится Токен. Как его получить? 1. Заходим в https://zelenka.guru/account/api и нажимаем на кнопку "Создать приложение" 2. Вводим название, описание, ссылку на страницу на которую будет происходить перенаправление и нажимаем сохранить 3. Наше приложение появилось, теперь мы можем создать токен. У нашего приложения есть 2 значения Client ID и Client Secret. 4. Нам нужен Client ID, берем ссылку https://api.zelenka.guru/oauth/authorize?response_type=token&client_id=CLIENT_ID&scope=market и на место CLIENT_ID ставим Client ID приложения. Также есть параметр scope, в нем мы указываем нужные права, для токена. Существует 5 видов разрешений: read post usercp conversate admincp market Нам понадобятся только разрешения market, post, read 5. Должно получиться что-то на подобии https://api.zelenka.guru/oauth/authorize?response_type=token&client_id=j0ay1lke24&scope=market+read+post 6. Переходим по ссылке и нажимаем "Разрешить доступ" 7. Нас перебросит на страницу и в ссылке появляется наш токен. URL API: https://api.zelenka.guru/ Ограничения: 20 запросов в минуту Доступные методы Market API: Получение списка аккаунтов GET /market Выводит список последних загруженных аккаунтов. Параметры: None GET /market/:categoryName Выводит список аккаунтов в определенной категории по вашим параметрам. Параметры: pmin (необязательный) - Минимальная стоимость аккаунта (включительно). pmax (необязательный) - Максимальная стоимость аккаунта (включительно). title (необязательный) - Слово или слова, содержащиеся в названии аккаунта. parse_sticky_items (необязательный) - Если да, API вернет привязанные учетные записи в результатах. Необязательные параметры категории - Вы можете найти их, используя «Просмотреть код элемента» в вашем браузере. GET /market/user/:userId/orders Выводит список купленных аккаунтов пользователя. Параметры: None GET /market/user/:userId/orders/:categoryName Выводит список купленных аккаунтов пользователя в определенной категории по вашим параметрам. Параметры: pmin (необязательный) - Минимальная стоимость аккаунта (включительно). pmax (необязательный) - Максимальная стоимость аккаунта (включительно). title (необязательный) - Слово или слова, содержащиеся в названии аккаунта. showStickyItems (необязательный) - Если да, API вернет привязанные учетные записи в результатах. Необязательные параметры категории - Вы можете найти их, используя «Просмотреть код элемента» в вашем браузере. GET /market/fave Выводит список избранных аккаунтов пользователя. Параметры: None GET /market/viewed Выводит список просмотренных аккаунтов пользователя. Параметры: None GET /market/:itemId Выводит информацию об аккаунте. Параметры: None Приобретение аккаунтов Для покупки вы должны выполнить 3 запроса: POST /market/:itemId/reserve POST /market/:itemId/check-account POST /market/:itemId/confirm-buy GET /market/:itemId/reserve Бронирование аккаунтов. Время бронирования - 300 секунд. Параметры: price (обязательный) - Цена аккаунта в выбранной валюте. GET /market/:itemId/cancel-reserve Отмена бронирования аккаунта. Параметры: None GET /market/:itemId/check-account Проверка аккаунта на валидность. Если учетная запись недействительна, покупка будет отменена автоматически (вам не нужно будет делать запрос POST /market/:itemId/cancel-reserve ). Параметры: None GET /market/:itemId/confirm-buy Подтверждение покупки. Параметры: None Отправка денег и получение списка транзакций POST /market/balance/transfer/ Отправка денег пользователю. Параметры: user_id (обязательный) - User ID получателя. Если указан этот параметр, то Username не требуется. username (обязательный) - Username получателя. Если указан этот параметр, то User ID не требуется. amount (обязательный) - Сумма для отправки в выбранной валюте. currency (обязательный) - Выбранная валюта для перевода. Доступные значения: cny usd rub eur uah kzt byn gbp secret_answer (обязательный) - Ответ на секретный вопрос. comment (необязательный) - Комментарий для перевода. Максимальное количество символов: 255 transfer_hold (необязательный) (Boolean) - Отправить перевод с холдом или без. hold_length_value (необязательный) (Number) - Значение холда (цифра). hold_length_option (необязательный) (String) - Период холда (строка). Доступные значения: hour - час, day - день, week - неделя, month - месяц, year - год. GET /market/user/:userId/payments Выводит список ваших транзакций по вашим параметрам. Параметры: type (необязательный) - Тип операции. Доступные значения: income - доходы, cost - расходы, refilled_balance - пополнения баланса, withdrawal_balance - выводы средств, paid_item - покупки, sold_item - продажи, money_transfer - переводы, receiving_money - удержание денег, internal_purchase - внутренние покупки, claim_hold - платежи в холде. pmin (необязательный) - Минимальная сумма перевода (включительно). pmax (необязательный) - Максимальная сумма перевода (включительно). receiver (необязательный) - Username получателя платежей. sender (необязательный) - Username отправителя платежей. startDate (необязательный) - Начальная дата операций (формат даты RFC 3339) endDate (необязательный) - Конечная дата операций (формат даты RFC 3339) wallet (необязательный) - Кошелек, который использовался для вывода средств. comment (необязательный) - Комментарий к денежным переводам. is_hold (необязательный) - Показать транзакции с холдом. Публикация аккаунтов Для загрузки аккаунта на маркет, вы должны выполнить 2 запроса: POST /market/item/add POST /market/:itemId/goods/check GET /market/item/add/ Добавляет аккаунт на маркет, который не отображается в поиске. Параметры: title (обязательный) - Русское название аккаунта. Если этот параметр указан, а title_en пуст, то title_en будет автоматически переведен на английский язык. title_en (необязательный) - Английское название аккаунта. Если этот параметр указан, а title пуст, то title будет автоматически переведен на русский язык. price (обязательный) - Цена аккаунта в выбранной валюте. category_id (обязательный) - ID Категории. Список с ID будет ниже. currency (обязательный) - Выбранная валюта для перевода. Доступные значения: cny usd rub eur uah kzt byn gbp item_origin (обязательный) - Происхождение товара. Доступные значения будут ниже. extended_guarantee (обязательный) - Тип гарантии. Допустимые значения: -1 - 12 часов, 0 - 24 часа, 1 - 3 дня. description (необязательный) - Описание аккаунта. information (необязательный) - Дополнительная информация об аккаунте (видимая для покупателя, если она куплена) has_email_login_data (необязательный) (Boolean) - У вас есть данные для входа в электронную почту? email_login_data (необязательный) - Данные для почты (в формате логин:пароль) email_type (необязательный) - Тип электронной почты. Допустимые значения: native autoreg allow_ask_discount (необязательный) (Boolean) - Разрешить пользователям запрашивать скидку для этого аккаунта. proxy_id (необязательный) - Использование ****** по идентификатору, для проверки аккаунта. Категории(ID - Категория): 1 - Steam 2 - VK 3 - Origin 4 - Warface 5 - Uplay 7 - Social Club 9 - Fortnite 12 - Epic Games 10 - Instagram 11 - BattleNet 14 - World Of Tanks 16 - World Of Tanks Blitz 15 - Supercell 17 - Genshin Impact 18 - Escape From Tarkov 19 - *** 20 - TikTok 22 - Discord Доступные значения для item_origin : ***** - Аккаунт получен с помощью *****force. ******* - Аккаунт получен с ******а. ******* - Аккаунт получен с *****. autoreg - Аккаунт получен путем автоматической регистрации. personal - Персональный аккаунт. Вы создали его сами. resale - Аккаунт получен от другого продавца(перекупка). retrive - Аккаунт восстанавливается по электронной почте или телефону (только для категории ВКонтакте) POST /market/:itemId/goods/check Проверка аккаунта на валидность, при успешной проверке аккаунт будет опубликован на маркете. Параметры: login (обязательный) - Логин от аккаунта(или почта). password (обязательный) - Пароль от аккаунта. login_password (обязательный) - Данные от аккаунта в формате login:password close_item (обязательный) - Если установить, то предмет подет закрыт, для покупки. item_state = closed GET /market/сategory Выводит список категорий. Параметры: top_queries (необязательный) (Boolean) - Показать самые популярные запросы для каждой категории. Управление аккаунтами GET /market/:itemId/email-code/ Получает код или ссылку для подтверждения. Параметры: emaiil (необязательный) - Почта аккаунта. GET /market/:itemId/change-password Изменение пароля от аккаунта. Параметры: _cancel (необязательный) - Отменить процесс смены пароля. Это будет полезно, если вы не хотите менять пароль и получать данные для входа PUT /market/:itemId/edit/ Изменение информации об аккаунте. Параметры: key (необязательный) - Ключ для редактирования (список ключей вы можете увидеть ниже). Например. price value (необязательный) - Значение, для редактирования. key_value (необязательный) - Пары "ключ-значение" для редактирования (массив). Например. "key_values[title]=Новое+название&key_values[price]=100" currency (обязательный) - Валюта цены. Требуется, если вы пытаетесь изменить поле price . Доступные значения: cny usd rub eur uah kzt byn gbp Список полей, которые можно редактировать, параметр key : title (необязательный) - Русское название аккаунта. Если этот параметр указан, а title_en пуст, то title_en будет автоматически переведен на английский язык. title_en (необязательный) - Английское название аккаунта. Если этот параметр указан, а title пуст, то title будет автоматически переведен на русский язык. price (необязательный) - Цена аккаунта в выбранной валюте. category_id (необязательный) - ID Категории. Список с ID будет ниже. currency (необязательный) - Выбранная валюта для перевода. Доступные значения: cny usd rub eur uah kzt byn gbp item_origin (необязательный) - Происхождение товара. Доступные значения будут ниже. extended_guarantee (обязательный) - Тип гарантии. Допустимые значения: -1 - 12 часов, 0 - 24 часа, 1 - 3 дня. description (необязательный) - Описание аккаунта. information (необязательный) - Дополнительная информация об аккаунте (видимая для покупателя, если она куплена) has_email_login_data (необязательный) (Boolean) - У вас есть данные для входа в электронную почту? email_login_data (необязательный) - Данные для почты (в формате логин:пароль) email_type (необязательный) - Тип электронной почты. Допустимые значения: native autoreg allow_ask_discount (необязательный) (Boolean) - Разрешить пользователям запрашивать скидку для этого аккаунта. proxy_id (необязательный) - Использование ****** по идентификатору, для проверки аккаунта. DELETE /market/:itemId/delete/ Удаление аккаунта с маркета. Параметры: reason (обязательный) - Причина удаления. POST market/:itemId/tag/ Добавление тегов для аккаунта. Параметры: tag_id (обязательный) - Tag ID (список тегов доступен через POST /market/me ) DELETE /market/:itemId/tag/ Удаляет тега с аккаунта. Параметры: tag_id (обязательный) - Tag ID (список тегов доступен через POST /market/me ) Настройки профиля Маркета GET /market/me Выводит информацию о вашем профиле маркета. Параметры: None PUT /market/me Изменяет настройки в вашем профиле маркета. Параметры: disable_steam_guard (необязательный) (Boolean) - Отключить Steam Guard в момент покупки аккаунта. user_allow_ask_discount (необязательный) (Boolean) - Разрешить просить скидки на аккаунты. max_discount_percent (необязательный) (UInt) - Максимальный процент скидки для ваших аккаунтов. allow_accept_accounts (необязательный) (String) - Имена пользователей, которые могут передавать вам рыночные аккаунты. Разделяйте никнемы запятой. hide_favourites (необязательный) (Boolean) - Скрыть информацию о своем профиле при добавлении аккаунта в избранное. Настройки ****** GET /market/proxy Выводит ваши ******. Параметры: None POST /market/proxy Добавить один ****** или список ******. Для добавления 1 ******: Параметры: proxy_ip (обязательный) (Boolean) - IP или хост ******. proxy_port (обязательный) (Boolean) - Порт ******. proxy_user (необязательный) (Boolean) - Username ******. proxy_pass (необязательный) (Boolean) - Password ******. Для добавления списка ******: Параметры: proxy_row (необязательный) (Boolean) - Список ****** в формате ip:port:user:pass . Каждый ****** должен начинаться с новой строки (используйте разделитель \r\n) DELETE /market/proxy Удаляет один ****** или список ******. Параметры: proxy_id (обязательный) - Proxy ID delete_all (обязательный) (Boolean) - Установите, если хотите удалить все ******. - А как же использовать API? Использование Берем URL API, вставляем метод, вставляем параметры. Получаем что-то на подобии: https://api.zelenka.guru/market/ Но если мы перейдем по этой ссылке, мы встретим ошибку "Invalid or expired access token." Нам необходимо вставить Oauth Token в заголовки к запросу Authorization: Bearer YOUR_TOKEN . Но также можно вставить этот токен в URL, добавив параметр oauth_token. https://api.zelenka.guru/market?oauth_token=Токен И все работает) Надеюсь эта тема кому-то поможет. Всем пока!)
Хаха, ничего не поменяли кроме токена, который раньше был в коде страницы https://zelenka.guru/threads/3214163/
rm_rf, API это ваще другое, в твоей теме ты с запросами сайта работаешь и твоя тема не будет работать, так как там по-другому ща
the market list returns always the same result, even we set the sort to pdate_to_down, bug or something i missed? Appreciated for help.
login (обязательный) - Логин от аккаунта(или почта). password (обязательный) - Пароль от аккаунта. login_password (обязательный) - Данные от аккаунта в формате login:password close_item (обязательный) - Если установить, то предмет подет закрыт, для покупки. item_state = closed Обязательно ли абсолютно все передавать? Если в ручную публиковать, то можно указать один из вариантов, логин и пароль, либо логин:пасс
{'errors': ['Укажите корректный Telegram Auth Key'], 'system_info': {'visitor_id': 6611874, 'time': 1703763823}} auth_key передаю в login, dc_id в password. Если все тоже самое сделать ручками на сайте, то никаких ошибок нет. Очень странно
Ограничение 20 запросов с одного токена или с одного ip? Можно ли использовать 2-3 ******, чтобы делать 50 запросов в минуту? Не будет ли это нарушением правил? Например, в этой теме https://zelenka.guru/threads/6536821/, заявлено, что бот поддерживает проверку не раз в 3 секунды, а чаще