О себе

Разработчик-фрилансер, с опытом работы 2 года, а так же с большим количеством разного api (paypal, vk, moysklad и т. д.).

В этой статье, я не претендую на экспертность, а просто хочу рассказать свое субъективное мнение, об очень существенных на мой взгляд недостатках wildberries api.

Первое

Есть две версии апи и на каждую отдельная документация, в очень разных местах, при чем вторую обнаружить достаточно не тривиальная задача. Вместо двух документаций, лучше сделать одну и хорошо продуманную. (Если вам нужна полноценная документация вот ссылка)

Так же, я долго не мог понять, почему мой токен не подходит ко второй версии документации, а удалось мне это понять, только во время обсуждений в неофициальном чате разработчиков. Оказывается, что для этого нужно получать другой токен, во вкладке которая отображается только у владельца аккаунта. Как можно понять, владельцем аккаунта далеко не вседга является разработчик которому требуется апи wildberries. При этом, что более важно, об этом нету ни одного слова в документации.

Ошибки

429 (слишком частые запросы), появляется даже если я делаю запрос с перерывом в несколько минут. В чем её причина, можно только гадать. При обычном интервале в 3 секунды между тремя запросами — ошибка появляется практически при каждом запуске узла. При этом, никакой информации об ограничениях, в документации мне найти не удалось. Эта ошибка наиболее сильно мешает нормальной работе.

500 (ошибка сервера), стандартная ошибка, встречается почти в любых апи. Но очень хочется, что бы был отдельный канал в который будут приходить уведомления о работах на сервере или о внештатных ситуациях, и предполагаемом времени их решения.

В документации нету описания всех возможных кодов ошибок, как это сделано например в документации Вконтакте или МойСклад, в которых есть информация об ошибках на любой случай, и можно заранее написать обработчики этих ошибок.

Авторизация

  1. Нельзя сгенерировать разные токены, с разными правами, для разных пользователей.

  2. Нету возможности, обновления токена при новых запросах.

Функционал

Очень не хватает веб-хуков. Особенно учитывая, что есть ограничения на запросы с очень загадочными правилами.

Не хватает возможности, получать остатки/продажи товаров по Конкретному региону или складу/списку складов.

Синтаксические ошибки

Например в документации (не полная) указан ключ Date, но от сервера приходит словарь с ключом date. В полной документации такой ошибки нету.

Баги

Возможно только я с ними столкнулся, но как минимум два бага, сейчас не дают закончить проект на финишной прямой.

  1. в остатках товара на складе, на сайте указано одно число, а в апи приходит другое. (на сайте остаток по номенклатуре N, на складе N - 7, а с апи приходит - 1)

  2. не получается пройти авторизацию к апи из второй документации (v2).Инструкций для этого нету. И даже если пробовать делать запросы через формы на сайте, то в ответ приходит ошибка "Invalid token".

Техническая поддержка

Найти техническую поддержку именно для разработчиков мне не удалось. Сколько еще багов они не исправляют из-за этого, можно только гадать. Ибо многие просто перестают работать с их апи, или находят несоразмерно сложные решения, не обращаясь в тех поддержку из-за сложностей связанных с этим процессом именно в wildberries.

P. S.

Одной из предполагаемых причин ошибки 429, является работающий у меня VPN, в таком случае, хотелось бы получать информацию об ошибке из-за слишком частых запросов с одного IP.

Если у кого-то либо возникает желание порекомендовать отключить VPN, или отключить его для WB Api, то вам нужно понимать, что я использую VPN для защиты передаваемых в сеть данных, в связи с периодическими новостями о найденных в роутерах уязвимостях позволяющих получить злоумышленникам полный контроль над роутером, что в свою очередь позволяет перехватывать все отправляемые в сеть данные, в связи с чем я предпочитаю передавать данные в недоступном для злоумышленников виде, до первого относительно безопасного узла, коим и является VPN.

Написал этот пост без агрессии или претензий, а с надеждой на изменение wb api в лучшую сторону. Так же надеюсь этот будет полезен тем, кто проектирует новое апи.

Комментарии (13)


  1. Hebe
    01.06.2022 10:02
    +1

    чё-то никто комментить не хочет...
    то что перечислено: невнятная документация, странные данные в ответе, токены без настройки прав, ошибки 4** 5** многие api страдают, можно в теории слово wildberries опустить и обобщить.
    что по-поводу vpn и роутеров пусть знатоки напишут


  1. organica
    01.06.2022 11:30
    +5

    У WB все на уровне дна, начиная от склада, заканчивая it сервисами.

    Работал с ними в роли поставщика. Из всех клиентов( ашан,лента,магнит, х5, дикси и тд) постоянные проблемы были только с wb. Все сотрудники плевались от их загонов по оформлению поставок и маркировки продукции.


  1. mmMike
    01.06.2022 11:56
    +2

    Это Вы еще не видели худших случаев.

    Тут (о счастье!) есть хотя бы API в формальном виде, по которому код сгенерить можно.

    А не невнятное текстовое (MS Word) описание API.

    И, уж извините, но эта ваша жалоба ну ни как на статью не тянет.

    Оценивать не буду (чего минусовать зря). Но минусам под статьей не удивляюсь.

    А вообще.. "не судите и не судимы будете". "Не стреляйте в пианиста, он играет как умеет"


  1. dodgev
    01.06.2022 13:48

    Wildberries надо принять таким, какой он есть - или не работать с ним :)

    По API - работаю плотно, страшных ошибок и глюков не припомню, да кое что через ... но терпимо.


  1. Dekmabot
    01.06.2022 17:26

    В качестве отличного API могу предложить посмотреть что сделали ребята из Kinescope, не рекламы ради, а потому что помню какое получал удовольствие, реализовывая его у себя: всё очень логично, просто, а главное всё работает и соответствует доке.

    https://documenter.getpostman.com/view/10589901/TVCcXpNM


  1. defecator
    01.06.2022 20:54

    проблемы с остатками - это одно их больных мест АПИ wb.

    Часто невозможно понять, почему ты передал один остаток, а на сайте совсем другой, а через день уже третий, хотя продаж по этому SKU не было, а через АПИ возвращается вообще другой остаток


  1. Max_Liubimov
    02.06.2022 09:21

    Хотел узнать можно ли по API создавать и обновлять информацию в карточках товара, а тут свеженький пост :) Посмотрел документацию и не вижу в ней параметров запроса, только ответы, в т.ч. у методов POST. Если кто-то может подсказать, то заранее спасибо.


  1. Vamporelol Автор
    02.06.2022 12:34

    Очень извиняюсь, если кому то не понравился мой пост. Но хочу узнать, что бы в будущем кого-либо не расстраивать, в чем причина дизлайков этому посту?


    1. NerVik
      02.06.2022 12:46

      в информативности.

      не получается пройти авторизацию к апи из второй документации (v2).Инструкций для этого нету. И даже если пробовать делать запросы через формы на сайте, то в ответ приходит ошибка "Invalid token".

      Ну а это только потому, что судя по чату в телеге, вы используете ключ к v1 api. а для v2 который описан в сваггере нужен другой ключ.


      1. Vamporelol Автор
        02.06.2022 13:10

        Да, но если зайти в личный кабинет не от лица владельца аккаунта, то вкладки или упоминаний нового апи апи не будет. Там есть только одна вкладка для получения токена. Про вторую я узнал из чата.


        1. NerVik
          02.06.2022 13:16

          это проблема api? - нет


          1. Vamporelol Автор
            02.06.2022 13:46

            Это проблема авторизации в этом апи. Проблема с апи связана напрямую.


  1. SvoboniiLogin
    03.06.2022 10:49

    Кто знает почему сайт wb работает на столько быстро ? Как они это блин сделали ?