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.3.tar.gz (66.2 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: aioabcpapi-2.0.3.tar.gz
  • Upload date:
  • Size: 66.2 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.3.tar.gz
Algorithm Hash digest
SHA256 67ba1b034600b095313a546a6e331753ea916355e84ac17a82c555f893bbd3eb
MD5 e36beaa5a701671f8c8468c3bfd8d4fd
BLAKE2b-256 85878f99de6aeb76959e4b96af6ab6585a5a270d8717a931910d3f014b6955fd

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