Back
Back

КАК С ПОМОЩЬЮ ФИЛЬТРА ВЫВЕСТИ ВСЕ КАРТЫ С НАЧАЛНОЙ НУМЕРАЦИЕЙ КОРРЕКТНО?

Discussion
0
482
# Product Management
Discussion

мы хотим по запросу - /content/v2/get/cards/list с телом запроса

{
  "settings": {
    "sort": {
      "ascending": false
    },
    "filter": {
      "textSearch": "1054",
      "allowedCategoriesOnly": true,
      "withPhoto": -1
    },
    "cursor": {
      "nmID": 628307108,
      "limit": 11
    }
  }
}

вывести все карты с началной нумерацией "1054" в артикуле продавца, (их 4шт в нашем случае) - но по запросу ПРСТО с номерами "1054" он нечего не возвращает

{
    "cards": [],
    "cursor": {
        "nmID": 0,
        "total": 0
    }
}

- а при полном введении арикула продавца "1054_jak_bot" он возвращает всего один НАШ товар

{
    "cards": [
        {
            "nmID": 647921893,
            "imtID": 662170255,
            "nmUUID": "019aaf7a-fadf-7608-aec6-96944eec8afe",
            "subjectID": 2326,
            "subjectName": "Обезжириватели для ногтей",
            "vendorCode": "1054_jak_bot",
            "brand": "",
            "title": "Крем для снятия боли и воспаления 20г",
            "description": "Крем для снятия боли и воспаления в мышцах и суставах. Обладает антибактериальным эффектом, содержит хлоргексидин ацетат 0.1-0.3%. Помогает при скованности, болях в суставах и мышцах. Рекомендуется наносить на кожу и массировать до полного впитывания. Объем 20 г. Срок годности 24 месяца. Хранить в прохладном и сухом месте. Не использовать внутрь. Беречь от детей.",
            "needKiz": false,
            "photos": [
                {
                    "big": "https://basket-32.wbbasket.ru/vol6479/part647921/647921893/images/big/1.webp",
                    "c246x328": "https://basket-32.wbbasket.ru/vol6479/part647921/647921893/images/c246x328/1.webp",
                    "c516x688": "https://basket-32.wbbasket.ru/vol6479/part647921/647921893/images/c516x688/1.webp",
                    "hq": "https://basket-32.wbbasket.ru/vol6479/part647921/647921893/images/hq/1.webp",
                    "square": "https://basket-32.wbbasket.ru/vol6479/part647921/647921893/images/square/1.webp",
                    "tm": "https://basket-32.wbbasket.ru/vol6479/part647921/647921893/images/tm/1.webp"
                },
                {
                    "big": "https://basket-32.wbbasket.ru/vol6479/part647921/647921893/images/big/2.webp",
                    "c246x328": "https://basket-32.wbbasket.ru/vol6479/part647921/647921893/images/c246x328/2.webp",
                    "c516x688": "https://basket-32.wbbasket.ru/vol6479/part647921/647921893/images/c516x688/2.webp",
                    "hq": "https://basket-32.wbbasket.ru/vol6479/part647921/647921893/images/hq/2.webp",
                    "square": "https://basket-32.wbbasket.ru/vol6479/part647921/647921893/images/square/2.webp",
                    "tm": "https://basket-32.wbbasket.ru/vol6479/part647921/647921893/images/tm/2.webp"
                },
                {
                    "big": "https://basket-32.wbbasket.ru/vol6479/part647921/647921893/images/big/3.webp",
                    "c246x328": "https://basket-32.wbbasket.ru/vol6479/part647921/647921893/images/c246x328/3.webp",
                    "c516x688": "https://basket-32.wbbasket.ru/vol6479/part647921/647921893/images/c516x688/3.webp",
                    "hq": "https://basket-32.wbbasket.ru/vol6479/part647921/647921893/images/hq/3.webp",
                    "square": "https://basket-32.wbbasket.ru/vol6479/part647921/647921893/images/square/3.webp",
                    "tm": "https://basket-32.wbbasket.ru/vol6479/part647921/647921893/images/tm/3.webp"
                }
            ],
            "dimensions": {
                "width": 8,
                "height": 5,
                "length": 17,
                "weightBrutto": 0.02,
                "isValid": true
            },
            "sizes": [
                {
                    "chrtID": 873959811,
                    "techSize": "0",
                    "wbSize": "",
                    "skus": [
                        "2047474328306"
                    ]
                }
            ],
            "createdAt": "2025-11-23T06:51:04.233637Z",
            "updatedAt": "2025-11-23T06:51:43.045433Z"
        }
    ],
    "cursor": {
        "updatedAt": "2025-11-23T06:51:43.045433Z",
        "nmID": 647921893,
        "total": 1
    }
}

ВОПРОС: КАК С ПОМОЩЬЮ ФИЛЬТРА ВЫВЕСТИ ВСЕ КАРТЫ С НАЧАЛНОЙ НУМЕРАЦИЕЙ КОРРЕКТНО?

0
Comment

Привет! textSearch работает только на точное совпадение, поэтому "1054" не находит артикулы, которые начинаются с этих цифр.

Просто выгрузи все карточки через пагинацию по курсору - первый запрос с "limit": 100, а в следующие подставляй updatedAt и nmID из ответа.

Потом фильтруй их локально у себя - так сможешь искать не только по началу артикула, но и делать любые другие фильтры без ограничений API

+1

Replies to the comment

Хорошо, когда карточек мало. А если лимит до предела?

0
Comment

А если вот это убрать? "nmID": 628307108,

+1

Replies to the comment

nmID в курсоре — это артикул WB, с которого начинать поиск. Если оставить только "limit": 100 без указания nmID, пойдёшь с самого начала.

Но суть не меняется — textSearch всё равно ищет только полное совпадение. Даже без курсора по "1054" пусто будет.

Если карточек много и лимит упрётся — просто качай пачками по 100 через курсор и фильтруй локально по vendorCode. Другого способа искать по началу артикула в этом API нет

0