Skip to content

packify-org/marketplace_apis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

68 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

marketplace_apis

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ способ ΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ с российскими маркСтплСйсами!

  • ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ асинхронная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°
  • ΠŸΡ€ΠΎΡΡ‚Π°Ρ ΠΈ понятная Π² использовании
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ozon SellerAPI ΠΈ Yandex MarketAPI - ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Wildberries API soonβ„’
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ httpx ΠΈ mashumaro ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π°Ρ докумСнтация ΠΏΠΎ ссылкС https://packify-org.github.io/marketplace_apis/

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования

Ozon SellerAPI

import asyncio
from datetime import datetime, timedelta
from marketplace_apis.ozon.seller_api import SellerApi
import os


async def main():
    async with SellerApi(os.getenv("API_KEY"), os.getenv("CLIENT_ID")) as client:
        # ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всС отправлСния Π·Π° ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠΈΠ΅ 14 Π΄Π½Π΅ΠΉ
        now = datetime.now()
        postings = await client.posting.list_postings(
            filter_since=now - timedelta(14),
            filter_to=now)
        print(postings)
        # ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ Ρ‚ΠΎΠ²Π°Ρ€Π°Ρ… Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ
        async with asyncio.TaskGroup() as tg:
            posting = postings[0]
            offer_ids = [product.offer_id for product in posting.products]
            info = tg.create_task(client.product.list_info(offer_ids))
            attributes = tg.create_task(
                client.product.list_attributes(offer_id=offer_ids))
        print(info.result(), attributes.result())


asyncio.run(main())

Yandex MarketAPI

import asyncio
from datetime import datetime, timedelta
from marketplace_apis.yandex.market_api import MarketApi
import os


async def main():
    # Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ CAMPAIGN_ID ΠΈΠ»ΠΈ BUSINESS_ID,
    # Ссли Π²Ρ‹ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½ΠΈ Π½ΡƒΠΆΠ½Ρ‹
    async with MarketApi(os.getenv("TOKEN"), os.getenv("CAMPAIGN_ID"),
                         os.getenv("BUSINESS_ID")) as client:
        # ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всС отправлСния Π·Π° ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠΈΠ΅ 14 Π΄Π½Π΅ΠΉ
        now = datetime.now()
        orders = await client.order.list_orders(
            fromDate=(now - timedelta(14)).date(),
            toDate=now.date())
        print(orders)
        # ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ offer_mappings ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ отправлСния
        order = orders[0]
        offer_ids = [item.offerId for item in order.items]
        offer_mappings = await client.offer_mapping.list_offer_mappings(
            offerIds=offer_ids)
        print(offer_mappings)


asyncio.run(main())