-
Список API Облака для партнеров:
- 1. Изменение схемы продуктов для магазина
- 2. Получение схемы продуктов для магазина
- 3. Удаление схемы продуктов для магазина
- 4. Добавление конкретных значений экстра в товары для магазина
- 5. Получение конкретных значений экстра товаров в магазине
- 6. Удаление конкретных значений экстра товаров в магазине
- 7. Получение документов чека и их экстра данных
В вашем кабинете на dev.evotor.ru нужно зарегистрировать приложение "Название приложения".
Для разработки нужен uuid приложения, uuid приложения можно посмотреть в адресной строке.
Также нужно прописать сервер приложения https:название приложения.название компании.ru, пока в кабинете разработчика не появится эта возможность.Если присутствует необходимость серверной интеграции, тогда нужно предварительно авторизовывать пользовательские запросы.
Для этого нужен пользовательский токен. Чтобы его получить - нужно поддержать нотацию API:
https://api.evotor.ru/docs/?url=/docs/v1/evotor-to-partner.json#!/Управление_учетными_записямиУ товара в магазине для одного приложения может быть одно экстра-поле внутри него любой валидный json (например поле с массивом объектов которые могут вам понадобиться на терминале).
У того же товара в том же магазине, но для другого приложения эстра поле будет другим. Когда к апи обращаются с токеном приложения то GET и POST будет влиять на экстраполя того приложения с токеном которого обращаются.В 1 приложении должна быть только 1 схема, которая покрывает все экстра данного приложения. В перспективе можно будет менять схему для нескольких приложений (тогда пригодиться массив по appId, но пока это ограничено на уровне прав доступа по токену в запросе, который имеет право изменять только соответствующую схему приложения).
Запрос: https://test-api.evotor.ru/api/v1/inventories/stores/{store-uuid}/products/schemes
curl POST - H "Content-Type: application/json;charset=utf-8" - H "X-Auth-Token: {токен}" - d '[ { "uuid": "{uuid-схемы-продуктов-в-магазине}", "appId": "{uuid-приложения-в-маркетплейсе}", "items": [{ "title": "Произвольный заголовок поля ввода текста", "editable": false, "regexp": "\w+", // валидный регексп "uuid": "{uuid-поля-1}", "type": "TEXT_FIELD", "data": {} // валидный JSON с произвольными данными доступными из JS на терминале }, { "editable": true, "title": "Произвольный заголовок поля выбора из списка", "uuid": "{uuid-поля-2}", "items": [{ "data": {}, // валидный JSON с произвольными данными доступными из JS на терминале "title": "Заголовок первого варианта выбора", "value": "10" }, { "data": {}, // валидный JSON с произвольными данными доступными из JS на терминале "title": "Special title", "value": "20" } ], "type": "DICTIONARY_FIELD" } ] }] 'Статусы ответов:
200 - Успех 400 - Ошибка "Bad Request" 401 - Ошибка "Unauthorized"В пример запроса описаны 2 поля, где 1 поле - текстовое поле, где title = "Произвольный заголовок поля ввода текста" и 2 поле - выбор из списка, где title = "Произвольный заголовок поля выбора из списка".
Где items.title - это заголовок поля и заголовок окна при выборе одновременно, а items.items.title - это заголовок одного значения из списка возможных предопределенных значений.
Добавлять значения "экстра полей" для всех productUuid можно как одним POST запросом, так и по частями, например по 100 позиций.Запрос: https://test-api.evotor.ru/api/v1/inventories/stores/{store-uuid}/products/schemes
curl GET - H "Content-Type: application/json;charset=utf-8" - H "X-Authorization: {токен}"Статусы ответов:
200 - Успех 400 - Ошибка "Bad Request" 401 - Ошибка "Unauthorized"Запрос: надо добавить
надо добавитьСтатусы ответов:
200 - Успех 400 - Ошибка "Bad Request" 401 - Ошибка "Unauthorized"Запрос: https://test-api.evotor.ru/api/v1/inventories/stores/{store-uuid}/products/extras
curl - X POST - H "Content-Type: application/json" - H "Content-Type: application/json;charset=utf-8" - H "X-Auth-Token: test-token-1" - d ' [ { "uuid": "{uuid-экстра-поля-1}", "appId": "{uuid-приложения-в-маркетплейсе}", "key": { "uuid": "{uuid-продукта-связанного-с-экстра-полем}", }, "scheme": { // Секция данных привязки значения экстра поля к контролу отображаемому на терминале // (не требуется если экстра данные не нужно отобржатаь в меню терминал) "value": "20", "fieldId": "{{uuid-поля-из-схемы-отображения-продукта}" }, "data": {}, // валидный JSON с произвольными данными доступными из JS на терминале }] 'Статусы ответов:
200 - Успех 400 - Ошибка "Bad Request" 401 - Ошибка "Unauthorized"Запрос: https://test-api.evotor.ru/api/v1/inventories/stores/test-store/products/extras
curl - XGET\ - H "Content-Type: application/json;charset=utf-8" - H "X-Authorization: {токен}"Статусы ответов:
200 - Успех 400 - Ошибка "Bad Request" 401 - Ошибка "Unauthorized"Запрос: надо добавить
надо добавитьСтатусы ответов:
200 - Успех 400 - Ошибка "Bad Request" 401 - Ошибка "Unauthorized"Запрос: https://test-api.evotor.ru/api/v1/inventories/stores/{store-uuid}/documents?deviceUuid
GET headers = { Content - Type = [application / json;charset = UTF - 8]; accept - encoding = [gzip]; x - authorization = [{ user - application1 - token }] }; req payload = ; resp status = 200; resp payload = [{ "uuid": "5285ab1b-2ecb-4614-87f7-99b1486a04fe", "type": "OPEN_SESSION", "deviceId": "352398080047279", "deviceUuid": "8ffbe447-79d0-4fd9-823a-6da96d7f0be9", ...стандарнтые поля модели документа Эвотор... "extras": { "{application1-uuid}": { валидный_джейсон_со_значениями_эстра, application1 - uuid соответсвующий user - application1 - token - у } } }]Статусы ответов:
200 - Успех 400 - Ошибка "Bad Request" 401 - Ошибка "Unauthorized"
forked from mvtereschenko/API-Integration
-
Notifications
You must be signed in to change notification settings - Fork 0
e-v-petrov/API-Integration
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published