Skip to main content

Async library for ABCP API

Project description

AioAbcpApi

Async library for API ABCP with asyncio and 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-1.1.3.tar.gz (63.6 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: aioabcpapi-1.1.3.tar.gz
  • Upload date:
  • Size: 63.6 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-1.1.3.tar.gz
Algorithm Hash digest
SHA256 8ae6501f7c627104ab49a35d49c7db7f874b584e492dc3506caa2f591a00b4ad
MD5 441f3c263ea04634553603fdbfecae19
BLAKE2b-256 c7d8a8b2157783e23b835605adb7f7507dc2f34dd89ff8170b10336ef4d0374e

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