Для удобства и сокращении времени для передачи Вам актуальной информации, нами были разработаны API методы, которые позволят Вам оперативно получать самую актуальную информацию по товарам и их остаткам.
Рекомендация:
Для обеспечения уникальности товара в ващей БД лучше всего использовать два параметра (поля в БД). Еще лучше сделать в БД уникальный ключ по этим двум полям.
- ID поставщика. Если у вас насколько поставщиков
- ID товара по нумерации поставщика. В нашем случае это Код Товара "DNT-12345" но если для скрости работы БД можете использовать без префикса, только цифры. В любом случае будет обеспечена уникальность в рамках нашеего списка товаров.
Так как мы не можем гарантировать что никто из других поставщиков не использует такой же как у нас код товара "DNT-12345". Некоторые это уникальное поле называют артикул, ID товара и тп. И именно уникальность по двум этим параметрам (полям БД) будет гарантировать что не будет путанницы в товарах.
Для облегчения работы наших партнеров с МаркетПлейсами добавлены два поля в API (product/list), CSV (две последние колонки) и XML.
В ближайшие дни добавим эти колонки в XLS прайс лист
- stock_express – Остаток на экспресс складе (отгрузка примерно 1 сутки)
- stock_warehouse – Остаток на всех наших складах в Москве (отгрузка обычно 2-3 дня)
- price_marketplace - цена для Выгрузки на Маркетплейсы. Так как Маркетплейсы сами часто дают скидки без согласования (до 30%) то для брендов с контролем РРЦ проще передавать на Маркетплейсы завышенную цену.
- price_min - Минимальная рекомендованная цена (МРЦ) с учетом всех скидок. Можно ставить ее как цену продажи на свой сайт.
Ниже находится инструкция и краткое описание возможностей, которые предоставляет наша система. Покажите это своим программистам и они помогут Вам настроить своевременный обмен данными.
Хост АПИ портала https://apidnt.ru/v2/, для доступа к возможностям системы Вам потребуется Api ключ, который будет Автоматически подставлен в примеры и описания, речь о которых пойдет ниже!
На всякий случай Ваш ключ:
Сейчас работают такие методы
- product/list – список товаров с ценами и наличием
- product/info – описание одного товара
- category/list – список групп с названиями и подчиненностью
- download – скачивание файл
Предлагаем следующий алгоритм обмена.
1. product/list – список товаров с ценами и наличием
Настройте на своем сайте, каждые пол часа, загрузку списка товаров с ценами и наличием методом product/list. Список можно загружать либо весь сразу, либо частями. У нас обновление данных происходит каждые пол часа. Так что наиболее оптимально загружать эти данные каждые пол часа.
В своей системе на сайте сделайте чтобы в таблице товаров были два поля для хранения дат:
- description_updated – дата обновления описания на вашем сайте
- description_updated_dnt – дата последнего обновления в базе Динатон
Значение, которое получаете из списка товаров, надо записывать в поле description_updated_dnt.
Пример запроса: https://apidnt.ru/v2/product/list?key=&fields=name,barcode,brand&limit=10&start=50
Пример для одного товара: https://apidnt.ru/v2/product/list?key=64BD0519-879-DF69-BB4b-7466-546a5949af00&fields=barcode,brand,newcoming_qnt,newcoming_date,article&product_id=DNT-65817
Метод product/list
URL с параметрами и тестовым ключом
https://apidnt.ru/v2/product/list?key=&fields=name,barcode,brand&limit=10&start=50
Запрос GET:
Параметр |
Обязательный или нет |
Пояснения |
key |
Обязательный |
АПИ ключ клиента |
fileds |
Необязательный |
|
limit |
Необязательный |
Количество позиций в выдаче |
start |
Необязательный |
С какой позиции начинается выдача |
no_empty_stock | Необязательный | Если =1 то не передаются нулевые остатки |
product_id | Необязательный | Код товара если надо получить данные только об одном товаре |
Возвращаемые значения в блоке [product] :
- product_id – код товара в системе Динатон
- price – РРЦ - Рекомендованная Розничная Цена
- price_min - МРЦ - Минимальная рекомендованная цена с учетом всех скидок. Можно ставить ее как цену продажи на свой сайт.
- price_marketplace - Цена для Выгрузки на Маркетплейсы
- price_dealer – Цена Дилер
- vat - Включает ли товар НДС (зависит от поставщика) и в каком размере
- stock – Все товары возможные к поставке. Остатки на всех складах, магазинах и на складах поставщиков. По стороннему товару не можем гарантировать сроки и количества.
- stock_warehouse – Остаток на всех наших складах в Москве (отгрузка обычно 2-3 дня)
- stock_express – Остаток на экспресс складе (отгрузка примерно 1 сутки)
- stock_shops – Остаток в магазинах
- stock_reserved – Товары в резерве (уточните у менеджера, если скрок резерва истекает, то возможно получение товара)
- stock_used – Остатки товаров имеющих витринный внешний вид или скрытые косметические дефекты, возможны проблемы с упаковокой или ее отсутствие. Товар исправный, без функциональных дефектов
- stock_call – Остаток на удаленном складе или складах партнеров
- description_updated – Дата последнего обновления Описания
- barcode – штрихкод в одном из форматов GTIN (8-14 знаков)
- brand - Бренд
- newcoming_qnt - количество в новой партии ожидаемое к поступлению
- newcoming_date - дата ожидаемого поступления новой партии
Пример ответа:
{
"result":"OK",
"items_total":1,
"items_now":1,
"start":0,
"limit":100000,
"product":[
{
"product_id":"DNT-28149",
"price":49350,
"price_minimum":39480,
"price_marketplace":50140,
"price_dealer":31277,
"vat":20,
"stock":10,
"stock_warehouse":10,
"stock_express":10,
"stock_shops":4,
"stock_reserved": 7,
"stock_used": 3,
"stock_call":0,
"description_updated":"2023-11-14 22:06:02",
"barcode":3831120912778,
"brand":"PEREZ",
"newcoming_qnt":26,
"newcoming_date":"2023-11-30"
}
]
}
2. product/info – описание одного товара
Сделайте скрипт, работающий по расписанию (Cron Job сервера) который будет раз в 5-10 минут обновлять или добавлять описания на товары у которых не совпадают description_updated и description_updated_dnt вызывая метод product/info.
При обновлении описания, следует обновить дату description_updated, после этого две даты будут совпадать и этот товар уже не будет обновляться.
Сортировку лучше делать по полю description_updated, тогда в первую очередь будут обновляться описания на товары, где еще не обновлялись.
Пример запроса: https://apidnt.ru/v2/product/info/?key=3&product_id=DNT-36816&add_video=1&add_parameters=1
Метод: product/info
URL с параметрами и тестовым ключом
https://apidnt.ru/v2/product/info/?key=&product_id=DNT-36816&add_video=1&add_parameters=1
Запрос GET:
Параметр |
Обязательный или нет |
Пояснения |
key |
Обязательный |
АПИ ключ клиента |
product_id |
Обязательный |
Код товара по нумерации Динатон. С префиксом “DNT-“ Рекомендуем сохранять в поле Артикул |
add_video |
Необязательный |
При значении = 1 к описанию будет добавлен встраиваемый плеер ЮТ. Все видео сделаны без упоминанию магазинов Динатон или каких либо других магазинов |
add_parameters |
Необязательный |
Добавить к описанию в виде перечисления характеристики товаров |
Возвращаемые значения:
- product_id – код товара в системе Динатон
- name – Название товара
- name_full – Расширенное Название товара
- brand - Бренд
- category_path – путь по категория от текущей до корневой. Элемент массива 0 – означает текущую категорию
- product_type – Тип Товара
- model – Модель
- modification - Модификация
- barcode – штрихкод в одном из форматов GTIN (8-14 знаков)
- article – Артикул
- image_main – Основная картинка
- images – Массив картинок
- description_updated – Дата последнего обновления Описания
- weight – Вес в граммах
- length – Длина в сантиметрах
- width – Ширина в сантиметрах
- height – Высота в сантиметрах
- video – массив ссылок на ЮТ видео. Все видео сделаны без упоминанию магазинов Динатон или каких либо других магазинов
- parameters – Харакетристики товара
- description – Описание товара
Пример Ответа:
"description_updated":"2022-01-25 12:57:58",
"weight":870,
"length":57.499999999999993,
"width":23.5,
"height":10,
"video":[
"https:\/\/www.youtube.com\/embed\/8xxXH8l6CRs"
],
"product_type":"Укулеле сопрано",
"parameters":{
"Цвет":"натуральный",
"Отделка":"матовая",
"Материал верхней деки":"сапеле",
"Материал нижней деки":"сапеле",
"Материал накладки грифа":"орех",
"Материал грифа":"окоуме",
"Количество ладов, шт.":12,
"для Детей":"Да",
"Рекомендуем":"Да",
"в подарок":"Да",
"Страна происхождения":"КИТАЙ",
"для Начинающих":"Да",
"для Обучения":"Да",
"Материал струн":"синтетика",
"Ширина грифа, мм":"35 мм",
"Размер инструмента":"сопрано",
"Кол-во струн":4,
"Мензура, мм":350,
"Серия":"FLIGHT Natural"
},
"description":"<p class=\"MsoNormal\">\"Небольшой размер - и глубокое звучание!\" - под этим слоганом укулеле сопрано <strong>NUS310<\/strong> вышла на музыкальный рынок и захватила весь мир!<\/p>\r\n<p class=\"MsoNormal\">Создатели наградили этот укулеле набором качеств, буквально предопределившим ее популярность. Глубокий звук, идеальное интонирование, легкость, компактность и надежность, выделяющие ее даже среди сородичей-укулеле, вместе с ее парадоксально высокой ценой, делают <strong>NUS310<\/strong> равно любимицей начинающих музыкантов, так и опытных музыкантов. Она снимает с первого взгляда, с первым прикосновением к струнам, так тепло пленяет под чувствами, а корпус из сапеле издает ее звучание. Взяв укулеле NUS 310 в руки, ее просто не захочешь отпускать.<\/p>\r\n<p class=\"MsoNormal\">Ламинированная дека укулеле <strong>NUS 310<\/strong> проста и неприхотлива в уходе, поэтому эта модель - очень удачный вариант, если вы приобрели инструмент для путешествий.<\/p>\r\n<p class=\"MsoNormal\"><strong>Технические характеристики:<\/strong><\/p>\r\n<ul>\r\n<li>Размер - сопрано (сопрано)<\/li>\r\n<li>Верхняя дека - сапеле<\/li>\r\n<li>Корпус - сапеле<\/li>\r\n<li>Гриф - окуме<\/li>\r\n<li>Накладка на гриф - палисандр<\/li>\r\n<li>Фирменный чехол в комплекте<\/li>\r\n<\/ul>\r\n<p>В серии укулеле <strong>Flight NU <\/strong> представлены все укулеле 4 размеров, каждая модель имеет свой оригинальный дизайн розетки.Размер укулеле Сопрано - самая маленькая укулеле 4 размеров. По возрастанию размеров укулеле можно расставить следующим образом - сопрано, концерт, тенор и баритон. Серия <strong>Flight NU<\/strong> - это так называемый начальный уровень, то есть начальный уровень укулеле. Все модели изготовлены из древесины Sapele <em>(Сапеле)<\/em> , обладающей интересной структурой коричневого цвета с золотисто-ореховым оттенком.<\/p>\n\n<br><ul><li>Цвет - натуральный<\/li>\n<li>Отделка - матовая<\/li>\n<li>Материал верхней деки - сапеле<\/li>\n<li>Материал нижней деки - сапеле<\/li>\n<li>Материал накладки грифа - орех<\/li>\n<li>Материал грифа - окоуме<\/li>\n<li>Количество ладов, шт. - 12<\/li>\n<li>для Детей - Да<\/li>\n<li>Рекомендуем - Да<\/li>\n<li>в подарок - Да<\/li>\n<li>Страна происхождения - КИТАЙ<\/li>\n<li>для Начинающих - Да<\/li>\n<li>для Обучения - Да<\/li>\n<li>Материал струн - синтетика<\/li>\n<li>Ширина грифа, мм - 35 мм<\/li>\n<li>Размер инструмента - сопрано<\/li>\n<li>Кол-во струн - 4<\/li>\n<li>Мензура, мм - 350<\/li>\n<li>Серия - FLIGHT Natural<\/li><\/ul>\n\n<br><iframe width='560' height='315' src='https:\/\/www.youtube.com\/embed\/8xxXH8l6CRs' title='YouTube video player' frameborder='0' allow='accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture' allowfullscreen><\/iframe>"
}
3. category/list – список групп с названиями и подчиненностью
Примерно раз в сутки следует делать запрос на обновление структуры категорий методом category/list
Пример запроса: https://apidnt.ru/v2/category/list?key=
category/list – список групп с названиями и подчиненностью
Запрос:
- key – обязательный, АПИ ключ дилера
Возвращаемые значения:
- category_id – код категории в системе Динатон
- parent_id– код категории Родителя. 0 – значит это корневая категория
- level – уровень категории
- name – Название
- category_path – путь по категория от текущей до корневой. Элемент массива 0 – означает текущую категорию
Пример:
[
{
"category_id":"78454",
"parent_id":"78442",
"sort_order":"744",
"level":"3",
"name":"Аксессуары для виолончелей",
"category_path":[
"78454",
"78442",
"78433",
"78565"
]
}]