Автоматизация 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'])


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

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

Календари на 2020-й год

Продолжаем традицию новогодних календарей!

В этом году больше всего занимался своим проектом: https://waterius.ru, можно смело выпускать календарь с ним.

Новый год встретил с родителями в ОАЭ. А в полночь оказался на одном балконе с арабом, канадцем, киргизской, португальцем и русской. Вполне сносный вид на салют, учитывая прекрасную компанию, шикарный стол, барбекю. В отличии от Дубая, в Абу Даби, подобно Бутово, нет архитектурных доминант (или не были видны с балкона).



В московских ТЦ дегустируют продукты и косметику, а в дубайских предлагают апартаменты. Стечение каких-то факторов или простое обаяние и нас везут смотреть шикарные виллы с подводной спальней в открытом море в архипелаге «Мир».


Мечеть шейха Зайда в г. Абу Даби.


Необычное путешествие в Македонию состоялось с Горнолыжным клубом МГУ. Вид на курорт Маврово.


Лето выдалось долгим, спасал большой теннис в МГУ. В сентябре офигенно съездили в Крым. Вид на Кыз-Аульский маяк. По фотогеничности даст фору португальским ;).


Открыл горнолыжный сезон на Эльбрусе. Со снегом была беда, а вот фотографический голод частично утолил.

2020-й год встретил в Тбилиси, но это календари уже следующего года.

Нет, все таки сделал. Без него год будет не полноценным. Первый корпоративный календарь


В прошлом году я придумал бартер! Напомню, я не беру деньги за календари, если вы хотите какой-то из них - пишите и мы обменяемся подарками на Новый год. Подарок может быть абсолютно любым.

Перепрошивка китайского USBAsp программатора

Для программирования AVR микроконтроллеров удобно использовать USBAsp программатор. Китайская версия стоит до 2$, но родная прошивка не USBAsp - её надо менять. Родная программа ProgISP1.72.



После прошивки программатор будет определяться как usbasp и поддерживаться avrdude.
Проверено на MX-USBISP-V4.00 и MX-USBISP-V5.00.

Для прошивки требуется плата arduino (as isp программатор) или другой программатор.

Прошивка при помощи уже вылеченного китайского программатора:


1. Скачиваем НЕ оригинальную прошивку USBASP, т.к. китайцы поменяли пины в своих программаторах тут. Версия для atmega88v (/bin/firmware/usbasp.atmega88-modify.hex)

2. Устанавливаем драйвер для вылеченного USBAsp (libusbK)

3. Скачиваем avrdude утилиту

4. Разбираем оригинальный USBAsp, который хотим перепрошить. Замыкаем два контакта (проводом навесу или пайкой).


5. Соединяем родным шлейфом вылеченный и оригинальный USBAsp. Отличие вылеченного - у него горит синий светодиод. У оригинального - красный.
Подключаем вылеченный программатор к ПК и выполняем:

avrdude -c usbasp -P usb -p m88 -B 1 -U flash:w:usbasp.atmega88-modify.hex

Если фьюзы не HFUSE=0xdd LFUSE=0xff, то изменяем и их:
avrdude -c usbasp -P usb -p m88 -B 1 -U lfuse:w:0xff:m -U hfuse:w:0xdd:m

6. Отсоединяем перемычку оригинального USBAsp - светодиод должен загореться синим. Поздравляю!

7. Подключение в USB теперь покажет libusbK устройство.

Прошивка при помощи ардуино:


1. Прошиваем плату Ардуино как программатор ISP

2. Разбираем оригинальный USBAsp, который хотим перепрошить. Замыкаем два контакта (проводом навесу или пайкой).

3. Подключаем ардуино к оригинальному USBAsp по SPI + питание. Ардуино подключаем к ПК.



4. avrdude -p m88 -P COM1 -c avrisp -b 19200 -B 1 -U flash:w:usbasp.atmega88-modify.hex
COM1 - замените на свой порт
-B 1 возможно можно убрать.


Источник:
drive.ru
Фото: github @aleh
прошивки

Лайфхаки, без которых MacOS хуже Windows

Что требуется знать, для того, чтобы ваша работа под Маком была столь же продуктивна, как под Windows.

1. Указание пути до файла в диалоге "открыть":
В диалоге открытия файла нажать Command+Shift+G (or / or ~)

2. Посмотреть размер нескольких файлов:
Выделяете файлы и Command-Option-I. Иначе откроются N окон - для каждого файла

список будет расти

Календари на 2019-й год

Продолжаем традицию новогодних календарей!

В этом году снимал очень мало. Летняя поездка в Крым "в первом подходе к тренажеру" не легла на календарь.
В порядке исключения и дани уважения к нашему прекрасному Кавказу, взял из закромов ночной кадр стоянки над Чучхурскими водопадами осенью 2017 г.


Вторая поездка на Красную поляну принесла следующий кадр хребта Аибга, станции Роза Пик.


Новое место в Москве заснятое во всей безавтомобильной красе во время летнего ночного велопарада.


p.s. Эпилог: "Много раз я слышал от друзей идею продажи календарей, но одна из ценностей подобного подарка - это отсутствие у него цены. Фотография сделана мной, часто я их печатаю самостоятельно.

В этом году я нашел выход! Это БАРТЕР! Я попрежнему не возьму деньги за календарь, но если Вы хотите Календарь - пишите и мы обменяемся подарками на Новый год. Ваш сувенир может быть любым: сделан вами или куплен в магазине - не важно."


Вотериус

Всем привет!
Не могу не похвастаться первой публикацией на Хабрахабр: https://habr.com/post/418573/ !



Создание устройства для передачи показаний воды на телефон по Wi-Fi (4 года от батареек).

Идея у меня была уже года 3, но делать начал в конце прошлого года, когда еще был жив мой друг Лапин Евгений Николаевич. Я обещал ему сделать - у него счетчики в неудобном положении находятся. Вот теперь устройство появилось, а Евгения Николаевича нет... А он бы порадовался - он был классным специалистом в электронике и совершенно замечательным человеком.

Особенности авторизации на сайте РЖД

Никак не мог изменить свой пароль на сайте РЖД. Заходил в личный кабинет, вводил новый пароль получал ошибку "Данный электронный адрес уже зарегистрирован на сайте. Укажите другой адрес электронной почты".

Как я сумел зарегистрировать 2 логина на один адрес электронной почты — загадка =).

Чтобы узнать логин, зарегистрированный по адресу электронной почты на сайте РЖД нужно нажать "забыли пароль" (!).

Далее ввести адрес электронной почты, но не заполнять логин.

Collapse )

Итоги 2017 г.

В прошлом году я скромно не стал ничего писать про события 2016г., хотя они были. В этом году надо срочно исправлять ситуацию и раскрасить серое начало января яркими фотографиями за прошедший год. 

Collapse )

Получение разрешения на туризм вокруг Домбая

Так сложилось, что п. Домбай находится в пограничной зоне. А значит, шаг влево, шаг вправо - расстрел штраф...
Пока не будем рассуждать про развитие туризма в этом забытом администрациями месте, а напишем алгоритм получения разрешения для осуществления туристической деятельности вокруг Домбая!

1. Заполняем:
а) на сайте Госуслуг (этот способ рекомендует отдел пропусков ("проще")):
- заполняем анкету
- прикладываем копию паспорта

p.s. Как это обычно всегда бывает, есть нюанс: сайт не позволит проставить дату въезда раньше 30 дней от заполнения анкеты. В этом случае ставьте дату через 30 дней. Пропуск датут от даты ее оформления, т.е. раньше 30 дней. Это могло бы быть написано на форуме пользователей Госуслуг, но наше правительство еще не понимает нигде необходимость фидбека.

б) на бумаге:
- заполняем Заявление
- подписываем
- сканируем
- отправляем по эл. почте анкету + копию паспорта

2) Ждем.
Осенью 1-1.5 недели, летом до 30 дней (максимальный срок рассмотрения).

На эл. почту придет письмо:
"Уважаемый заявитель, уведомляем вас о том, что на основании вашего заявления оформлен пропуск 07/и № ХХХХХ, который вы можете получить по адресу: г. Черкесск, ул. Доватора 84 Б. График работы: понедельник-четверг с 10:00 до 13-00, с 13:45 до 17:00; пятница с 10:00 до 13:00, с 13:45 до 15:45; Исполнение государственной услуги не осуществляется в праздничные, предпраздничные, и выходные дни. "

3) Получение:
а. Подходим к зданию с паспортом
б. Набираем 201800 на мобильнике (да, без кода)
в. Называем # разрешения из эл. письма
г. Выходит симпотичная сотрудница ФСО и вручает под роспись пропуск.

p.s. Телефон Пограничного управления Карачаево-Черкесской республики (отдел пропусков): +7-8782-264133, +7-8782-201800

Пример (не) работы техподдержки Правительственных сайтов

В нашей стране научились делать красивые сайты всяких Правительств. Электронные услуги оказываются повсеместно.
Однако все электронные ресурсы нашей страны страдают общей болезнью - техподдержка и улучшение услуг.
У простого пользователя нет ни единого шанса улучшить юзабилити сайта, расширить функционал, внести доработки.
Фидбек присутствует лишь формально.
Приведу несколько примеров:

Система #1:
Самый вопиющий пример дикредитации электронизации: ЭМИАС. Заставить всех врачей тыкать пальцами в клавиатуру, вместо выполнения прямых обязанностей - это полбеды. Эта система почти у каждого врача не работает корректно. Я очень редко бываю в поликлиниках, но в голосе каждого врача слышу отчаяние от использования этого дерь.. инновации. И ни один врач не знает, где найти ответ на свою проблему! Т.е. по всей стране Москве за 468млн руб сделали софт и не сделали ни одного форума посвященного проблемам пользователей (!). Каким словом назвать руководителей проекта? Подсказка: пид*?асы. В поликлиниках традиционно низкосортные сисадмины, которым все равно, как работают компьютеры. Техподдержка пациентов осуществляется в 1 обсуждении в офиц. группе в ВК и Фейсбуке... занавес.

Пример проблемы:
- нет автозаполнения болезни по названию. Врач вспоминала какой цифре она сооветствует, чтобы завершить прием.
- в распечатанном рецепте отсутствуют личные данные пациента. Т.е. врач потом вручную их вписывает.

Решение: создать независимый форум, в котором любой желающий может задать вопрос и найти ответ. Я рассчитываю, что ответы будут давать сначала сами пользователи, сисадмины, а потом может и разработчики подтянутся. С течением времени можно найти ответы на любые глюки системы.
Да хоть в https://github.com проблемы писать, хоть JIRA поднять.. Но где-то должны быть публично описаны глюки и способы борьбы с ними!

Система #2: Сайт Правительства Москвы

У меня перестали принимать показания воды по СМС. "ошибка добавления". Оказалось, что надо поверить счетчик воды. Хорошо. Написал на сайте предложение "конкретизируйте ошибку", чтобы пользователи не волновались:

Подробное описание: При попытке отослать СМС с показаниями счетчиков воды на 7377 возникает ошибка.
На сайте оказалось тоже нельзя добавить показания горячей воды из-за не поверенного счетчика.
Прошу исправить и в СМС конкретизировать ошибку..

Получен прекрасный ответ, характеризующий данный этап развития нашей страны:

Добрый день.
По Вашему Обращению под номером SD0604977 есть дополнительная информация:
Здравствуйте!

1. Для решения данного вопроса обратитесь по адресу emp@mos.ru.
2. Все счётчики воды, продаваемые на территории РФ, должны быть внесены в Государственный реестр средств измерений. Более того, приборы, не внесенные в Государственный реестр, не имеют права продаваться в магазинах и устанавливаться жителям в квартиры.
Счётчик воды - средство измерений, которое должно проходить обязательную и регулярную метрологическую поверку (Федеральный Закон № 102-ФЗ от 26 июня 2008 года). Счётчики воды, не прошедшие очередную (плановую) поверку, к измерениям не допускаются и их показания не должны приниматься к расчётам за потребленную воду.
В соответствии с п. 59 постановления Правительства РФ от 06 мая 2011 г. № 354

, в случае, если у потребителя нет возможности передать показания индивидуальных приборов учёта (далее – ИПУ) в установленный срок, расчёт начислений за коммунальную услугу производится по среднемесячному объему потребления коммунального ресурса (но не более 6 расчетных периодов подряд), определенного по показаниям индивидуального прибора учёта за период не менее 6 месяцев.
Периодичность поверки определяет производитель счётчиков воды, учитывая многочисленные регламенты, рекомендующие к применению те или иные средства измерений. Срок межповерочного интервала указан в паспорте прибора учёта. Следует помнить, что лучше озаботиться вопросом поверки прибора учёта расхода воды заранее, за 1-1,5 месяца до окончания срока межповерочного интервала.
Поверку ИПУ допускается производить двумя способами:
• на месте их установки в соответствии с требованиями МИ 1292-99 "ГСОЕИ. Счётчики воды. Методика поверки" и МИ 2997-2006 "Рекомендация ГСИ. Квартирные счётчики воды. Методика периодической (внеочередной) поверки при эксплуатации";
• в лабораторных условиях на стенде в соответствии с ГОСТ 8.156-83 "Счётчики холодной воды. Методы и средства поверки", а также согласно методам поверки, разработанным для каждого типа средств измерений и утвержденным Федеральным агентством по техническому регулированию.
Если Вы решили сделать поверку, необходимо пригласить специалиста для демонтажа прибора: он установит на его место временную вставку, либо подменный прибор и зафиксирует показания демонтируемого прибора и временно устанавливаемого.
Вам остается сообщить о дате данной операции в Центр государственных услуг Вашего района (ЦГУ) (чтобы ведомство могло правильно начислить оплату за воду), отнести прибор в специализированную мастерскую и ждать, когда его поверят. Срок поверки составляет 7-10 дней.
Если счётчик воды прошел поверку успешно, Вам необходимо вызвать специалиста, который установит прибор и выпишет соответствующую бумагу, которую Вам нужно будет отнести в Управляющую организацию .
Можно сразу поменять водосчётчик. Приборы учёта, которые Вам установят, уже прошли поверку: либо первичную, если это новый прибор, либо очередную, если этот прибор поверенный.
Также поверить счётчики воды можно на месте его установки с помощью переносного стенда для поверки. Поверка счётчика воды, проведенная по данной методике, указывает только на то, что в данный момент времени прибор исправен и точность его показаний соответствует норме. Никаких гарантий, что данное положение вещей

сохранится хотя бы несколько дней, не говоря уже о годах, никто не дает. Если переносной стенд покажет, что счётчик воды не соответствует метрологическим требованиям, Вы должны будете заплатить за процедуру поверки (она же проведена!) и за последующую замену прибора.
С уважением,
Служба технической поддержки..



Мой запрос закрыли, так и не решив. Таким образом еще много людей будут искать объяснения неработающих СМС...

Система #3: Сайт Госуслуг

Аналогичные по уровню интеллекта разработчиков ЭМИАС люди сделал общегосударственный сайт и также не сделали ни одного форума. Но, надо отдать им должное, они сделали круглосуточную техническую поддержку даже через мессенджеры, которая оперативно отвечает. (напомню, форумы индексируются поисковиками и вы всегда можете нагуглить проблему).

НО! На сайте уже год висит чужой штраф, который по ошибки назначили мне. Я его оспорил в ГИБДД, он из всех баз пропал, но в Гоуслугах остался...

Все это следствие "особенностей разработки ПО для государственных нужд", когда никто не заинтересован в том ,чтобы продукт улучшался и количество пользователей увеличивалось. Деньги за разработку заплачены - будь, что будет.

P.s. lj-cut кат сломался в новой версии ЖЖ.