E-Market "Мониторинг цен конкурентов с Яндекс.Маркета"

Опубликовал Dinamit_stud в раздел Обработки - Ценообразование, прайсы

Контролировать цены конкурентов вручную сложно при 300 товарах в собственном магазине, а при 1000 и более просто нереально. Для удобства и быстроты выполнения этой рутинной операции и была создана данная обработка. Основной плюс ее заключается в том, что она не парсит сайт Яндекс.Маркета, а работает напрямую с API, который любезно предоставляют сами разработчики ЯМ. Поэтому данная обработка лишена всех минусов подобных разработок, которые занимаются "скальпингом" цен со страниц этого гиганта виртуальной торговли.

Особенности

Используется промежуточный ПЛАТНЫЙ сервер icsystem.ru (1 рубль = 10 запросам)

Используется промежуточный ПЛАТНЫЙ сервер apisystem.ru (1 рубль = 30 запросам)

Используется Партнерский API Маркета - предоставляется БЕСПЛАТНО всем, кто размещен со своим Интернет магазином на Яндекс Маркете

Почему мы используем промежуточный сервер?

Для работы с API Яндекс Маркета требуется получить от разработчиков ключ авторизации, который бывает двух видов: Контентный и Партнерский. Так вот партнерский ключ получить может любой интернет магазин, который работает и размещается на яндекс маркете, но есть большое но - это Партнерский API предоставляет не всю информацию с яндекса. Контенткный (более полная база информации) получить могут только программисты, чьи идеи понравятся разработчикам яндекс маркета. Так что для обычного обывателя проще использовать промежуточный сервер, да, он платный, но есть так же  и бесплатный вариант, но со своими ограничениями.

Почему мы не пошли по пути стандартного парсинга страниц яндекса?

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

Стандарты API яндекс маркета и майл разработаны таким образом, что любое изменение документируется, но при этом старая функция остается поддерживаемой, и поэтому обработка не сломается в самый неподходящий момент.

ПРИМЕНЕНИЕ

Обработку для УТ 11.1 открываем просто через меню "Файл", через дополнительные обработки она пока не добавляется

ИЗМЕНЕНИЯ

Полностью переработан механизм парсинга API, также добавлен новый промежуточный сервер в качестве альтернативы (обновления действительны для версии 10.3, чуть позже обновлю 11.1).

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

Новая версия предоставляет возможность работать с Партнерским API Маркета, что является бесплатным ресурсом

Сейчас размещаю только для версии УТ 10.3, для 11 будет позже 

Файлы

Наименование Файл Дата Размер Кол. Скачив.
Цены товаров Яндекс.Маркета УТ 10.3
.epf 246,86Kb
22.04.16
40
.epf 22.04.16 246,86Kb 40 Скачать

См. также

Комментарии

1. ltfriend 06.06.2015 08:20
А мне в свое время Яндекс не дал доступ к апи, объяснив свой отказ тем, что на данном этапе они представляют доступ по апи только крупным интернет проектам. Видимо, тот этап прошел.
Ответили: (2)
# Ответить
2. Dinamit_stud 06.06.2015 08:45
(1) ltfriend, Ну отчасти у меня получилось их замотивировать)
# Ответить
3. newbas (файл скачал) 08.06.2015 01:36
Спасибо за обработку - интересно было взглянуть.
Следует доработать:

- Флажки в таблице нигде не используются - ни в мониторинге, ни в создании документа
- Для каждой строки всегда определяется id региона - очень медленно получается. Думаю, что оптимальней будет определить id до получения цен
- Документ переоценки лучше на записывать, а открывать, что-то типа НовДок.ПолучитьФорму().Открыть();
Ответили: (4)
# Ответить
4. Dinamit_stud 08.06.2015 03:49
(3) newbas,
Добрый день.

1. Флажки как раз используются при создании документа цен, если флажок стоит, то товар попадет в документ
2. Да с регионом нужно будет глянуть
3. Тут уже думаю все зависит от интереса заказчика, изначально хотели сразу записывать)
# Ответить
5. freelog (файл скачал) 21.07.2015 23:58
при открытии
{ВнешняяОбработка.КИТ_МониторингЦенКонкурентовНаЯндексМаркетеУТ10.МодульОбъекта(226)}: Поле объекта не обнаружено (ИспользоватьSSLSMTP)

"Управление торговлей", редакция 10.3 (10.3.20.2)
# Ответить
6. freelog (файл скачал) 22.07.2015 00:12
с первой ошибкой разобрался
при нажатии "Выполнить мониторинг", возникает следующая ошибка:

{ВнешняяОбработка.КИТ_МониторингЦенКонкурентовНаЯндексМаркетеУТ10.МодульОбъекта(834)}: Ошибка при вызове метода контекста (Получить)
HTTPСоединение.Получить(СтрЗаменить(АдресСайта, "http://market.icsystem.ru", ""), ВремФайл, ЗаголовокHttpЗапроса());
по причине:
Ошибка при выполнении файловой операции '/v1/search.xml?text=Сайт+Доступен'
по причине:
Ошибка работы с Интернет: внутренняя ошибка сервера (500). <?xml version="1.0" encoding="UTF-8"?>
<errors><error>connect ECONNREFUSED</error></errors>
по причине:
Ошибка работы с Интернет: внутренняя ошибка сервера (500)

что делать?
Ответили: (7)
# Ответить
7. Dinamit_stud 22.07.2015 02:35
(6) freelog,
Добрый день

мне нужен Ваш внешний ip адрес, его можно узнать на сайте 2ip.ru

после этого у Вас будет возможность тестирования обработки на 200 запросов
Ответили: (8)
# Ответить
8. freelog (файл скачал) 23.07.2015 05:07
(7) Dinamit_stud,
ответил в личку
Ответили: (9)
# Ответить
9. Dinamit_stud 23.07.2015 05:59
(8) freelog,
странно, но в личке пусто
Ответили: (10)
# Ответить
11. Dinamit_stud 24.07.2015 07:19
(10) freelog,
ОК, можете тестировать
# Ответить
12. 91197ch 16.10.2015 14:58
Есть ли возможность в данном решении по номенклатуре получить список магазинов где цена ниже. А также как-то их идентифицировать: ОГРН, ИНН или еще как-то.
Задача отслеживать розничные цены по товару и находить тех кто демпингует.
Ответили: (13)
# Ответить
13. Dinamit_stud 16.10.2015 18:28
(12) 91197ch, данном решении такого нет, но в принципе можно доработать под Вас
# Ответить
14. lekarev90 17.11.2015 23:29
Добрый вечер!
У нас почти у каждого товара есть id карточки. Т.е. не требуется поиск как таковой. Возможно ли делать поиск сначала по id , потом текстовой ?
Ответили: (15)
# Ответить
15. Dinamit_stud 18.11.2015 02:45
(14) lekarev90, Добрый. На данной стадии по id не предусмотрено, но возможно допилить под это требование, только вот вопрос как у Вас хранятся эти самые id?
# Ответить
16. lekarev90 24.11.2015 01:19
Хранятся в доп. значении. Руками забивали, чтобы отзывы подтягивать.
Увы, почему-то ваша обработка не запускается. Ошибку дает
http://c2n.me/3qKrgLO.jpg
Ответили: (17)
# Ответить
17. Dinamit_stud 24.11.2015 06:02
(16) lekarev90, Добрый день

Для определения ошибки желательно к вашему компьютеру подключиться, Вы используете обработку для УТ 11.1?
# Ответить
18. tsvetkov_valerikk (файл скачал) 03.12.2015 18:08
День добрый!

ошибка у меня

{ВнешняяОбработка.КИТ_МониторингЦенКонкурентовНаЯндексМаркетеУТ11.МодульОбъекта(774)}: Ошибка при вызове метода контекста (Получить)
по причине:
Ошибка доступа к файлу '/v1/search.xml?text=Сайт+Доступен'
по причине:
Ошибка работы с Интернет: доступ запрещен (403). <?xml version="1.0" encoding="UTF-8"?>
<errors><error>Rate limit exceeded. Client ip: *.*.*.*</error></errors>
по причине:
Ошибка работы с Интернет: доступ запрещен (403)

Как быть?
Ответили: (19)
# Ответить
19. Dinamit_stud 03.12.2015 18:30
(18) tsvetkov_valerikk, Добрый день, да для версии обработки под ут 11.1 на некоторых платформах возникает данная ошибка, ведется разработка новой версии обработки в которой не будет данной ошибки, оставьте свой e-mail, чтобы я выслал вам новый вариант и Вы не тратили стартмани
Ответили: (20)
# Ответить
20. tsvetkov_valerikk (файл скачал) 04.12.2015 09:33
(19) Dinamit_stud, (19) Dinamit_stud, понял Вас. Мыйл tsvetkov@arrows.ru.
Спасибо, ждем.
# Ответить
21. bestuzhev (файл скачал) 07.03.2016 10:41
{Форма.Форма.Форма(400)}: Поле объекта не обнаружено (НоименованиеПолное)
ТекСтрока.ТекстПоиска = ТекСтрока.Номенклатура.НоименованиеПолное;
Ответили: (22)
# Ответить
22. Dinamit_stud 07.03.2016 10:48
(21) bestuzhev, Добрый день

Для какой версии УТ скачана обработка?
# Ответить
23. programma (файл скачал) 23.04.2016 15:32
Плохо что она закрыта! Не подправить под себя.

Ошибка:

Ошибка инициализации модуля: ВнешняяОбработка.МониторингЦен.МодульОбъекта
по причине:
{ВнешняяОбработка.МониторингЦен.МодульОбъекта(1176 )}: Ошибка при вызове конструктора (COMОбъект)
по причине:
Unknown error 0x80131700
Ответили: (24)
# Ответить
24. Dinamit_stud 23.04.2016 15:48
(23) programma, добрый день, а какую операционную систему Вы используете?
Ответили: (25)
# Ответить
25. programma (файл скачал) 24.04.2016 10:56
(24) Dinamit_stud, Windows 10 Pro x64
Ответили: (26)
# Ответить
26. Dinamit_stud 24.04.2016 11:17
(25) programma, странно, это ошибка возникла на вот этой строке

Текст = Новый COMОбъект("System.Text.UTF8Encoding");

то есть при попытке получить доступ к штатной системы работы с текстами и системы шифрования
# Ответить
Внимание! За постинг в данном форуме $m не начисляются.
Внимание! Для написания сообщения необходимо авторизоваться
Текст сообщения*
Прикрепить файл