Skip to main content

Async library for ABCP API

Project description

AioAbcpApi

Асинхронная библиотека для API ABCP с asyncio и aiohttp

Supported python versions Downloads PyPi Package Version

Присоединяйтесь к телеграм чату

Установка

pip install aioabcpapi

Описание


Все методы максимально приближены к древовидному оформлению официальной документации.

Разделяются на cp и ts, они в свою очередь разделяются на client и admin, далее для поиска нужного вам метода отталкивайтесь от документации API ABCP.

Для примера, из документации TS.Client, Обновление позиции в корзине описание операции следующее:

Операция: POST /ts/cart/update

Для использования этого метода нам нужно будет обратиться к await api.ts.client.cart.update()

Доступ к API


Для API Администратора

Если вы являетесь клиентом магазина на платформе ABCP, обратитесь к вашему менеджеру. (Вам понадобится статический IP адрес)

Примечание


Все аргументы времени, такие как create_time, update_time, date_start, date_end и прочие, принимают str или datetime. При передаче datetime объект будет преобразован в зависимости от требований метода в RFC3339 или "%Y-%m-%d %H:%M:%S"

Пример


import asyncio
from aioabcpapi import Abcp

host, login, password = 'id33333', 'api@id33333', 'md5hash'
api = Abcp(host, login, password)


async def search_some_parts(article, brand):
    search_result = await api.cp.client.search.articles(number=article, brand=brand,
                                                        use_online_stocks=True,
                                                        disable_online_filtering=True,
                                                        with_out_analogs=True)
    for x in search_result:
        if float(x['price']) < 3000:
            print('Похоже на чудо, но скорее ошибка прайса. Отключим пока поставщика')
            await api.cp.admin.distributors.edit_status(x['distributorId'], False)
        elif float(x['price']) < 37000:
            await api.cp.client.basket.add(basket_positions={'number': x['article'],
                                                             'brand': x['brand'],
                                                             'supplierCode': x['supplierCode'],
                                                             'itemKey': x['itemKey'],
                                                             'quantity': 1,
                                                             'comment': f"Да, РРЦ никто не любит"})


if __name__ == '__main__':
    asyncio.run(search_some_parts('602000600', 'LuK'))

Больше примеров

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

aioabcpapi-2.0.5.tar.gz (67.3 kB view details)

Uploaded Source

File details

Details for the file aioabcpapi-2.0.5.tar.gz.

File metadata

  • Download URL: aioabcpapi-2.0.5.tar.gz
  • Upload date:
  • Size: 67.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.10.5

File hashes

Hashes for aioabcpapi-2.0.5.tar.gz
Algorithm Hash digest
SHA256 3aec8fbd5240d12794983c4c9c00f846c07b367022def11f722ea25524ba54ec
MD5 0f5282522bf9eb0bc9f2d16fe00a1ea1
BLAKE2b-256 497c4fe25d510fe7ce4dc11c68e78bfaec79e7e7babeb28033df6b569b92a6dd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page