Перейти к основному содержанию

Примеры

Здесь размещены просто наброски для примерного понимания направления движения стандарта. После утверждения первой версии будут созданы полноценные примеры.

// Пример передачи набора данных о физических товарах с отдельными примерами по темам.
{
  //=============================================
  // Метаданные
  standart_name:'jsoncommerce',			// Наименование стандарта
  standart_version: '0.1',				// Версия стандарта
  created: '2017–03–10T11:30:00+09:00',	// Дата и время подготовки файла по ISO 8601
  completeness: 'full data',				// Полнота данных. 'full data' весь прайс 'data changes'- только изменения относительно предыдущей передачи.
  //exchange_version: 14,					// Только если completeness: 'data changes'. Шаг версии единица.
  //~~~~~~~~~~
  type_data: 'product offer',		// Тип передаваемых данных //Отдельными файлами инфу о продукте, отдельным предложение по ценам и количеству
  supplier: {	// Поставщик
    name: 'Company X',	
    adress: 'Калининград, ул. Первая, 25',
    telefon: '74012999999',
    e-mail: 'sales@companyx.ru',
  },			
  description: 'Прайс для мелкооптовых покупателей',

  //=============================================
  //Внутренние справочники
  //---------------------------------------------
  // Объявляем таксономию
  // /!\ Независимо от каталога все id категорий должны быть уникальны
  catalog: [
    {	// Простой плоский (одноуровневый каталог)
      id: 'Производители',
      name: 'Производители',
      category: [
        {
          id: 'Bosch',
          name: 'Bosch',
        },
        {
          id: 'LG',
          name: 'LG',
        },
      ]
    },
    {	// Иерархичный (рекурсивный) каталог
      id: 'cat1',
      name: 'Каталог товаров',
      description: 'Это основной каталог товаров',
      category: [
        {
          id: '1b',
          name: 'Бытовая техника',
          category: [
            {
              id: '2stir',
              name: 'Стиральные машины',
            },
            {
              id: '2hol',
              name: 'Холодильники',
            },
          ]
        }
      ]
    }
  ],
  // Объявляем характеристики 
  
  characteristic: [
    {
      id: '1',
      name: 'Мощность',
      unit: 'kWt',
      type: 'numeric',
      group: 'Электроприборы',
    },
    {
      id: '2',
      name: 'Цвет',
      type: 'color',
      group: 'Общие',
    }
  ],

  //---------------------------------------------
  // Объявляем склады 
  warehouse: [ 
    {
      id: 'whouse1',
      name: 'Магазин на улице Мира',
      adress: 'Проспект Мира, дом 136',
      description: 'За поворотом где большая вывеска',
    },
    {
      id: 'whouse2',
      name: 'Склад на окружной',
    },
  ],
  //---------------------------------------------
  // Объявляем валюты 
  currency_base: 'RUB', 
  currency_rate:
    {
      USD: 'RUB*80',					// Явно указывается коэффициент пересчета долларовых цен в рубли.
      EUR: 'cbrf(EUR)',				// Равняется курсу eвро, определенным ЦБРФ.
      UED: 'cbrf(USD)*1.05',	// Придуманная условная единица, равна официальному в России курсу доллара +5%
    },

//А не правильнее ли так написать с массивами? или так только кода там объекты?
currency_base: 'RUB', 
currency_rate: [
  USD: 'RUB*80',
  EUR: 'RUB*90',
  KZT: 'cbrf(KZT)*1.1',
  UE1: 'cbrf(USD)*1.1',
]
  //=============================================
  // Значения по умолчанию
  //---------------------------------------------
  // Общие условия и параметры подходящие для большинства продуктов (значения по умолчанию) для уменьшения объема передаваемых данных
  product_type: 'goods',
  unit: 'pcs',					// основная единица количества товаров
  unit_weight: 'kg',
  unit_height: 'm',
  currency: 'RUB',
  tax_vat_rate: '20',	// 20, что равно 20%. 'not' - не является плательщиком НДС, не то же самое, что 0%.
  // can_ordered: true,  // Этот товар можно дозаказать свер того, что доступно.

  //=============================================
  // Передача данных о товаре
  // /!\ Здесь product разбиты на несколько частей исключительно для облегчения восприятия рассматриваемой тематики.
  //---------------------------------------------
  // Описание товара
  product: [
    {
      id: '43250340-7291',
      article: 'm-diano-35x67-baige',
      name: 'Керамическая настенная плитка Mayolica DAINO бежевая 34X67',
      description: 'Хорошая плитка с качественной глазурью',
      img_url: 'example.com/img/3434234234.jpg',
    },
  ],
  //---------------------------------------------
  // Связь товара с таксономией
  product: [
    {
      id: 'product1234',
      name: 'Стиральная машина LG10501',		
      category_id: ['LG','2stir', '2suh'],	//указываем id категорий, которые были объявлены в таксономии
    }
    {	// Вариант когда категоризация единственная и не объявляется заранее
      id: 'product5',
      name: 'Молоко',
      unit: 'pc',
      category: 'milk',
    }
  ],
  //---------------------------------------------
  // Указываем характеристики в товаре
  product:[
    {
      id: 'product1',
      name: 'Пряжа шерстяная',
      characteristic: [
        {
          id: '1',
          value:'1.5',
        }
        {
          id: '2',
          value:'Вишневый',
          color: '#C6214B',
        }
  ],
  //---------------------------------------------
  // Передача цен
  products: [
    {
      id: 'product1',
      name: 'Плитка керамическая Лира настенная бежевая 40х40',
      unit: 'm2',
      price_retail: 1199,		// Рекомендация продавать в розницу по этой цене
      price_vendor: 990,		// Сделка между сторонами будет происходить по цене 990 руб.	
    },
    {
      id: 'product2',
      name: 'Пряжа шерстяная',
      unit: 'kg', 
      currency: 'usd',			// Цены данного продукта указаны в долларах.
      price_retail: 14,
      price_vendor: 10,
    },
    {
      id: 'product5',
      name: 'Стиральная машина LG10501',
      price: 10800,
      price_retail: 12990,			// Цены товара в рублях, но
      // Возможно не нужно разрешать разные цены в рамках одного предложения
      price_vendor: {value: 700, currency: 'USD'},	// Цена поставщика в иностранной валюте
    },
  ],
  //---------------------------------------------
  // Передаем данные по наличию товаров
  products: [
    {
      id: 'product5',
      name: 'Стиральная машина LG10501',
      unit: 'pcs',
      avl: 2,		// Две машинки доступны для заказа.
    }
    {
      id: 'product1',
      name: 'Плитка керамическая Лира настенная бежевая 40х40',
      unit: 'm2',
      avl: 1051, 						// 1051 кв.м можно приобрести
      reserved: 200,				// 200 кв.м ещё лежит на складе, но скоро уедет другим покупателям
      can_ordered: false,		// Этот товар нельзя дозаказать свер того, что доступно (коллекция устарела).
    },
    {
      id: 'product2',
      name: 'Молоко 1 литр',
      avl: 692,
      warehouse: [			// Данные по остаткам в разрезе складов.
        {warehouse_id:'whouse1',  avl: 48,},
        {warehouse_id:'whouse2',  avl: 644,},
      ]
    },
  ],
  //---------------------------------------------
  // Передача данных об упаковке товара
  products: [
    {
      id: 'product5',
      name: 'Молоко',
      unit: 'pc',
      pck: {	// Один вид упаковки содержащий одну единицу товара.
        name:'Пакет 1 л',
        weight: 1.03,
      },
    },
    {  // Плитка упакована в картон по 8 шт, и складывается в палеты.
      id: 'product1',
      name: 'Плитка керамическая Лира настенная бежевая 40х40',
      unit: 'm2',  
      pck: [
        {
          name: 'одна плитка',
          qty: 0.16,
          weight: 0.2,
          heigt: 5,
          unit_height: 'mm',
          width: 0.4,
          length: 0.4,
        },
        {
          name: 'Картонная упаковка',
          qty: 1.28,
          gweight: 1.7,
          gheigt: 0.60,
          gwidth: 0.405,
          glength: 0.405,
          contains: 0.16, // Содержит упаковки указанного объема, можно вычислить количество 1.28/0.16=8шт.
        },
        {
          name: 'Палета',
          qty: 384,
          gweight: 550,
          contains: 1.28,
        },
       ]
    },  
    {		// Химреактив, развешиваемый на определенные порции.
      id:'prodict2',
      name: 'Кобальта (II) алюминат, 99%',
      unit: 'g',
      qty: 1000,
      pck: [ qty:25, qty: 50, qty: 100, qty: 250],
    },
    {
      id:'prodict14',
      name: 'Хлопья овсяные',
      unit: 'g',
      qty: 1000,
      pck: {
        name: 'пачка 900г',
      pck_code: 19283928,	
      
      },


    }
  ],	


  
  

  //---------------------------------------------
  // Кратность продажи
  products: [
    {
      id: 'product1',
      name: 'Плитка керамическая Лира настенная бежевая 40х40',
      price: 990,
      unit: 'm2', 
      multiplicity: 1.28,	// Продаем кратно упаковке 1,28 кв. метров.
      min 128, 				// Минимальная партия покупки 128 кв. м. (10 пачек).
    },
    {
      id: 'product2',
      name: 'Пряжа шерстяная',
      price: 800,
      unit: 'kg', 
      multiplicity: 0.2,		// Продаем пряжу на развес по 200 грамм (160 руб)
    },
    {
      id: 'prodict3',
      name: 'Соль поваренная',
      price: 10,								// Цена не зависит от развеса упаковки
      unit: 'g',
      pck: [ gty: 10, qty: 100, qty: 1000,],
      multiplicity: 'pck', 					//Продаем химреактивы кратно упаковкам. - так правильнее, т.к. будет что в корзине указывать
  
    },
    {
       id:'prodict4',
       name: 'Кобальта (II) алюминат, 99%',
       price: {pck:25, value: 250},{pck:50, value: 400},], // Цена каждой упаковки индивидуальна
       unit: 'g',
       pck: [ gty:25, qty: 50, qty: 100, qty: 250,],
       multiplicity: 'pck',
    },	
  ],
       multiplicity: [ 25, 50, 100, 250 ]',	// Продаем химреактивы кратно упаковкам.
    
    
    
Файлы для скачивания: