Получение корзины - 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
    }
}