API методы для работы с остатками, описанием и передачей цен на товары

в Выгрузки и Api .

Для удобства и сокращении времени для передачи Вам актуальной информации, нами были разработаны 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

Необязательный

  • список доп полей. Включать по желанию, через запятую

    • name – название краткое

    • name_full – название расширенное

    • barcode - штрихкод в одном из форматов GTIN (8-14 знаков)

    • brand - бренд

    • newcoming_qnt - количество ожидаемое к поступлению в новой партии

    • newcoming_date - дата ожидаемого поступления новой партии

    • article - артикул товара. Часто артикул поставщика. Не уникальный

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"

   ]

}]

158.211 milliseconds