Описание метода в api версии 3

Назначение

Используется для создания новых  или обновления существующих товаров на торговой площадке.

Пример запроса JSON (v3)

Пример демонстрирует вызов метода /v3/product/create.

Пример запроса

POST /ExternalExchange/v3/product/create HTTP/1.1 
Content-Type: application/json; 

{
	"externalSystemId": "000000001",
	"nomenclatureSearchAttribute": "article",
	"products": [
		{
			"externalSystemProductId": "00-07030193",
			"updateExistingProduct": true,
			"productName": "Шкаф для посуды",
			"productPrintName": "Шкаф для посуды",
			"productArticle": "00-00011111",
			"productFullDescription": "Очень красивый шкаф для посуды",
			"productGroups": "Корпусная мебель",
			"productGuid": "b0d4ce5d-2757-4699-948c-cfa72ba94f87",
			"productCharacteristicGuid": "b0d4ce5d-2757-4699-948c-cfa72ba94f84",
			"productCharacteristicName": "Размер 10",
			"kindName": "Товары",
			"unit": {
				"code": "796",
				"name": "шт",
				"type": "NumberOfPieces"
			},
			"vat": "20",
			"barcodes": [
				{
					"barcode": "2000000049427"
				}
			],
			"additionalProperties": [
				{
					"name": "Ссылка на фото",
					"value": "http://myserver.com/picture1.png"
				}
			]
		}
	]
}
JS

Пример успешного ответа

{
  "message": "All products were successfully processed",
  "externalSystemId": "000000002",
  "success": true,
  "successInAllSubrequests": true
  "resultList": [
    {
      "message": "",
      "updated": true,
      "externalSystemProductId": "00-00011111",
      "success": true
    }
  ]
}
JS

Пример ответа c ошибками

Пример 1 
{
  "resultList": [],
  "message": "External system wan not found by externalSystemId",
  "externalSystemId": "000000001",
  "success": false,
  "successInAllSubrequests": false
}

Пример 2
{
  "message": "All products were successfully processed",
  "resultList": [
    {
      "message": "Product already created for externalSystemId = 00-07030193",
      "updated": false,
      "externalSystemProductId": "00-07030193",
      "success": true
    }
  ],
  "externalSystemId": "123",
  "success": true,
  "successInAllSubrequests": true
}
JS

Описание параметров запроса


ПараметрТипОбязателенОписание
1externalSystemIdstringНетКод внешней системы откуда идет подключение к базе маркета
2nomenclatureSearchAttributestringДа

Код параметра поиска товара:

  • name - поиск по наименование
  • article - поиск по артикулу
  • code - поиск по коду
  • none - не определено. Поиск товаров не будет выполняться.

productsМассивДаМассив товаров для создания или обновления
3externalSystemProductIdstringДа

Идентификатор товара во внешней системы. Например, код справочника "Номенклатура" во внешней системе 1С.

В общем случае является идентификатором комбинации Номенклатура + Характеристика.

4updateExistingProductbooleanДаПризнак, разрешающий или запрещающий обновлять существующий товар
5productCodestringНетКод товара
6productGuidstringДаИдентификатор номенклатуры (без характеристики) внешней системы для однозначной идентификации элементов во время загрузки
7productNamestringДаКраткое наименование товара
8productPrintNamestringНетПолное наименование товара
9productCharacteristicGuidstringНет (warning)

Идентификатор характеристики внешней системы для однозначной идентификации элементов во время загрузки

Является обязательным, если заполнено поле "productCharacteristicName"

10productCharacteristicNamestringНет (warning)

Наименование характеристики товара

Является обязательным, если заполнено поле "productCharacteristicGuid"

11productArticlestringНетАртикул товара
12productFullDescriptionstringНетОписание товара
13productGroupsstringНет

Строка иерархии групп, уровни групп разделяются символом "$$", например:

  • Спортивные товары$$Велосипеды$$Горные
14kindNamestringНетНаименование вида товара
15vatstringДа

Код ставки НДС:

  • "10" - НДС10
  • "18"- НДС18
  • "20"- НДС20
  • "NoVat"- БезНДС
16featureOfCisstringНет

Особенность учета номенклатуры (Идентификатор соответствующего значения перечисления)

Для никакой особенности использовать "none"


unitobjectДаОписание единицы измерения товара.
17codestringДаКод единицы измерения по ОКЕИ, может быть пустым (в v1 - measureUnitCode, в v2 - unitCode)
18namestringДаНаименование единицы измерения.
19typestringДа

Тип измеряемой величины:

  • "Weight" - вес
  • "Volume" - объем
  • "Area" - площадь
  • "Length" - длина
  • "NumberOfPieces" - количество штук
  • "Capacity" - мощность
  • "Energy" - энергия
  • "ElectricСharge" - электрический заряд
  • "Time" - время
  • "Undefined" - значение типа не задано

barcodesarrayНетМассив штрихкодов номенклатуры для добавления, существующие штрихкоды не удаляются (добавлено в v2)
20barcodestringДа

Добавляемый штрихкод номенклатуры. Если используется для другой номенклатуру, то он переназначается на текущую

21packageNamestringНетНаименование упаковки товара. Выполняется поиск по полям: Наименование + Владелец (номенклатура или набор упаковок)

additionalPropertiesarrayНетМассив дополнительных свойств товара
22namestringДаСтроковый идентификатор свойства товара. Может содержать любые символы, в т.ч. и пробельные.
23valuestring, float, boolean, dateTimeНетЗначение свойства товара.

marketplacesDataarrayНетМассив идентификаторов площадок для привязки товара
24merchantIdstringДаИдентификатор личного кабинета (код элемента справочника)
25marketplaceProductIdstringНетИдентификатор товара на площадке

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


ПараметрТипОбязателенОписание

Параметры
1externalSystemIdstringДаКод внешней системы
2messagestringДа

Описание результата запроса:

  • "Request was valid but all products have errors" - все товары не удалось создать или обновить
  • "Request was valid but some products have errors" - некоторые товары не удалось создать или обновить
  • "All products were successfully processed" - все товары успешно созданы или обновлены
3successInAllSubrequestsbooleanДа

Статус выполнения подзапросов метода

  • true - все подзапросы метода выполнены успешно
  • false - подзапрос выполнен с ошибкой. Описание ошибки см. в параметре message
4successbooleanДа

Общий статус запроса

  • true - запрос успешный
  • false - выполнен с ошибкой

resultListМассивНет

Массив созданных или обновленных товаров

5messagestringДа

Описание результата запроса по позиции товара

  • "Product already created for externalSystemId" - Попытка обновить существующий товар, где updateExistingProduct=false 
  • "For externalSystemId = 111 there are more than one entry with externalSystemProductId = 111 in request" - передан неуникальный идентификатор товара во внешней системе (externalSystemProductId)
  • "Empty externalSystemProductId is not permitted" - пустой идентификатор товара во внешней системе (externalSystemProductId)
6updatedbooleanДа

Признак обновления товара

  • true - товар создан или обновлен
  • false - не удалось создать или обновить (описание ошибки в параметре message)
7externalSystemProductIdstringДаИдентификатор товара во внешней системы. Например, код справочника "Номенклатура" во внешней системе 1С.
8successbooleanДа

Статус выполнения изменений по позиции товара

  • true - запрос успешный
  • false - выполнен с ошибкой