Публикация

подписчиков: 5 Подписаться
0
Avatar

Не совпадает UUID модификации товара на сайте и в API

Добрый день. Для синхронизации товаров на сайте и в моем складе использую json api и конкретно запрос 

https://online.moysklad.ru/api/remap/1.1/entity/assortment

Заметил, что у модификаций товаров на сайте и по API не совпадают UUID. 

На сайте товар 23 Co. Side Effect Pump 30serv со вкусом Розовый лимонад имеет UUID
39fd3c9f-5818-11e8-9ff4-315000038504 (смотрю его в url)  и внешний код Cl84pqzvgB88YjnOcuUPp0 (смотрю его нажав на ссылку Внешний код)

По api приходит

"id": "39fd459f-5818-11e8-9ff4-315000038506",
"version": 6,
"updated": "2018-05-15 11:16:11",
"name": "23 Co. Side Effect Pump 30serv (\u0420\u043e\u0437\u043e\u0432\u044b\u0439 \u043b\u0438\u043c\u043e\u043d\u0430\u0434)",
"externalCode": "Cl84pqzvgB88YjnOcuUPp0",

То есть внешние коды совпадают, названия совпадают, а UUID нет. В чем может быть причина?

Павел

Войдите в службу, чтобы оставить комментарий.

Комментариев: 12

0
Avatar

Вот весь пришедший товар. Тут нет такого значения, как на сайте 39fd3c9f-5818-11e8-9ff4-315000038504.

{
"meta": {
"href": "https:\/\/online.moysklad.ru\/api\/remap\/1.1\/entity\/variant\/39fd459f-5818-11e8-9ff4-315000038506",
"metadataHref": "https:\/\/online.moysklad.ru\/api\/remap\/1.1\/entity\/variant\/metadata",
"type": "variant",
"mediaType": "application\/json"
},
"id": "39fd459f-5818-11e8-9ff4-315000038506",
"accountId": "3b2e28a7-5688-11e4-7a07-673d00002b34",
"version": 6,
"updated": "2018-05-15 11:16:11",
"name": "23 Co. Side Effect Pump 30serv (\u0420\u043e\u0437\u043e\u0432\u044b\u0439 \u043b\u0438\u043c\u043e\u043d\u0430\u0434)",
"externalCode": "Cl84pqzvgB88YjnOcuUPp0",
"archived": false,
"characteristics": [{
"meta": {
"href": "https:\/\/online.moysklad.ru\/api\/remap\/1.1\/entity\/variant\/metadata\/characteristics\/2e0b369c-f072-11e6-7a69-93a7001f2b06",
"type": "attributemetadata",
"mediaType": "application\/json"
},
"id": "2e0b369c-f072-11e6-7a69-93a7001f2b06",
"name": "\u0412\u043a\u0443\u0441",
"value": "\u0420\u043e\u0437\u043e\u0432\u044b\u0439 \u043b\u0438\u043c\u043e\u043d\u0430\u0434"
}],
"salePrices": [{
"value": 123,
"currency": {
"meta": {
"href": "https:\/\/online.moysklad.ru\/api\/remap\/1.1\/entity\/currency\/e20611c5-efc9-11e6-7a31-d0fd00291cfc",
"metadataHref": "https:\/\/online.moysklad.ru\/api\/remap\/1.1\/entity\/currency\/metadata",
"type": "currency",
"mediaType": "application\/json",
"uuidHref": "https:\/\/online.moysklad.ru\/app\/#currency\/edit?id=e20611c5-efc9-11e6-7a31-d0fd00291cfc"
}
},
"priceType": "\u041e\u043f\u0442\u043e\u0432\u0430\u044f"
}, {
"value": 0,
"currency": {
"meta": {
"href": "https:\/\/online.moysklad.ru\/api\/remap\/1.1\/entity\/currency\/5574ebf6-5688-11e4-90a2-8ecb002adcf5",
"metadataHref": "https:\/\/online.moysklad.ru\/api\/remap\/1.1\/entity\/currency\/metadata",
"type": "currency",
"mediaType": "application\/json",
"uuidHref": "https:\/\/online.moysklad.ru\/app\/#currency\/edit?id=5574ebf6-5688-11e4-90a2-8ecb002adcf5"
}
},
"priceType": "type"
}],
"barcodes": ["2000000024127"],
"product": {
"meta": {
"href": "https:\/\/online.moysklad.ru\/api\/remap\/1.1\/entity\/product\/39f91e6c-5818-11e8-9ff4-315000038500",
"metadataHref": "https:\/\/online.moysklad.ru\/api\/remap\/1.1\/entity\/product\/metadata",
"type": "product",
"mediaType": "application\/json",
"uuidHref": "https:\/\/online.moysklad.ru\/app\/#good\/edit?id=39f91349-5818-11e8-9ff4-3150000384fe"
}
},
"stock": 6,
"reserve": 0,
"inTransit": 0,
"quantity": 6
}
Павел 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Вы прислали json модификации, а не товара. Для модификации данный идентификатор на данный момент отсутствует. Мы рассмотрим возможность его добавления

Екатерина Евтухова 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Я могу получить по uuid 39fd3c9f-5818-11e8-9ff4-315000038504 для этой модификации по API другим запросом?

Павел 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

По UUID модификации я получаю ее остатки на складе, создаю заказы, счета и отгузки по API. Вот например

https://online.moysklad.ru/api/remap/1.1/doc/index.html#%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7-%D0%BF%D0%BE%D0%BA%D1%83%D0%BF%D0%B0%D1%82%D0%B5%D0%BB%D1%8F-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D1%8B-%D0%BF%D0%BE%D0%BA%D1%83%D0%BF%D0%B0%D1%82%D0%B5%D0%BB%D0%B5%D0%B9-post

 

Павел 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Так же у меня есть шаблон выгрузки остатков в моем складе. Каждая позиция выгружается со своим UUID (правильным UUID, который указывается в url модификаций и товаров). Люди делают заказы с такими UUID, но на сайте у меня таких UUID для модификаций нет, т.к. по api при синхронизации остатков я получаю другие UUID.

Павел 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Павел, добрый день!

У вас несколько сумбурный комментарий, следует его подробнее разъяснить.

Так же у меня есть шаблон выгрузки остатков в моем складе.

Шаблон используется для выгрузки в веб-версии?

Каждая позиция выгружается со своим UUID (правильным UUID, который указывается в url модификаций и товаров).

Что подразумевается под правильным uuid? Какой тогда неправильный?

Люди делают заказы с такими UUID, но на сайте у меня таких UUID для модификаций нет, т.к. по api при синхронизации остатков я получаю другие UUID.

Какими запросами АПИ происходит обмен с сайтом?

-------------------------------------

Товары в веб-версии и товары в АПИ имеют разные идентификаторы, однако в АПИ в узле meta имеется элемент uuidHref, который содержит идентификатор на товар из веб-версии.
Необходимо иметь сопоставление этих идентификаторов.

 

Ivan Pivkin 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Мне специалисты службы поддержки пользователей моего склада сделали шаблон выгрузки остатков из моего склада в exel-файл.
http://prntscr.com/kva4k7

В колонку UUID помещается UUID товара или модификации. Например для модификации 23 Co. Side Effect Pump 30serv (Розовый лимонад) выгрузидлся UUID 39fd3c9f-5818-11e8-9ff4-315000038504. Такой же ID указан в моем складе в url на странице этой модификации. http://prntscr.com/kvas32

В тоже время у меня есть сайт, на который я регурялно по API выгружаю ассортимент из моего склада через запрос https://online.moysklad.ru/api/remap/1.1/entity/assortment. При каждой выгрузке я сохраняю пришедшие ID товаров и модификаций. Модификация 23 Co. Side Effect Pump 30serv (Розовый лимонад) приходит в следующем виде: http://prntscr.com/kvad57. UUID 39fd3c9f-5818-11e8-9ff4-315000038504 не упоминается. Зато приходит id 39fd459f-5818-11e8-9ff4-315000038506, и именно его я ассоциирую с этой модификацией и ее сохраняю на сайте.

Получается проблема. Люди заказывают 23 Co. Side Effect Pump 30serv (Розовый лимонад) из excel-прайслиста и присылаеют мне его ID и количество: 39fd3c9f-5818-11e8-9ff4-315000038504 – 16шт. Заказ приходит на сайт, но я не могу определить модификацию по этому ID. Отсюда вопрос, как мне сопоставить ID модификаций, которые выгружаются в excel-прайслист с теми, которые приходят по API?

Павел 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Павел, спасибо за разъяснение!
К сожалению, на данный момент uuidHref не выводится для модификаций, задача есть в плане разработки.
По id действительно не получится, попробуйте сопоставление по имени, модификации указываются в скобках.

Ivan Pivkin 0 проголосовали
Действия с комментариями Постоянная ссылка
0
Avatar

Идентифицировать модификации по названию не вариант. Вижу два решения, вот по ним вопросы:
1. Могу ли я по JSON API зная API UUID модификации каким-либо запросом узнать ее WEB UUID? Если да, тогда я при синхронизации товаров с сайтом после запроса по 

https://online.moysklad.ru/api/remap/1.1/entity/assortment

смогу сделать для каждой модификации еще запросы и получить им WEB UUID.


2. Если ли другой идентификатор у модификации, который одинаковый и в WEB и в API? Например внешний код будет одинаковым? Ели еще какой-нибудь...

Павел 0 проголосовали
Действия с комментариями Постоянная ссылка