<p align="center">
<img src="https://i.ibb.co/hyTLSDZ/digiseller-logo.png" alt="Digiseller API Python" width="80%">
</p>
[![PyPI version](https://img.shields.io/pypi/v/digiseller-api-python.svg?cacheSeconds=3600)](https://pypi.org/project/digiseller-api-python)
[![PyPI Package Monthly Download](https://img.shields.io/pypi/dm/digiseller-api-python)](https://pypistats.org/packages/digiseller-api-python)
[![License](https://img.shields.io/github/license/Ernieleo/digiseller-api-python)](https://github.com/Ernieleo/digiseller-api-python/blob/master/LICENSE)
[![Test Status](https://github.com/Ernieleo/digiseller-api-python/actions/workflows/test.yml/badge.svg)](https://github.com/Ernieleo/digiseller-api-python/actions/workflows/test.yml)
English documentation available [here](https://github.com/Ernieleo/digiseller-api-python/blob/master/docs/README_en.md).
**Digiseller API Python** — это неофициальная Python-библиотека для взаимодействия с API Digiseller.
**Важное примечание**: Данный проект не связан с официальной командой разработчиков Digiseller и не является официальной библиотекой.
Возможны неточности в некоторых запросах, поскольку комплексное тестирование не проводилось, так как некоторые методы API, описанные в документации Digiseller, могут не соответствовать своему описанию.
Полную документацию API можно найти на [сайте Digiseller](https://my.digiseller.com/inside/api.asp).
Методы API из блока 'Оплата' недоступны в библиотеке.
## Установка
### С использованием PyPI:
```sh
pip install digiseller-api-python
```
### Установка из репозитория GitHub:
```sh
pip3 install git+https://github.com/Ernieleo/digiseller-api-python.git
```
## Пример использования
Чтобы использовать Digiseller API, вам понадобятся `API ключ` и `ID продавца`:
- Получите **API ключ** [здесь](https://my.digiseller.com/inside/api_keys.asp).
- Получите **ID продавца** [здесь](https://my.digiseller.com/).
### Пример кода
```python
from digiseller_api import DigisellerApi
# Создание экземпляра API-клиента
digiseller_api = DigisellerApi(seller_id="11155533", api_key="CA1SF69A000A46D00039F01Z11017V39")
# Пример функции для получения данных, указанных пользователем при заказе, по уникальному коду
def get_account_info_from_digiseller(unique_code):
email, password = None, None
try:
# Выполняем запрос
data = digiseller_api.unique_code(unique_code)
# Извлекаем необходимые данные
for option in data.get("options", []):
if option["name"] in ["Почта аккаунта ChatGPT", "ChatGPT account email"]:
email = option["value"]
elif option["name"] in ["Пароль аккаунта ChatGPT", "ChatGPT account password"]:
password = option["value"]
return email, password
except Exception as e:
# Обработка исключений
print(f"Ошибка: {e}")
return None, None
# Использование функции для получения информации
unique_code = "ВАШ_УНИКАЛЬНЫЙ_КОД"
email, password = get_account_info_from_digiseller(unique_code)
print("Email:", email)
print("Password:", password)
```
Этот пример показывает, как использовать `DigisellerApi` для получения данных, введенных покупателем при оформлении заказа.
Функция `get_account_info_from_digiseller` выполняет запрос по уникальному коду и ищет данные по заданным названиям полей. Названия полей учитывают возможность различий в языке зависимых от выбранного пользователем на сайте.
### Дополнительный пример
```python
from digiseller_api import DigisellerApi
from PIL import Image
from io import BytesIO
image = DigisellerApi.get_main_img(id_d=4470041, maxlength=400)
# Открываем изображение из байтов напрямую
image_bytes = image.encode() if isinstance(image, str) else image
image = Image.open(BytesIO(image_bytes))
image.show()
```
В данном примере представлено взаимодействие с функцией [получения основного изображения товара](https://my.digiseller.com/inside/api_catgoods.asp#fast_image), вызов происходит без использования данных продавца и создания экземпляра API-клиента.
### Возвращаемые данные
- **JSON (`application/json`)**: Возвращается как **словарь Python**.
- **XML (`application/xml` или `text/xml`)**: Возвращается как **строка** XML.
- **Изображение (`image/*`)**: Возвращается как **байтовый объект**.
- **Текст (`text/plain` и другие текстовые форматы)**: Возвращается как **строка**.
- **Другие типы**: Возвращается **статус-код** ответа.
- **Ошибка**: В случае проблем будет выброшено исключение `ValueError`.
## Разработка
Приветствуется вклад в развитие проекта!
Если вы хотите помочь с поддержанием актуальности и дальнейшей разработкой, пожалуйста, следуйте официальным правилам API сервиса Digiseller и придерживайтесь общего стиля кода проекта.
Для внесения изменений создайте pull-реквест, и он будет рассмотрен.
## Запланировано
В будущих планах создание документации для удобного и корректного использования.
- [x] Добавить все функции API
- [x] Дополнительный пример использования в Python
- [x] Добавить дополнительные отсутствующие функции
- [ ] Полная документация методов (в разработке)
- [ ] Добавить оставшиеся функции (По запросу)
## Полезные ссылки
- [Проект на PyPI](https://pypi.org/project/digiseller-api-python/)
- [Сайт Digiseller](https://my.digiseller.ru)
- [Документация API Digiseller](https://my.digiseller.com/inside/api.asp)
- [Хостинг с хорошими ценами](https://bill.yacolo.net/billmgr?from=58735) (**Промокод:** yacolo#58735)
Raw data
{
"_id": null,
"home_page": "https://github.com/Ernieleo/Digiseller-API-Python",
"name": "digiseller-api-python",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "digiseller api python wrapper",
"author": "Ernieleo",
"author_email": "dev@offnik.ru",
"download_url": "https://files.pythonhosted.org/packages/89/1a/69e39203936974ab75ff3771d6450e260cad22ffcd658b24ff2ab89391ac/digiseller_api_python-2.2.0.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n <img src=\"https://i.ibb.co/hyTLSDZ/digiseller-logo.png\" alt=\"Digiseller API Python\" width=\"80%\">\n</p>\n\n[![PyPI version](https://img.shields.io/pypi/v/digiseller-api-python.svg?cacheSeconds=3600)](https://pypi.org/project/digiseller-api-python)\n[![PyPI Package Monthly Download](https://img.shields.io/pypi/dm/digiseller-api-python)](https://pypistats.org/packages/digiseller-api-python)\n[![License](https://img.shields.io/github/license/Ernieleo/digiseller-api-python)](https://github.com/Ernieleo/digiseller-api-python/blob/master/LICENSE)\n[![Test Status](https://github.com/Ernieleo/digiseller-api-python/actions/workflows/test.yml/badge.svg)](https://github.com/Ernieleo/digiseller-api-python/actions/workflows/test.yml)\n\nEnglish documentation available [here](https://github.com/Ernieleo/digiseller-api-python/blob/master/docs/README_en.md).\n\n**Digiseller API Python** \u2014 \u044d\u0442\u043e \u043d\u0435\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u0430\u044f Python-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 API Digiseller.\n\n**\u0412\u0430\u0436\u043d\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**: \u0414\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u043d\u0435 \u0441\u0432\u044f\u0437\u0430\u043d \u0441 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 Digiseller \u0438 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439. \n\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u044b \u043d\u0435\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u043e\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u043e\u0441\u044c, \u0442\u0430\u043a \u043a\u0430\u043a \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b API, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 Digiseller, \u043c\u043e\u0433\u0443\u0442 \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0435\u043c\u0443 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044e.\n\n\u041f\u043e\u043b\u043d\u0443\u044e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e API \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043d\u0430 [\u0441\u0430\u0439\u0442\u0435 Digiseller](https://my.digiseller.com/inside/api.asp). \n\u041c\u0435\u0442\u043e\u0434\u044b API \u0438\u0437 \u0431\u043b\u043e\u043a\u0430 '\u041e\u043f\u043b\u0430\u0442\u0430' \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0432 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435.\n\n## \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\n\n### \u0421 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c PyPI:\n```sh\npip install digiseller-api-python\n```\n\n### \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f GitHub:\n```sh\npip3 install git+https://github.com/Ernieleo/digiseller-api-python.git\n```\n\n## \u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f\n\n\u0427\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Digiseller API, \u0432\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f `API \u043a\u043b\u044e\u0447` \u0438 `ID \u043f\u0440\u043e\u0434\u0430\u0432\u0446\u0430`:\n\n- \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 **API \u043a\u043b\u044e\u0447** [\u0437\u0434\u0435\u0441\u044c](https://my.digiseller.com/inside/api_keys.asp).\n- \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 **ID \u043f\u0440\u043e\u0434\u0430\u0432\u0446\u0430** [\u0437\u0434\u0435\u0441\u044c](https://my.digiseller.com/).\n\n### \u041f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u0434\u0430\n```python\nfrom digiseller_api import DigisellerApi\n\n# \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 API-\u043a\u043b\u0438\u0435\u043d\u0442\u0430\ndigiseller_api = DigisellerApi(seller_id=\"11155533\", api_key=\"CA1SF69A000A46D00039F01Z11017V39\")\n\n# \u041f\u0440\u0438\u043c\u0435\u0440 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u043f\u0440\u0438 \u0437\u0430\u043a\u0430\u0437\u0435, \u043f\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u043a\u043e\u0434\u0443\ndef get_account_info_from_digiseller(unique_code):\n email, password = None, None\n try:\n # \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441\n data = digiseller_api.unique_code(unique_code)\n \n # \u0418\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435\n for option in data.get(\"options\", []):\n if option[\"name\"] in [\"\u041f\u043e\u0447\u0442\u0430 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 ChatGPT\", \"ChatGPT account email\"]:\n email = option[\"value\"]\n elif option[\"name\"] in [\"\u041f\u0430\u0440\u043e\u043b\u044c \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 ChatGPT\", \"ChatGPT account password\"]:\n password = option[\"value\"]\n \n return email, password\n except Exception as e:\n # \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439\n print(f\"\u041e\u0448\u0438\u0431\u043a\u0430: {e}\")\n return None, None\n\n# \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438\nunique_code = \"\u0412\u0410\u0428_\u0423\u041d\u0418\u041a\u0410\u041b\u042c\u041d\u042b\u0419_\u041a\u041e\u0414\"\nemail, password = get_account_info_from_digiseller(unique_code)\nprint(\"Email:\", email)\nprint(\"Password:\", password)\n```\n\n\u042d\u0442\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c `DigisellerApi` \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u0432\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u043a\u0443\u043f\u0430\u0442\u0435\u043b\u0435\u043c \u043f\u0440\u0438 \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u0438 \u0437\u0430\u043a\u0430\u0437\u0430. \n\u0424\u0443\u043d\u043a\u0446\u0438\u044f `get_account_info_from_digiseller` \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u043a\u043e\u0434\u0443 \u0438 \u0438\u0449\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f\u043c \u043f\u043e\u043b\u0435\u0439. \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0439 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u0439 \u0432 \u044f\u0437\u044b\u043a\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 \u043e\u0442 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u043d\u0430 \u0441\u0430\u0439\u0442\u0435.\n\n### \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440\n```python\nfrom digiseller_api import DigisellerApi\n\nfrom PIL import Image\nfrom io import BytesIO\n\nimage = DigisellerApi.get_main_img(id_d=4470041, maxlength=400)\n# \u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0438\u0437 \u0431\u0430\u0439\u0442\u043e\u0432 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e\nimage_bytes = image.encode() if isinstance(image, str) else image\nimage = Image.open(BytesIO(image_bytes))\nimage.show()\n```\n\n\u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 [\u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0442\u043e\u0432\u0430\u0440\u0430](https://my.digiseller.com/inside/api_catgoods.asp#fast_image), \u0432\u044b\u0437\u043e\u0432 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0434\u0430\u0432\u0446\u0430 \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 API-\u043a\u043b\u0438\u0435\u043d\u0442\u0430.\n\n### \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435\n\n- **JSON (`application/json`)**: \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a **\u0441\u043b\u043e\u0432\u0430\u0440\u044c Python**.\n- **XML (`application/xml` \u0438\u043b\u0438 `text/xml`)**: \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a **\u0441\u0442\u0440\u043e\u043a\u0430** XML.\n- **\u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 (`image/*`)**: \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a **\u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442**.\n- **\u0422\u0435\u043a\u0441\u0442 (`text/plain` \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u044b)**: \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a **\u0441\u0442\u0440\u043e\u043a\u0430**.\n- **\u0414\u0440\u0443\u0433\u0438\u0435 \u0442\u0438\u043f\u044b**: \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f **\u0441\u0442\u0430\u0442\u0443\u0441-\u043a\u043e\u0434** \u043e\u0442\u0432\u0435\u0442\u0430.\n- **\u041e\u0448\u0438\u0431\u043a\u0430**: \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0431\u0440\u043e\u0448\u0435\u043d\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 `ValueError`.\n\n## \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430\n\u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442\u0441\u044f \u0432\u043a\u043b\u0430\u0434 \u0432 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430! \n\u0415\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u043e\u043c\u043e\u0447\u044c \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435\u043c \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0441\u043b\u0435\u0434\u0443\u0439\u0442\u0435 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c API \u0441\u0435\u0440\u0432\u0438\u0441\u0430 Digiseller \u0438 \u043f\u0440\u0438\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0439\u0442\u0435\u0441\u044c \u043e\u0431\u0449\u0435\u0433\u043e \u0441\u0442\u0438\u043b\u044f \u043a\u043e\u0434\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430.\n\n\u0414\u043b\u044f \u0432\u043d\u0435\u0441\u0435\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 pull-\u0440\u0435\u043a\u0432\u0435\u0441\u0442, \u0438 \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d.\n\n## \u0417\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043e \n\u0412 \u0431\u0443\u0434\u0443\u0449\u0438\u0445 \u043f\u043b\u0430\u043d\u0430\u0445 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u043d\u043e\u0433\u043e \u0438 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f.\n- [x] \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432\u0441\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 API\n- [x] \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 Python\n- [x] \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438\n- [ ] \u041f\u043e\u043b\u043d\u0430\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043c\u0435\u0442\u043e\u0434\u043e\u0432 (\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435)\n- [ ] \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0435\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (\u041f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0443)\n\n## \u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438\n- [\u041f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430 PyPI](https://pypi.org/project/digiseller-api-python/)\n- [\u0421\u0430\u0439\u0442 Digiseller](https://my.digiseller.ru) \n- [\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f API Digiseller](https://my.digiseller.com/inside/api.asp)\n- [\u0425\u043e\u0441\u0442\u0438\u043d\u0433 \u0441 \u0445\u043e\u0440\u043e\u0448\u0438\u043c\u0438 \u0446\u0435\u043d\u0430\u043c\u0438](https://bill.yacolo.net/billmgr?from=58735) (**\u041f\u0440\u043e\u043c\u043e\u043a\u043e\u0434:** yacolo#58735)\n",
"bugtrack_url": null,
"license": null,
"summary": "Python wrapper package for easy integration with the Digiseller API",
"version": "2.2.0",
"project_urls": {
"API Documentation": "https://my.digiseller.com/inside/api.asp",
"Homepage": "https://github.com/Ernieleo/Digiseller-API-Python",
"Write me": "https://t.me/ernieleo"
},
"split_keywords": [
"digiseller",
"api",
"python",
"wrapper"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "becb500427bee559f75960d2e7701a4eb1bd4f46cd055d048f0a50acac90d881",
"md5": "59b33d4ca3bec7f9e33cc67a8a22dfd0",
"sha256": "c88df1f0204640b64a82e5d2b62635b9464dd004bda32360d750f18f4ff6bccc"
},
"downloads": -1,
"filename": "digiseller_api_python-2.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "59b33d4ca3bec7f9e33cc67a8a22dfd0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 14039,
"upload_time": "2024-11-20T16:00:58",
"upload_time_iso_8601": "2024-11-20T16:00:58.154118Z",
"url": "https://files.pythonhosted.org/packages/be/cb/500427bee559f75960d2e7701a4eb1bd4f46cd055d048f0a50acac90d881/digiseller_api_python-2.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "891a69e39203936974ab75ff3771d6450e260cad22ffcd658b24ff2ab89391ac",
"md5": "751760ddec3e0a476147b1871637ade9",
"sha256": "1f183b3d84c60a11715c14d7382b606091d99643b806fbdec02daa4632820eee"
},
"downloads": -1,
"filename": "digiseller_api_python-2.2.0.tar.gz",
"has_sig": false,
"md5_digest": "751760ddec3e0a476147b1871637ade9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 15948,
"upload_time": "2024-11-20T16:00:59",
"upload_time_iso_8601": "2024-11-20T16:00:59.333270Z",
"url": "https://files.pythonhosted.org/packages/89/1a/69e39203936974ab75ff3771d6450e260cad22ffcd658b24ff2ab89391ac/digiseller_api_python-2.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-20 16:00:59",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Ernieleo",
"github_project": "Digiseller-API-Python",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "httpx",
"specs": [
[
">=",
"0.24.0"
]
]
}
],
"lcname": "digiseller-api-python"
}