Project

General

Profile

Bug #6303

API для партнерів по розпізнаванню. Асиметричне рішення : )

Added by ♠ Aleksandr Tsymbalyuk about 1 month ago. Updated about 1 month ago.

Status:
New
Priority:
High
Target version:
Shelf dev - Release 111
Start date:
24/03/2025
Due date:
% Done:

0%

Estimated time:
Category:
Another
Due date:
Client:
Current Version:
Release 110
OS (operating system):

Description

Необхідно швидке рішення.
Потрібно реалізувати механізм, що дозволить отримати:
1. Перелік планограм,
2. Товари та їх позицій на планограмах з п.1
3. Зображення реалограми по планограмах з п.1

Пропоную створити систему з "вічними" токенами, що буде видаватись як ключ доступу до поточного API.
Щоб реалізувати хоч якусь безпеку, точкою входу має бути "база баз".
Там має зявитись таблиця з +- таким набором колонок:
1. Вічний токен який видається назовні
2. Вічний токен який прописується безпосередньо в таблиці сессій клієнта без терміну дії.
3. Умовна назва того, кому виданий ключ доступу(токен).
4. Перелік методів(ендпоінтів) до яких він має доступ. "/stores,/shelves,/items"
5. Можливо перелік IP з яких можуть бути запити. Не знаю чи це можна на стороны 1C реалізувати.

Клієнту маємо передати посилання
client_url - назва бази клієнта chudo,wog тощо.
current_request - ендпоінт який перед запитом потрібно звірити з доступними в таблиці вище з п.3
token_without_expiration_date - токен в таблиці вище з п.1
POST https://[client_url]/m/hs/merchandising/api.shelf/[current_request]?version=1&token=[token_without_expiration_date]

Процес наступний:
1. Кліент робить запит на "базу баз"
2. Перевіряється актуальність\наявність токена.
3. Перевіряється наявність\доступність ендпоїнта до якого посилаються
4. Робиться запит на наше поточне апі з підміною токена, що у таблиці в "базі баз" п.2
5. Для

1. Отримати перелік наявних магазинів /stores
2. Отримати перелік обл. в конкертному магазині СПРОЩЕНИЙ. Наразі такого метода не існує.
Необхідно те ж саме що /shelvesByParent, але працювати має як "дей мені перелік обл за ідентифікатором магазину еа опублікованому плані залу".
Тобто щось типу /shelves?store=[store_id]
3. Отримати перелік товарів на конкретному обл. в конкретному магазині СПРОЩЕНИЙ. Наразі такого метода не існує.
Необхідно те, що +- робить /shelfArt
Тобто щось таке /items?store=[store_id]&shelf=[instance_id]

History

#1 Updated by ♠ Aleksandr Tsymbalyuk about 1 month ago

  • Tracker changed from Strategy to Bug
  • Project changed from Shelf dev to [EPIC] Безпека
  • Current Version set to Release 110

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 24.4 MB)