2019-11-20

Загрузка каталога товаров через E-Trade HTTP Tunnel для самописной CMS (SQL запросы)

Оглавление:

Модуль интеграции E-Trade HTTP Tunnel - это приложение, разработанное с целью простого взаимодействия E-Trade Jumper с базой данных интернет-магазина (сайта).

Модуль разработан на языке программирования PHP, в качестве базы данных сайта поддерживается СУБД MySQL. Для настройки и подключения модуля вам необходимо будет выполнить следующие пункты:

  • Переписать файлы с модулем на хостинг аккаунт вашего сайта, например, с использованием FTP.
  • Выбрать CMS Вашего сайта в списке доступных в E-Trade Jumper.
  • Прописать в E-Trade Jumper ссылку на Ваш сайт и нажать кнопку "Подключить".

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

Установка модуля интеграции E-Trade Tunnel на Ваш хостинг

  1. Скачать модуль по этой ссылке, распаковать содержимое архива etrade_http_tunnel2.zip во временную папку на локальном ПК. В архиве находятся каталоги и файлы
  2. Переписать содержимое распакованного архива в корневую папку установленного сайта (интернет-магазина), вместе с папкой etrade_http_tunnel2. Сделать это можно, например, с использованием FTP клиента FileZilla.

Настройка модуля интеграции E-Trade Tunnel для работы с базой данных сайта индивидуальной CMS (самописная)

Для загрузки каталога товаров с сайта откройте окно "Загрузка товаров в каталог" кликнув на рабочем столе по ярлыку

Или выберите пункт меню

Далее выберите формат данных E-Trade Tunnel, откройте вкладку "Выбор CMS", выберите в выпадающем списке пункт "Ручной режим (SQL запросы)", укажите адрес вашего сайта

Откройте вкладку "Настройка доступа", укажите ссылку на модуль E-Trade Tunnel, логин и пароль, а так же пропишите параметры доступа к базе данных сайта


Откройте вкладку "Выбор CMS", проверьте подключение

После того как подключение успешно установлено, необходимо прописать SQL запросы для получения данных с сайта, откройте вкладку "Загрузка", нажмите кнопку "Настройка SQL запросов"


Составьте SQL запросы на основании структуры Вашей  базы данных


Для получения данных с сайта необходимо составить отдельные SQL запросы по категориям, товарам, производителям, блокам атрибутов, атрибутам и значениям атрибутов товаров.
В каждом SQL запросе указывается тип данных, например для получения категорий SQL запрос начинается так
SELECT 'category' as row_type
В каждом типе данных необходимо строго соблюдать порядок полей. Если в вашей базе данных нет какого-либо поля, просто укажите его в виде пустой заглушки - "" as language_code
SQL запросы заканчиваются тремя знаками точка с запятой - ;;;

SELECT 'category' as row_type,
    category_uuid,
    category_uuid_parent,
    language_code,
    category_id,
    parent_id,
    sort_order,
    status,
    image,
    seo_url,
    product_count,
    name,
    description_short,
    description_full,
    meta_title,
    meta_description,
    meta_keyword,
    h1,
    image_url
FROM category c
GROUP BY category_id, language_code;;;

SELECT 'product' as row_type,
    product_uuid,
    category_uuid,
    language_code,
    manufacturer_uuid,
    product_id,
    category_id,
    manufacturer_id,
    status,
    price,
    price_rrp,
    price_old,
    quantity,
    stock_status,
    manufacturer_name,
    name,
    description_short,
    description_full,
    meta_title,
    meta_description,
    meta_keyword,
    h1,
    tag,
    model,
    seo_url,
    sort_order,
    sku,
    upc,
    ean,
    jan,
    isbn,
    mpn,
    location,
    points,
    date_available,
    weight,
    length,
    width,
    height,
    warranty,
    subtract,
    minimum,
    viewed,
    date_added,
    date_modified,
    flag_xml_export,
    flag_popular,
    flag_best_deal,
    flag_fix_price,
    sku_supply,
    delivery_cost,
    ext_url,
    flag_new_product,
    type_id,
    product_uuid_parent,
FROM product
GROUP BY product_id, language_code;;;

SELECT 'product_category' as row_type,
    product_uuid,
    category_uuid,
    product_id,
    category_id,
    main_category,
    sort_order
FROM product_to_category
GROUP BY product_id, category_id;;;

SELECT 'product_image' as row_type,
    product_uuid,
    product_id,
    image_file_name,
    image_url,
    sort_order,
    image_uuid
FROM image

SELECT 'manufacturer' as row_type,
    manufacturer_uuid,
    manufacturer_id,
    language_code,
    sort_order,
    status,
    name,
    image,
    meta_title,
    meta_description,
    meta_keywords,
    url,
    seo_url,
    warranty,
    seo_h1,
    description,
    manufacturer_address,
    manufacturer_service,
    image_url
FROM manufacturer;;;

SELECT 'attribute_block' as row_type,
    attribute_block_uuid,
    attribute_block_id,
    language_code,
    name,
    sort_order,
    image,
    description
FROM attribute_group
GROUP BY attribute_block_id, language_code;;;

SELECT 'attribute' as row_type,
    attribute_uuid,
    attribute_block_uuid,
    language_code,
    name,
    attribute_id,
    attribute_block_id,
    sort_order,
    image,
    attribute_type,
    required,
    code,
    flag_option,
    flag_multiline,
    show_on_page,
    flag_expand,
    status,
    description
FROM attribute a
GROUP BY attribute_id, language_code;;;

SELECT 'product_attribute_lang' as row_type,
    product_uuid,
    attribute_uuid,
    language_code,
    product_id,
    attribute_id,
    product_attribute_value,
    attribute_image,
    0 as flag_multiline
FROM product_attribute
GROUP BY product_id, attribute_id, language_code;;;
 

Описание типов

Название поля Тип данных Описание
row_type Строка Фиксировано "category"
category_uuid Строка Уникальный символьный идентификатор категории. Если в таблице базы данных сайта нет такого идентификатора, тогда укажите уникальный числовой идентификатор, например из поля category_id. Поле обязательное для заполнения.
category_uuid_parent Строка Уникальный символьный идентификатор родительской категории. Если в таблице базы данных сайта нет такого идентификатора, тогда укажите уникальный числовой идентификатор, например из поля parent_id. Поле обязательное для заполнения.
language_code Строка Код языка, например ru. Если на сайте все категории хранятся для одного языка, тогда оставьте это поле пустым.
category_id Число Уникальный числовой идентификатор категории
parent_id Число Уникальный числовой идентификатор родительской категории
sort_order Число Порядок сортировки
status Число 0 или 1 Статус активности
image Строка Имя файла картинки
seo_url Строка ЧПУ категории (без адреса сайта)
product_count Число Количество товаров в категории
name Строка Название категории
description_short Строка Краткое описание
description_full Строка Полное описание
meta_title Строка SEO meta заголовок
meta_description Строка SEO meta описание
meta_keyword Строка SEO meta ключевые слова
h1 Строка Тег h1 (если кроме названия категории есть еще отдельное название для тега h1)
image_url Строка Ссылка на картинку категории (по которой можно скачать картинку)
 
Название поля Тип данных Описание
row_type Строка Фиксировано "product"
product_uuid Строка Уникальный символьный идентификатор товара. Если в таблице базы данных сайта нет такого идентификатора, тогда укажите уникальный числовой идентификатор, например из поля product_id. Поле обязательное для заполнения.
category_uuid Строка Уникальный символьный идентификатор категории. Главная категория для товара. Если в таблице базы данных сайта нет такого идентификатора, тогда укажите уникальный числовой идентификатор, например из поля category_id. Поле обязательное для заполнения.
language_code Строка Код языка, например ru. Если на сайте все товары хранятся для одного языка, тогда оставьте это поле пустым.
manufacturer_uuid Строка Уникальный символьный идентификатор производителя. Если в таблице базы данных сайта нет такого идентификатора, тогда укажите уникальный числовой идентификатор, например из поля manufacturer_id.
product_id Число Уникальный числовой идентификатор товара
category_id Число Уникальный числовой идентификатор категории
manufacturer_id Число Уникальный числовой идентификатор производителя
status Число 0 или 1  
price Число Цена товара. Разделитель десятичных точка.
price_rrp Число РРЦ - рекомендованная розничная цена товара. Разделитель десятичных точка.
price_old Число Старая цена товара
quantity Число Количество товара
stock_status Строка Символьный статус товара, например Есть, Нет, Под заказ.
manufacturer_name Строка Название производителя
name Строка Наименование товара
description_short Строка Краткое описание товара
description_full Строка Полное описание товара
meta_title Строка SEO meta заголовок
meta_description Строка SEO meta описание
meta_keyword Строка SEO meta ключевые слова
h1 Строка Тег h1 (если кроме наименования есть еще отдельный текст для тега h1)
tag Строка Список тегов
model Строка Модель товара
seo_url Строка ЧПУ товара (без адреса сайта)
sort_order Число Порядок сортировки
sku Строка Внутренний артикул товара
upc Строка Штрихкод UPC
ean Строка Штрихкод EAN
Штрихкод JAN Строка  
isbn Строка Штрихкод ISBN
mpn Строка Артикул производителя
location Строка Расположение на складе
points Число Количество баллов при заказе товара
date_available Строка Дата доступности товара
weight Число Вес товара
length Число Длина товара
width Число Ширина
height Число Высота
warranty Строка Гарантия
subtract Число 0 или 1 Вычитать количество со склада при заказе
minimum Число 0 или 1 Минимальное доступное количество товара для заказа
viewed Число Количество просмотров товара
date_added Строка Дата добавления товара
date_modified Строка Дата изменения товара
flag_xml_export Число 0 или 1 Флаг выгрузки в XML (торговую площадку)
flag_popular Число 0 или 1 Флаг - Популярный товар
flag_best_deal Число 0 или 1 Флаг - Лучшая покупка
flag_fix_price Число 0 или 1 Флаг - Фиксированная цена
sku_supply Строка Артикул контрагента (поставщика)
delivery_cost Число Стоимость доставки
ext_url Строка Внешняя ссылка на товар на сайте
flag_new_product Число 0 или 1 Флаг - Новый товар (новинка)
type_id Число Тип товара. 1 - обычный товар, 2 - товар-опция.
product_uuid_parent Строка Уникальный символьный идентификатор родительского товара. Если в таблице базы данных сайта нет такого идентификатора, тогда укажите уникальный числовой идентификатор от родительского товара, например из поля product_id.
 

Список ссылок на категории товаров, например 1 товар может иметь несколько ссылок на другие категории

Название поля Тип данных Описание
row_type Строка Фиксировано "product_category"
product_uuid Строка Уникальный символьный идентификатор товара. Если в таблице базы данных сайта нет такого идентификатора, тогда укажите уникальный числовой идентификатор, например из поля product_id. Поле обязательное для заполнения.
category_uuid Строка Уникальный символьный идентификатор категории. Главная категория для товара. Если в таблице базы данных сайта нет такого идентификатора, тогда укажите уникальный числовой идентификатор, например из поля category_id. Поле обязательное для заполнения.
product_id Число Уникальный числовой идентификатор товара
category_id Число Уникальный числовой идентификатор категории
main_category Число 0 или 1 Флаг - это главная категория товара
sort_order Число Порядок сортировки
 
Название поля Тип данных Описание
row_type Строка Фиксировано "product_image"
product_uuid Строка Уникальный символьный идентификатор товара. Если в таблице базы данных сайта нет такого идентификатора, тогда укажите уникальный числовой идентификатор, например из поля product_id. Поле обязательное для заполнения.
product_id Число Уникальный числовой идентификатор товара
image_file_name Строка Имя файла фото товара
image_url Строка Ссылка на фото товара (по которой можно скачать фото)
sort_order Число Порядок сортировки
image_uuid Строка Уникальный символьный идентификатор ссылки на фото.
 
Название поля Тип данных Описание
row_type Строка Фиксировано "manufacturer"
manufacturer_uuid Строка Уникальный символьный идентификатор производителя товара. Если в таблице базы данных сайта нет такого идентификатора, тогда укажите уникальный числовой идентификатор, например из поля manufacturer_id. Поле обязательное для заполнения.
manufacturer_id Число Уникальный числовой идентификатор производителя
language_code Строка Код языка, например ru. Если на сайте все производители хранятся для одного языка, тогда оставьте это поле пустым.
sort_order Число Порядок сортировки
status Число 0 или 1 Статус активности
name Строка Название производителя
image Строка Имя файла фото товара
meta_title Строка SEO meta заголовок
meta_description Строка SEO meta описание
meta_keywords Строка SEO meta ключевые слова
url Строка Ссылка на сайт производителя
seo_url Строка ЧПУ производителя (без адреса сайта)
warranty Строка Гарантия производителя
seo_h1 Строка Тег h1 (если кроме наименования есть еще отдельный текст для тега h1)
description Строка Описание производителя
manufacturer_address Строка Адрес производителя
manufacturer_service Строка Список сервисных центров производителя
image_url Строка Ссылка на фото товара (по которой можно скачать фото)
 
Название поля Тип данных Описание
row_type Строка Фиксировано "attribute_block"
attribute_block_uuid Строка Уникальный символьный идентификатор блока атрибутов. Если в таблице базы данных сайта нет такого идентификатора, тогда укажите уникальный числовой идентификатор, например из поля attribute_block_id. Поле обязательное для заполнения.
attribute_block_id Число Уникальный числовой идентификатор блока атрибутов
language_code Строка Код языка, например ru. Если на сайте все блоки атрибутов хранятся для одного языка, тогда оставьте это поле пустым.
name Строка Название блока атрибутов
sort_order Число Порядок сортировки
image Строка Имя файла фото блока атрибутов
description Строка Описание блока атрибутов
 
Название поля Тип данных Описание
row_type Строка Фиксировано "attribute"
attribute_uuid Строка Уникальный символьный идентификатор атрибута. Если в таблице базы данных сайта нет такого идентификатора, тогда укажите уникальный числовой идентификатор, например из поля attribute_id. Поле обязательное для заполнения.
attribute_group_uuid Строка Уникальный символьный идентификатор блока атрибута. Если в таблице базы данных сайта нет такого идентификатора, тогда укажите уникальный числовой идентификатор, например из поля attribute_block_id
language_code Строка Код языка, например ru. Если на сайте все атрибуты хранятся для одного языка, тогда оставьте это поле пустым.
name Строка Название атрибута
attribute_id Число Уникальный числовой идентификатор атрибута
attribute_block_id Число Уникальный числовой идентификатор блока атрибутов
sort_order Число Порядок сортировки
image Строка Имя файла фото блока атрибутов
attribute_type Строка Тип атрибута. Доступны значения: select, checkbox, radio, slider, image, datetime, text, text_area, decimal, float
required Число 0 или 1 Флаг - обязательно для заполнения
code Строка Символьный код атрибута (ЧПУ)
flag_option Число 0 или 1 Флаг - Опция товара
flag_multiline Число 0 или 1 Флаг - Многостроковые значения
show_on_page Число 0 или 1 Флаг - показывать в карточке товара
flag_expand Число 0 или 1 Флаг - При фильтрации товаров список значений раскрыт
status Число 0 или 1 Активность атрибута
description Строка Описание атрибута
 
Название поля Тип данных Описание
row_type Строка Фиксировано "product_attribute_lang"
product_uuid Строка Уникальный символьный идентификатор товара. Если в таблице базы данных сайта нет такого идентификатора, тогда укажите уникальный числовой идентификатор, например из поля attribute_id. Поле обязательное для заполнения.
attribute_uuid Строка Уникальный символьный идентификатор атрибута. Если в таблице базы данных сайта нет такого идентификатора, тогда укажите уникальный числовой идентификатор, например из поля attribute_id. Поле обязательное для заполнения.
language_code Строка Код языка, например ru. Если на сайте все атрибуты хранятся для одного языка, тогда оставьте это поле пустым.
product_id Число Уникальный числовой идентификатор товара
attribute_id Число Уникальный числовой идентификатор атрибута
product_attribute_value Строка Значение атрибута
sort_order Число Порядок сортировки
attribute_image Строка Имя файла фото значения атрибута
flag_multiline Число 0 или 1 Флаг - Многостроковые значения
 


Парсер hotline

2019-11-20 Автор: Юрий Селезнёв

Далее