Получение корзины - qwep-ru/userapi GitHub Wiki
POST /basket
Получает массив корзин со всем содержимым и формой для последующего оформления заказа по указанному аккаунту поставщика.
!!!Если в методе получения поставщиков свойство checkout у поставщика имеет значение false - на текущий момент функционал работы с корзиной данного поставщика в QWEP API не поддерживается и продолжить оформление заказа нужно на сайте поставщика.
Заголовки:
- Authorization: Bearer TOKEN
Параметры:
- accounts — массив аккаунтов, по которым нужно получить корзину (если не передан, корзины получаются по всем активным аккаунтам поставщиков с реализованной корзиной, если передан, но корзина не реализована, вернется предупреждение, что работа с корзиной не поддерживается)
- id — ID аккаунта, integer
- timeout — таймаут на получение корзин в миллисекундах, integer (по умолчанию — 10000 (10 секунд))
Ответ:
- baskets — массив корзин поставщиков
- accountId — ID аккаунта
- basketForm — форма заказа
- caption — действие при отправке формы (если null или Array, действие - оформление заказа)
- disabled — доступность оформления заказа
- fields — список реквизитов для оформления заказа
- defaultValue — значение поля по-умолчанию
- fieldId — ID поля
- fieldName — имя поля
- options — опции выбора (если поле типа SelectField)
- required — обязательное поле, bool
- title — заголовок поля, text
- type — тип поля (1-10), integer (типы)
- typeName — имя типа поля
- formId — ID формы
- formName — имя формы
- title — заголовок формы
- basketId — ID корзины
- basketItems — содержимое корзины
- article — артикул
- available — доступное количество (предоставляют не все поставщики)
- basketItemId — ID строки корзины
- brand — бренд (предоставляют не все поставщики)
- delivery — срок поставки (предоставляют не все поставщики)
- fields — список вложенных полей с дополнительной информацией
- defaultValue — значение поля по-умолчанию
- fieldId — ID поля
- fieldName — наименование поля
- options — опции выбора (если поле типа SelectField)
- type — тип поля (1-10), integer (типы)
- typeName — имя типа поля
- price — цена
- quantity — количество
- title — наименование
- warehouse — склад
- orderHash — хэш позиции (используется в данном методе для получения статуса этой позиции)
- vendorId — ID поставщика
- vendorTitle — наименование поставщика
- hasPartOrder — признак наличия возможности частичного оформления заказа (если true - нужные товары из корзины можно отправлять в массиве "onlyItems" на /basket/order)
- status — успешность выполнения операции, boolean
- errors — список ошибок
- warnings — список предупреждений
Пример:
Запрос:
POST https://userapi.qwep.ru/basket?json HTTP/1.1
Authorization: Bearer n439fn3nn2jsoasmnsh437dnbc94b48cb
{
"Request":{
"RequestData":{
"accounts":[
{
"id":915067
}
]
}
}
}
Ответ:
{
"Response": {
"entity": {
"baskets": [
{
"basketId": "101",
"accountId": 915067,
"vendorId": "ea2ffa40-d0c5-11e5-ab30-625662870761",
"vendorTitle": "Автотранс",
"hasPartOrder": true,
"basketItems": [
{
"basketItemId": "133",
"quantity": 1,
"available": null,
"article": "0451103336",
"brand": "BOSCH",
"price": "214.17",
"priceTotal": "214.17",
"title": "Фильтр гидравлический КПП Renault",
"delivery": null,
"warehouse": "Склад выдачи",
"orderHash": "eyJ0aW1lIjoiMjg6MDY6MjAyMyIsICJhcnRpY2xlIjoiMDQ1MTEwMzMzNiIsICJicmFuZCI6ICJCT1NDSCIsICJ0aXRsZSI6ICLQpNC40LvRjNGC0YAg0LPQuNC00YDQsNCy0LvQuNGH0LXRgdC60LjQuSDQmtCf0J8gUmVuYXVsdCIsICJ3YXJlaG91c2UiOiAi0KHQutC70LDQtCDQstGL0LTQsNGH0LgifQ==",
"fields": [
{
"fieldId": "2",
"fieldName": "Примечание",
"type": 1,
"typeName": "InputField",
"defaultValue": "",
"options": null
}
]
}
],
"basketForm": {
"formId": "99",
"formName": null,
"title": null,
"caption": "Array",
"disabled": false,
"fields": [
{
"fieldId": "777",
"fieldName": "ordertype",
"title": "Вариант оформления",
"validation": null,
"required": true,
"error": null,
"type": 4,
"typeName": "SelectField",
"defaultValue": "300",
"options": [
{
"value": "299",
"text": "Отгрузить",
"fields": null
},
{
"value": "300",
"text": "Отправить в заявку",
"fields": null
}
],
"fields": null
},
{
"fieldId": "778",
"fieldName": "deliverycode",
"title": "Адрес доставки",
"validation": null,
"required": true,
"error": null,
"type": 4,
"typeName": "SelectField",
"defaultValue": "",
"options": [
{
"value": "301",
"text": "тест Екб",
"fields": null
},
{
"value": "302",
"text": "Доставка Троицкий - Ленина 8 (Троицкий тракт)",
"fields": null
},
{
"value": "303",
"text": "Доставка Златоуст (через Омск)",
"fields": null
},
{
"value": "304",
"text": "Доставка магнитогорск",
"fields": null
},
{
"value": "305",
"text": "Самовывоз со склада Троицкий тракт",
"fields": null
},
{
"value": "306",
"text": "Доставка Юрюзань",
"fields": null
},
{
"value": "307",
"text": "Самовывоз Омск",
"fields": null
},
{
"value": "308",
"text": "Новосибирск",
"fields": null
}
],
"fields": null
},
{
"fieldId": "779",
"fieldName": "order_descr",
"title": "Дополнительная информация",
"validation": null,
"required": false,
"error": null,
"type": 3,
"typeName": "TextareaField",
"defaultValue": "",
"options": null,
"fields": null
}
]
}
}
],
"status": true
},
"errors": null,
"warnings": null
}
}