MySQL база данных шлюза предназначена для обмена данными между торговой системой B2B и внешними системами (ERP, CMS и другими приложениями-коннекторами).
У запроса mysql есть ограничения. Максимальный размер пакета принимаемых данных сервером mysql - 64МБ
Список таблиц
Нужны для старта прохождения заказов
Название таблицы | Описание | Обязательность заполнения | Итерация | На чьей стороне |
---|---|---|---|---|
merchant | Продавцы (может быть несколько) | Обязательно! | 1я | Передать нам в виде списка |
region | Регионы | Обязательно! | 1я | Передать нам в виде списка |
catalog_section | Дерево разделов каталога (Adjacency List) | Обязательно! | 2я | Передаются из 1С в ШТ |
brand | Бренды | Обязательно! | 2я | Передаются из 1С в ШТ |
product | Товары | Обязательно! | 2я | Передаются из 1С в ШТ |
price_type | Типы цен (названия) с указанием с НДС или без | Обязательно! | 2я | Передаются из 1С в ШТ |
price | Цены товаров | Обязательно! | 2я | Передаются из 1С в ШТ |
store | Склады | Обязательно! | 2я | Передаются из 1С в ШТ |
remains | Остатки на складах | Обязательно! | 2я | Передаются из 1С в ШТ |
feature | Свойства товара. Показаны в карточке товара | Желательно | 3я | Передаются из 1С в ШТ |
gallery | Изображения товаров для галереи | Желательно | 3я | Передаются из 1С в ШТ |
company | Компании | Обязательно! | 3я | Передаются из 1С в ШТ |
legal_entity | Юридические лица компаний (у каждой компании может быть несколько) | Обязательно! | 3я | Передаются из 1С в ШТ |
address | Список адресов, принадлежащих компании (у каждой компании может быть несколько) | Обязательно! | 3я | Передаются из 1С в ШТ |
order | Заказы | Обязательно! | 3я | Передаются из B2B в ШТ |
order_item | Товары в заказах | Обязательно! | 3я | Передаются из B2B в ШТ |
order_status | Статусы заказов | Желательно | 3я | Передаются из 1С в ШТ |
Опционально
Название таблицы | Описание |
---|---|
certificate | Сертификаты для товаров |
company_additional_field | Дополнительные поля для компаний |
company_manager_relation | Связь менеджера с компанией покупателем |
contract_price | Индивидуальные скидки для компаний в процентном отношении к цене |
document | Документы |
document_additional_field | Дополнительные поля для документов |
document_item | Товары в документах |
document_status | Статусы документов (предустановлены) |
document_type | Типы документов (предустановлены) |
external_link_type | Типы внешних ссылок для product_external_link |
legal_entity | Юридические лица компаний. У компании может быть несколько юр. лиц |
manager | Менеджеры. Связь с компанией через company_manager_relation* |
payment_company | График платежей для компаний (документ - срок оплаты) |
product_additional_field | Дополнительные поля для товаров. Настраиваются индивидуально для каждого контрагента. |
product_contract_price | Индивидуальные скидки для компаний в рублях для конкретного товара |
product_custom | Произвольные товары |
product_external_link | Внешние ссылки для товаров |
product_identifiers | Идентификаторы для товаров. Настраиваются индивидуально для каждого контрагента. |
product_related | Связанные товары |
region | Регионы |
remains_manufacturer | Остатки на складах поставщика |
residue_packing | Остатки в упаковке |
delivery_point | Адреса доставки заказа |
user | Пользователи |
*В шт manager попадает пользователь, когда ему назначают роль Менеджер, кроме того, у этого пользователя обязательно должен быть номер телефона.
Если пользователю сменили роль с клиента на менеджер, то он попадает в шт manager ( и соответственно, его уже можно привязывать к компании как менеджера через шт company_manager_relation)
Структура БД
Описание таблиц
address - адреса компаний
Name | Type | Null | Default | Description |
---|---|---|---|---|
company_id | int(11) | No | None | ID компании => company.id |
address | text | No | None | Адрес с индексом |
address_hash | varchar(32) | No | None | Хеш адреса для быстрого поиска. Можно использовать MD5(company_id + address) |
brand - бренды
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
external_id | varchar(120) | Yes | NULL | Внешний ID продавца (идентификатор из 1С) |
name | varchar(255) | No | None | Название бренда |
synonyms | text | Yes | NULL | Список синонимов через запятую. Используется только для поиска, на внешней части не отображается. Регистр не имеет значения, обычно используют нижний. Например: "legrand, legrand, легранд, легрант" |
Имеется возможность редактирования из административного интерфейса. При синхронизации, изменения, внесенные из административного интерфейса, заменяются(!) данными из шлюзовых таблиц.
catalog_section - разделы каталога
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
external_id | varchar(120) | Yes | NULL | Внешний ID раздела каталога(идентификатор из 1С) |
name | varchar(255) | No | None | Название раздела |
synonyms | text | Yes | NULL | Список синонимов через запятую. Используется только для поиска, на внешней части не отображается. Регистр не имеет значения, обычно используют нижний. Например: "рамка, красная, valena, валена" |
int(11) | Yes | NULL | Ссылка на родительский раздел catalog_section.id. NULL - для разделов верхнего уровня. | |
sort | int(11) | Yes | 1 | Порядковый номер сортировки |
certificate - сертификаты
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
product_id | int(11) | No | None | Идентификатор продукта => product.id |
name | varchar(255) | Yes | NULL | Название типа сертификата |
url | varchar(255) | No | None | Ссылка на файл сертификата |
validity_from | date | Yes | NULL | Дата начала действия сертификата |
validity_to | date | Yes | NULL | Дата окончания действия сертификата |
company - компании
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
external_id | varchar(60) | No | None | Внешний ID компании (контрагента) продавца (идентификатор из 1С) |
merchant_id | int(11) | Yes | NULL | ID продавца => merchant.id |
is_individual | tinyint(1) | No | 0 | Признак физического лица |
name | varchar(255) | No | None | Название компании |
alt_name | varchar(255) | No | Альтернативное название компании | |
description | text | Yes | NULL | Описание |
price_type_id | int(11) | No | None | Тип цен, назначенный для компании => pryce_type.id |
bonus | int(8) | Yes | 0 | Бонусы. |
balance | decimal(11,2) | Yes | 0 | Баланс |
deferral_days | int(6) | Yes | 0 | Количество дней отсрочки |
credit_sum | decimal(11,2) | No | 0 | Сумма кредитного лимита |
receivables | decimal(11,2) | No | 0 | Дебиторская задолженность |
overdue_receivables | decimal(11,2) | No | 0 | Просроченная дебиторская задолженность |
overdue_duration | int(10) | No | 0 | Срок просрочки дебиторской задолженности |
note | text | Yes | NULL | Примечание для менеджера (видно в панели управления) |
company_additional_field - дополнительные поля для компаний
Name | Type | Null | Default | Description |
---|---|---|---|---|
company_id | int(11) | No | None | ID компании => company.id |
type | enum('string','number','boolean','object','array') | No | string | Тип переменной |
name | varchar(255) | No | None | Название доп. поля |
value | mediumtext | Yes | None | Значение (для типов array и object это строка в формате JSON) |
company_manager_relation - связь компания-менеджер
Name | Type | Null | Default | Description |
---|---|---|---|---|
company_id | int(11) | No | None | ID компании => company.id |
manager_id | int(11) | No | None | ID менеджера => manager.id |
company_segment_relation - связь компания-сегмент
Name | Type | Null | Default | Description |
---|---|---|---|---|
company_id | int(11) | No | None | ID компании => company.id |
segment_id | int(11) | No | None | ID сегмента=> segment.id |
contract_price - цены по контракту (скидки для компаний)
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
company_id | int(11) | No | None | ID компании => company.id |
price_type_id | int(11) | No | None | ID типа цены => price_type.id |
discount | decimal(7,4) | No | None | Размер скидки в процентах |
brand_id | int(11) | Yes | NULL | ID бренда, для которого предоставляется скидка => brand.id |
category_ids | text | Yes | NULL | Список ID категорий через запятую, для которых предоставляется скидка |
price_group_ids | text | Yes | NULL | Список ID ценовых групп |
Если brand_id, category_ids и price_group_ids оставить NULL, то скидка будет распространяться на ВСЕ товары.
ПО УМОЛЧАНИЮ. Если на один товар задано несколько скидок, то клиент увидит цену с наибольшей скидкой, самую выгодную для него.
Алгоритм ценообразования может быть изменен.
currency - валюты
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
abbreviation | varchar(60) | No | None | аббревиатура валюты. Например RUR, USD |
sign | varchar(10) | No | None | Отображаемый знак валюты. Например руб. или $ |
deleted_product - удаленные товары
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
external_id | varchar(120) | No | None | Внешний ID продавца (идентификатор из 1С) |
article | varchar(60) | No | None | Артикул (код 1С) |
manufacturer_code | varchar(80) | Yes | NULL | Код производителя |
alt_manufacturer_code | varchar(80) | Yes | NULL | Альтернативный код производителя |
manufacturer | varchar(255) | Yes | NULL | Производитель, название |
name | text | Yes | NULL | Название товара (из 1С) |
name_of_manufacturer | text | Yes | NULL | Название от производителя |
alt_name_of_manufacturer | text | Yes | NULL | Альтернативное название от производителя |
unit_name | varchar(30) | Yes | NULL | Название единицы измерения (шт, м) |
multiplicity | decimal (8,4) int(7) | No | 1 | Кратность для заказа. |
image_url | varchar(255) | Yes | NULL | Абсолютная ссылка на изображение товара |
country_code_a3 | varchar(255) | Yes | NULL | Трехбуквенный код страны производителя (RUS - Россия) |
brand_id | int(11) | Yes | NULL | ID бренда => brand.id |
catalog_section_id | int(11) | Yes | NULL | ID раздела каталога => catalog_section.id |
processed | tinyint(1) | No | 0 |
Таблица заполняется автоматически при удалении строк из таблицы product.
delivery_period - информация о сроках поставки товаров в регионы
Name | Type | Null | Default | Description |
---|---|---|---|---|
product_id | int(11) | No | None | ID товара ожидаемого в поставке product_id = product.id |
region_id | int(11) | No | None | ID региона в который ожидается поставка region_id = region.id |
days | int(8) | Yes | NULL | Количество дней - срок поставки |
quantity | decimal(11,4) | Yes | NULL | Ожидаемое количество товара в поставке |
delivery_point - адреса доставки
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
external_id | varchar(120) | Yes | NULL | Внешний идентификатор (из 1С) |
company_id | int(11) | Yes | NULL | ID компании company.id |
address | text | No | None | Адрес доставки |
Список адресов доставки доступных для компании. Адреса доставки могут создаваться и удаляться(опционально) непосредственно пользователями системы.
delivery_schedule - график доставки
Name | Type | Null | Default | Description |
---|---|---|---|---|
company_id | int(11) | No | None | ID компании company_id=company.id |
delivery_point_id | int(11) | No | None | ID адреса доставки delivery_point_id=delivery_point.id |
mon | tinyint(1) | No | 0 | Флаг доставки в определенный день недели |
tue | tinyint(1) | No | 0 | |
wed | tinyint(1) | No | 0 | |
thu | tinyint(1) | No | 0 | |
fri | tinyint(1) | No | 0 | |
sat | tinyint(1) | No | 0 | |
sun | tinyint(1) | No | 0 |
document - документы
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
external_id | varchar(60) | Yes | NULL | Внешний ID документа продавца (идентификатор из 1С) |
b2b_id | int(11) | Yes | NULL | ID документа в B2B, проставляется после синхронизации |
type_id | int(11) | Yes | NULL | ID типа документа => document_type.id |
status_id | int(11) | Yes | NULL | ID статуса документа document_status.id |
order_id | int(11) | Yes | NULL | ID заказа, если документ прикреплен к заказу => order.id |
parent_document_id | int(11) | Yes | NULL | ID родительского документа |
number | varchar(120) | Yes | NULL | Номер документа |
total_amount | decimal(18,2) | Yes | NULL | Сумма |
doc_date | date | Yes | NULL | Дата документа |
valid_until_date | date | Yes | NULL | Дата - документ действителен до |
external_link | varchar(255) | Yes | NULL | Внешняя ссылка на готовый документ в формате PDF |
status | int(1) | No | 0 | Статус: 0-новый 1-импортирован 2-ошибка 3-необходимо перезагрузить. Новые документы из 1С должны иметь статус = 0 |
incoming | tinyint(1) | No | None | Флаг, указывающий, что документ входящий (1) |
document_additional_field - дополнительные поля для документов
Name | Type | Null | Default | Description |
---|---|---|---|---|
document_id | int(11) | Yes | NULL | ID документа => document.id |
type | enum('string','number','boolean','object','array') | No | string | Тип переменной |
name | varchar(255) | No | None | Название доп. поля |
value | mediumtext | Yes | None | Значение (для типов array и object это строка в формате JSON) |
document_item - товары в документе
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
document_id | int(11) | Yes | NULL | ID документа => document.id. Принадлежность к документу |
product_id | int(11) | Yes | NULL | ID товара => product.id |
price | decimal(11,2) | Yes | NULL | Цена |
price_type_id | int(11) | Yes | NULL | ID типа цены => price_type.id |
quantity | decimal(11,4) | Yes | NULL | Количество |
amount | decimal(11,2) | Yes | NULL | Сумма = price*quantity |
unit_name | varchar(30) | No | шт | Название единицы измерения |
extra_data | mediumtext | Yes | NULL | Дополнительные данные к позиции. Массив "key": "value" в формате json |
document_custom_item - товары от покупателя в документе
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
document_id | int(11) | Yes | NULL | ID документа => document.id. Принадлежность к документу |
product_custom_id | int(11) | Yes | NULL | ID товара => product_custom.id |
price | decimal(11,2) | Yes | NULL | Цена |
quantity | decimal(11,4) | Yes | NULL | Количество |
amount | decimal(11,2) | Yes | NULL | Сумма = price*quantity |
unit_name | varchar(30) | No | шт | Название единицы измерения |
extra_data | mediumtext | Yes | NULL | Дополнительные данные к позиции. Массив "key": "value" в формате json |
document_status - предустановленные статусы документов
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
document_type_id | int(11) | No | None | Привязка статуса к типу документа => document_type.id |
name | varchar(255) | No | None | Название статуса |
document_type - типы документов
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
name | varchar(255) | No | None | Название |
name_short | varchar(255) | No | None | Название краткое |
file_generation | tinyint(1) | No | 1 | 1 - формировать файл (pdf, xlsx), 0 - нет |
external_link_type - типы внешних ссылок для товаров
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
name | varchar(64) | No | None | Название статуса |
is_video | tinyint(1) | Yes | 0 | Флаг для видео ссылки |
feature - свойства товаров
Name | Type | Null | Default | Description |
---|---|---|---|---|
product_id | int(11) | No | None | ID товара => product.id |
name | varchar(255) | No | None | Название свойства |
value | varchar(255) | No | None | Значение свойства |
unit | varchar(30) | Yes | NULL | Единица измерения |
sort | int(6) | No | 0 | Сортировка в карточке товара |
gallery - галерея изображений
Name | Type | Null | Default | Description |
---|---|---|---|---|
product_id | int(11) | No | None | ID товара => product.id |
image_url | varchar(255) | No | None | Абсолютная ссылка на изображение товара |
legal_entity - юридические лица компаний
Name | Type | Null | Default | Description |
---|---|---|---|---|
company_id | int(11) | No | None | ID компании => company.id |
external_id | varchar(60) | Yes | Null | Внешний идентификатор (из 1С) |
name | varchar(255) | No | None | Название юр. лица |
short_name | varchar(255) | No | None | Краткое название |
inn | varchar(12) | No | None | ИНН |
kpp | varchar(9) | No | None | КПП |
visible | tinyint(1) | No | 1 | Видимость юридического лица на front-end |
В таблице хранятся наименования и реквизиты юридических лиц. Эти данные используются при формировании документов.
manager - менеджеры
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
external_id | varchar(120) | Yes | NULL | Внешний идентификатор (из 1С) |
phone | varchar(16) | No | None | Номер телефона в формате +79991234567 |
varchar(120) | No | None | Адрес электронной почты | |
identity | varchar(255) | No | None | Имя Фамилия менеджера |
Хранится информация о менеджерах компании продавца.
Обращаем внимание на необходимость правильного заполнения поля phone, так как номер телефона имеет строковый формат и используется для поиска соответствующего пользователя системы.
merchant - продавцы
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
external_id | varchar(60) | Yes | NULL | Внешний идентификатор (из 1С) |
name | varchar(255) | No | None | Название компании продавца |
address | text | Yes | NULL | Адрес |
phone | varchar(255) | Yes | NULL | Телефон |
phone_hotline | varchar(255) | Yes | NULL | Телефон горячей линии |
inn | varchar(12) | Yes | NULL | ИНН |
kpp | varchar(9) | Yes | NULL | КПП |
varchar(255) | Yes | NULL | Адрес электронной почты | |
site | varchar(255) | Yes | NULL | Адрес сайта в сети Интернет |
bank_name | varchar(255) | Yes | NULL | Название банка |
bank_account | varchar(255) | Yes | NULL | Номер счета |
bank_cor_account | varchar(255) | Yes | NULL | Номер кор. счета |
bank_bik | varchar(255) | Yes | NULL | БИК |
director | varchar(255) | Yes | NULL | ФИО директора |
accountant | varchar(255) | Yes | NULL | |
consignor | varchar(255) | Yes | NULL | Реквизиты грузоотправителя |
gave_out_product | varchar(255) | Yes | NULL | ФИО производящего отгрузку (для документов) |
offer_for_legal_entities | text | Yes | NULL | Оферта для юридических лиц |
offer_for_individuals | text | Yes | NULL | Оферта для физических лиц |
is_default | tinyint(1) | Yes | NULL | Флаг: использовать по умолчанию |
Для записи информации о компаниях (филиалах) продавцах продукции.
В административном интерфейсе есть возможность создания и редактирования. При синхронизации со шлюзовыми таблицами ведется поиск по полю id.
ВНИМАНИЕ данные в административном интерфейсе заменяются данными из ШТ.
order - заказы
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT (он же B2B ID) |
external_id | varchar(60) | Yes | NULL | Внешний ID заказа, присваивается после обработки 1С |
merchant_id | int(11) | Yes | NULL | ID продавца order.merchant_id => merchant.id |
company_id | int(11) | Yes | NULL | ID компании order.company_id => company.id |
delivery_point_id | int(11) | Yes | NULL | ID адреса доставки order.delivery_point_id => delivery_point.id |
pickup_point_id | int(11) | Yes | NULL | ID пункта самовывоза order.pickup_point_id => pickup_point.id |
status | smallint(6) | Yes | NULL | Статус заказа order..status => order_status.id |
comment | text | Yes | NULL | Комментарий |
is_standard | tinyint(1) | Yes | NULL | Флаг. Выставляется на основе комплексной проверки заказа и заказчика на возможность автоматической обработки заказа на стороне 1С |
order_additional_field - дополнительные поля для заказов
Name | Type | Null | Default | Description |
---|---|---|---|---|
order_id | int(11) | Yes | NULL | ID заказа => order.id |
type | enum('string','number','boolean','object','array') | No | string | Тип переменной |
name | varchar(255) | No | None | Название доп. поля |
value | mediumtext | Yes | None | Значение (для типов array и object это строка в формате JSON) |
order_meta - дополнительная информация к заказу
Name | Type | Null | Default | Description |
---|---|---|---|---|
order_id | int(11) | No | None | ID заказа order.id |
user_firstname | varchar(255) | Yes | NULL | Имя пользователя |
user_middlename | varchar(255) | Yes | NULL | Отчество пользователя |
user_lastname | varchar(255) | Yes | NULL | Фамилия пользователя |
user_phone | varchar(16) | Yes | NULL | Телефон пользователя |
user_email | varchar(120) | Yes | NULL | E-mail пользователя |
user_ip | varchar(45) | Yes | NULL | IP-адрес пользователя |
user_role | varchar(64) | Yes | NULL | Роль пользователя |
user_region_name | varchar(120) | Yes | NULL | Регион пользователя |
store_ids | varchar(255) | Yes | NULL | Идентификаторы складов |
delivery_type | varchar(20) | Yes | NULL | Тип доставки |
delivery_address | text | Yes | NULL | Адрес доставки |
order_item - товары в заказе
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
order_id | int(11) | No | None | ID заказа order.id |
article | varchar(60) | No | None | Артикул товара |
external_id | varchar(120) | Yes | NULL | Внешний ID товара (product.external_id) |
price | decimal(11,2) | Yes | NULL | Цена |
current_price | decimal(11,2) | Yes | NULL | Текущая цена на момент обновления |
user_price | decimal(18,2) | Yes | NULL | Цена назначенная пользователем (для произвольных товаров) |
price_type_id | int(11) | Yes | NULL | Тип цены price_type.id |
quantity | decimal(11,2) | No | None | Количество. Возможно дробное значение. |
product_custom_id | int(11) | Yes | NULL | ID произвольного товара |
order_status - статусы заказов
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
external_id | varchar(60) | Yes | NULL | Внешний ID статуса заказа |
name | varchar(255) | Yes | NULL | Название (ожидание, в работе, завершен, отмена, др.) |
payment_company - график платежей компаний
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
company_id | int(11) | No | None | ID компании => company.id |
doc_name | varchar(255) | Yes | NULL | Произвольное название документа. Например "Расх. накл. РНк-00840541 (12.09.18)" |
sum_doc | decimal(11,2) | Yes | NULL | Сумма по документу |
sum_debt | decimal(11,2) | Yes | NULL | Сумма долга |
expired_days | int(11) | No | None | Просрочено дней оплаты. Если значение отрицательное, то срок платежа по документу не истек. Если значение равно нулю, то сегодня последний день оплаты. |
document_id | int(11) | Yes | NULL | ID документа => document.id. Привязка к документу |
В таблице хранятся данные информационного характера, т.е. информация о предстоящих и просроченных платежах для компании по заказам. Может быть привязана к документу в системе через поле document_id. Является расшифровкой значений дебиторской задолженности и просроченной дебиторской задолженности в компании, но никак не связана(не влияет) на них.
pickup_point - адреса самовывоза
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
external_id | varchar(120) | Yes | NULL | Внешний идентификатор (из 1С) |
region_id | int(11) | No | None | ID региона, к которому привязаны пункты самовывоза |
address | text | No | None | Адрес пункта самовывоза |
price - цены
Name | Type | Null | Default | Description |
---|---|---|---|---|
product_id | int(11) | No | None | ID товара product_id => product.id |
type_id | int(11) | No | None | ID типа цены type_id => price_type.id |
price | decimal(11,2) | No | None | Цена |
price_type - типы цен
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
external_id | varchar(120) | Yes | NULL | Внешний ID типа цены продавца (идентификатор из 1С) |
currency_id | int(11) | No | None | ID валюты |
name | text | No | None | Название |
with_vat | tinyint(1) | No | 1 | 1 - цена включает НДС, 0 - без НДС |
base | tinyint(1) | No | 0 | Признак базового типа цены |
product - товары
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
external_id | varchar(120) | No | None | Внешний ID продавца (идентификатор из 1С) |
article | varchar(60) | No | None | Артикул (код 1С) |
manufacturer_code | varchar(80) | Yes | NULL | Код производителя |
alt_manufacturer_code | varchar(80) | Yes | NULL | Альтернативный код производителя |
manufacturer | varchar(255) | Yes | NULL | Производитель, название |
name | text | Yes | NULL | Название товара (из 1С) |
name_of_manufacturer | text | Yes | NULL | Название от производителя |
alt_name_of_manufacturer | text | Yes | NULL | Альтернативное название от производителя |
unit_name | varchar(30) | Yes | NULL | Название единицы измерения (шт, м) |
multiplicity | decimal(9,4) | No | 1 | Кратность для заказа. |
image_url | varchar(255) | Yes | NULL | Абсолютная ссылка на изображение товара |
new_image_flag | tinyint(1) | No | 0 | Флаг, показывающий что изменен image_url. |
country_code_a3 | varchar(255) | Yes | NULL | Трехбуквенный код страны производителя (RUS - Россия) |
brand_id | int(11) | Yes | NULL | Бренд (brand.id) |
catalog_section_id | int(11) | Yes | NULL | Раздел каталога (catalog_section.id) |
stock_status | varchar(1) | Yes | NULL | Складской статус товара (D, S, P, другой, принятый в системе продавца) |
product_additional_field - дополнительные поля товара
Name | Type | Null | Default | Description |
---|---|---|---|---|
product_id | int(11) | No | None | ID товара product_id => product.id |
name | varchar(255) | No | None | Название дополнительно поля |
value | mediumtext | Yes | Null | Значение дополнительного поля |
product_analog - товары аналоги
Name | Type | Null | Default | Description |
---|---|---|---|---|
product_id | int(11) | No | None | ID товара product_id => product.id |
analog_product_id | int(11) | No | None | ID товара аналога analog_product_id => product.id |
sort | smallint(6) | No | 0 | Порядок сортировки(приоритета) Большее значение ниже в списке. |
product_catalog_section_relation - отношение товаров к разделам каталога
Name | Type | Null | Default | Description |
---|---|---|---|---|
product_id | int(11) | No | None | ID товара product_id => product.id |
catalog_section_id | int(11) | No | None | ID раздела каталога catalog_section_id =>catalog_section.id |
product_contract_price - индивидуальные цены компании
Name | Type | Null | Default | Description |
---|---|---|---|---|
product_id | int(11) | No | None | ID товара product_id => product.id |
segment_id | int(11) | Yes | Null | ID сегмента компании segment_id => segment.id |
company_id | int(11) | Yes | Null | ID компании company_id => company.id |
price | decimal(11,2) | No | None | Цена на товар |
Если поля company_id и segment_id задать NULL, то цена будет применяться всем компаниям.
product_custom - произвольные товары
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
name | mediumtext | Yes | Null | Наименование произвольного товара |
manufacturer_code | varchar(80) | No | '' | Код производителя |
brand_name | varchar(120) | No | '' | Наименование бренда |
description | mediumtext | Yes | Null | Описание |
unit_name | varchar(30) | No | '' | Единица измерения |
price | decimal(18,2) | Yes | Null | Цена |
product_identifiers - идентификаторы товара
Name | Type | Null | Default | Description |
---|---|---|---|---|
product_id | int(11) | No | None | ID товара product_id => product.id |
name | varchar(255) | No | None | Название идентификатора |
value | text | Yes | Null | Значение идентификатора |
product_related - связанные товары
Name | Type | Null | Default | Description |
---|---|---|---|---|
product_id | int(11) | No | None | ID товара product_id => product.id |
related_product_id | int(11) | No | None | ID связанного товара related_product_id => product.id |
sort | smallint(6) | No | 0 | Порядок сортировки(приоритета) Большее значение ниже в списке. |
source | smallint(6) | No | 0 | Источник связи |
region - регионы (Заполняется из интерфейса администратора)
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
internal_id | int(11) | No | None | Идентификатор региона на внешней части |
name | varchar(255) | No | None | Наименование региона |
remains_manufacturer - остатки на складах производителя
Name | Type | Null | Default | Description |
---|---|---|---|---|
ID | int(11) | No | None | AUTO_INCREMENT |
product_id | int(11) | No | None | ID товара product_id =>product.id |
storage_name | varchar(255) | No | None | Наименование склада производителя |
quantity | decimal(11,4) | Yes | NULL | Количество товара на складе. |
relevance_date | date | Yes | NULL | Дата актуальности |
delivery_days | int(11) | Yes | NULL | Срок поставки, дней |
remains - остатки на складах
Name | Type | Null | Default | Description |
---|---|---|---|---|
product_id | int(11) | No | None | ID товара product_id => product.id |
store_id | int(11) | No | None | ID склада store_id => store.id |
total_item_count | decimal(11,2) | Yes | NULL | Количество товара на складе. Используется целочисленное значение |
status | varchar(1) | Yes | NULL | Складской статус остатка (не обязателен) |
residue_packing - Куски товаров
Name | Type | Null | Default | Description |
---|---|---|---|---|
ID | int(11) | No | None | AUTO_INCREMENT |
product_id | int(11) | No | None | ID товара product_id => product.id |
store_id | int(11) | No | None | ID склада store_id => store.id |
consignment | varchar(255) | Yes | NULL | Партия товара |
residue | decimal(11,4) | Yes | NULL | Размер куска |
reserve | decimal(11,4) | No | 0.0000 | Размер резерва |
segment - сегменты
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
external_id | varchar(64) | Yes | None | Внешний ID сегмента (идентификатор 1C) |
name | varchar(255) | Yes | None | Наименование сегмента |
segment_group_id | int(11) | Yes | None | Идентификатор группы сегмента segment.segment_group_id = segment_group.id |
segment_group - группы сегментов
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
external_id | varchar(64) | Yes | None | Внешний ID группы сегментов (идентификатор 1C) |
name | varchar(255) | Yes | None | Наименование группы сегментов |
store - склады
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
external_id | varchar(120) | Yes | NULL | Внешний ID склада продавца (идентификатор из 1С) |
name | varchar(255) | No | None | Название склада |
address | varchar(255) | Yes | NULL | Адрес склада (пока не используется на внешней части) |
description | text | Yes | NULL | Описание (пока не используется на внешней части) |
phone | varchar(255) | Yes | NULL | Телефон (пока не используется на внешней части) |
schedule | text | Yes | NULL | Расписание работы (пока не используется на внешней части) |
sort | int(11) | No | 1 | Сортировка |
delivery_days | int(3) | Yes | NULL | Срок поставки с основного склада |
lat | float(10,7) | Yes | NULL | Координаты склада (пока не используется на внешней части) |
lng | float(10,7) | Yes | NULL | Координаты склада (пока не используется на внешней части) |
user - пользователи
Name | Type | Null | Default | Description |
---|---|---|---|---|
id | int(11) | No | None | AUTO_INCREMENT |
company_id | int(11) | Yes | NULL | Идентификатор компании |
phone | varchar(20) | Yes | NULL | Телефон пользователя |
varchar(120) | Yes | NULL | E-mail пользователя | |
email_agreed_for_marketing | tinyint(1) | Yes | 1 | Подписка на рассылки |
email_agreed_updated_at | datetime | Yes | NULL | Дата обновления состояния подписки |
firstname | varchar(255) | Yes | NULL | Имя |
middlename | varchar(255) | Yes | NULL | Отчество |
lastname | varchar(255) | Yes | NULL | Фамилия |
group | varchar(64) | Yes | NULL | Группа |
Таблица используется для получения информации о зарегистрированных пользователях.
Часто задаваемые вопросы
Почему изменения в шлюзе не видно на внешней части B2B?
Синхронизация данных настраивается индивидуально для каждого продавца в зависимости от потребностей и количества товаров. Например проверка новых документов может происходить каждую минуту, остатки на складах - раз в 10 мин., а синхронизация цен - раз в сутки.
Как удалять товары?
Достаточно удалить соответствующую запись в таблице product. На стороне B2B удаление товара из базы обычно происходит в течение 10 минут.
Удаление товара должно быть только в случае полного удаления номенклатуры из 1С.
Как обновлять данные по товару?
Нужно просто обновить нужные поля в таблице product, использовав для идентификации id или external_id. Можно выполнять запросы типа insert into product ... on duplicate key update ...
Нельзя использовать запросы типа replace into product ... , так как в таком случае будет зафиксировано удаление записи.
Как изменить данные в уже загруженном документе?
Нужно изменить документ в ШТ и проставить ему document.status = 3 - это означает, что в документ нужно внести изменения. Через 1 мин документ изменится.
Как грузить описание товара?
Описание товара это дополнительное поле. Чтобы добавить описание надо создать запись в таблице product_additional_field для соответствующего товара
name = "description", value = "Само описание"
Если документы не выгружаются из ШТ в В2В.
Нужно проверить значение поля document.status. Возможно в поле document.status записано 1, что означает что документ уже обработан. Нужно писать 0. Тогда документ будет обработан и статус изменится на 1.
Как сделать товары с шильдиком "Best price" и специальной ценой
1) Чтобы создать шильдик необходимо в таблицу с доп. полями прогрузить специальный флаг для необходимых товаров. Таблица product_additional_field. Для товаров с пометкой Best price надо создать запись name = "badge_best_price", value = 1. Чтобы быстро убрать пометку можно проставить value = 0
При создании товаров "Best price" свяжитесь с нашими программистами для правок зеленого фильтра (добавление чек-бокса).
2) Если на такие товары нужна специальная цена, то можно воспользоваться таблицей product_contract_price, company_id можно не указывать (null), если нужна цена для всех компаний.
Как прогрузить товары "Сделано в России" ?
Чтобы создать шильдик необходимо в таблицу с доп. полями прогрузить специальный флаг для необходимых товаров. Чтобы добавить товару флаг "Сделано в России" достаточно в таблице product в поле country_code_a3 проставить значение RUS для соответствующих товаров.
Как добавить код РАЭК?
Код РАЭК добавляется в product_identifiers
product_id - ссылка товар (product.id)
name - название, для идентификатора РАЭК это "raec_id". Т.е. для всех кодов РАЭК вы записываете "raec_id"
value = значение, собственно код РАЭК
В шлюзовой таблице document_item чем отличаются поля amount и quantity?
quantity = количество
amount = количество * цена
Свойства для карточки товара.
Таблица features (ID товара, название свойства, значение, ед. изм - не обязательно)
При изменении данных в features желательно обновить дату product.updated_at = NEW() для соответствующего товара. Чтобы все изменения быстро попали в b2b.
Инструкция по добавлению картинок:
- Если добавили новый товар. Если он с картинкой выставили флаг new_image_flag = 1. Ожидаем синхронизации на добавление новых товаров. По регламенту (обычно каждый час).
- Если товар уже есть в системе, то не зависимо от наличия у него изображения, при изменении ссылки на изображение выставляем флаг равным 1. Ожидаем завершения полной синхронизации товаров, запускаемой по регламенту (обычно раз в сутки)
Как прописать статусы заказа:
Статусы надо прописать в ШТ. id - автоинкремент, external_id - идентификатор в 1с, name - наименование статуса. updated_at - дата обновления записи.
таблица order_status
order.status = order_status.id
когда в 1с измениться статус заказа, он должен обновиться в шт
Как убрать цены на портале?
Чтобы убрать цены на портале надо не удалять их из ШТ, а задавать 0.
При передаче сегментов из 1С для таргетирования:
Работы в связке с нашей стороной. Для дальнейшей работы с ними(актуализации) используйте ШТ segment_group и segment. И необходимо согласовать регламент их синхронизации с основной базой данных.
Далее вам необходимо передать привязку компаний к сегментам в ШТ company_segment_relation. Эти привязки будут обновляться при синхронизации компаний.
Как передавать свои документы через ссылку
Для документов можно передавать ссылку на файл в поле external_link. Эта ссылка должна позволять сразу скачать этот файл без авторизации. Ресурс на котором будут располагаться эти файлы, может быть нашим ftp-сервером или вашим (если наш вы сообщаете об этом заранее и мы его готовим).
В этом случае, вы, когда выгружаете документы в ШТ, закачиваете печатные формы на сервер и указываете в поле external_link ссылку на файл с учетом полученного от нас пути на сервере.
Далее при синхронизации документов мы получаем эти файлы и предоставляем покупателям возможность их скачать.
Подробнее:
В случае использования нашего ftp сервера заказчик загружает туда документы и прописывает в ШТ document в поле external_link полное имя загруженного файла(с учетом созданных вами каталогов) на ftp сервере.
Заказчику передаем реквизиты доступа к серверу (IP, логин, пароль) предварительно получив от них IP адреса серверов, с которых будет осуществляться загрузка документов. Заказчик загружает документы в корневой или созданные им каталоги.В случае использования сторонних ресурсов заказчик записывает в выше указанное поле URL файла.
Ссылки
varchar(80)