vostnod (vostnod) wrote,
vostnod
vostnod

Автоматизация Aliexpress для продавцов на Python

Есть желание автоматизировать работу с aliexpress для своего магазина.

Регистрируемся как разработчик на портале https://developers.aliexpress.com/en/doc.htm?docId=108970&docType=1
Надо выбрать, что у вас 1 магазин и вы хотите доступ для него.

Добавляете приложение


Получаете appKey и appSecret.

Скачиваете свежее SDK

Распаковываем SDK в корень вашего Python проекта.

Открывая любой пример, видим много непонятного:

https://developers.aliexpress.com/en/doc.htm?docId=42270&docType=2

# -*- coding: utf-8 -*-
import top.api

req=top.api.AliexpressSolutionOrderGetRequest(url,port)
req.set_app_info(top.appinfo(appkey,secret))

req.param0=""
try:
resp= req.getResponse(sessionkey)
print(resp)
except Exception,e:
print(e)


Приходится идти в исходники и искать ответы.
Ответы:
url - "gw.api.taobao.com"
port - 80. Если 443й, то https соединение. У меня не работает. Наверняка, потому что у меня Python3, а не 2.
param0 - параметры запроса. У каждого они могут быть разные. К примеру, у запроса заказов в данном параметре json с полями "дата начала", "дата конца", "статус" и др. Все аргументы описаны на странице запроса https://developers.aliexpress.com/en/doc.htm?docId=42270&docType=2.

sessionkey - Ключ, который мы должны получить после авторизации.Есть 2 пути его получения: авторизация через OAuth 2.0 или "браузер". Т.к. пока есть цель написать локальный Питон скрипт без сервера, выберем 2й вариант.

Откроем в браузере https://oauth.aliexpress.com/authorize?response_type=token&client_id=111111111&state=1212&view=web&sp=ae, где 111111111 - ваш appKey

Соглашаемся с Соглашением и видим access_token. Его и пишем в sessionkey.

Далее, есть проблема с тем, что скрипт поддерживает только Python 2.. Пройдя по base.py и поменяв вызовы на Python 3, мы получим рабочий пример.


Итоговый пример:

# -*- coding: utf-8 -*-
from datetime import datetime, timedelta
from top import api, appinfo
import pprint

url = 'gw.api.taobao.com'
port = 80

appkey = 'xxxxxxxx'
secret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

req = api.AliexpressSolutionOrderGetRequest(url, port)
req.set_app_info(appinfo(appkey, secret))

req.param0 = {
'create_date_start': (datetime.utcnow() - timedelta(days=5)).strftime('%Y-%m-%d %H:%M:%S'),
'page_size': 10,
'current_page': 1
}

#https://oauth.aliexpress.com/authorize?response_type=token&client_id=xxxxxxxx&state=1212&view=web&sp=ae
sessionkey = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

resp = req.getResponse(sessionkey)
pprint.pprint(resp['aliexpress_solution_order_get_response']['result'])


Поздравляю, первый шаг в автоматизации сделан!

Напишите в комментариях, какие еще бывают примеры автоматизации маркетплейсов, платные/бесплатные.

Tags: aliexpress, api, python, маркетплейс
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments