Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Каталог создан на основе каталога сайта b2b.rusklimat.com и предоставляется в формате, наиболее удобном для технических специалистов. Есть сайт на wordpress, нужно поставить этот API для отображения товаров на сайте. Вот инструкция по интеграции:


Инструкция пользователя REST API каталога ИП
Авторизация

Все запросы в rest api должны содержать jwt-токен авторизации в заголовке Authorization. Токен выдается на сутки, в 00:00 он станет невалидным и необходимо получить новый токен. Например, токен был получен в 13:00 24.06, а после 00:00 25.06 данный токен станет невалидным.

Доступно два способа получения токена:

  1. В ручном режиме.

    JWT Токен

    eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3MTkyNzM2MDAsImd1aWQiOiI3M2QyZGNkYi1kMDFhLTRmNDAtYTlmZi05ODY4ZTc3ZjJhNjUiLCJndWlkUk0iOm51bGwsImd1aWRMZWFkIjpudWxsLCJndWlkTWFuYWdlciI6bnVsbH0.Susc8CdUHRhmJJpz1h5wForiMc_eH34m0QsQGOtBsIM
    
    (json)

    В автоматическом режиме через метод авторизации б2б портала

    POST https://b2b.rusklimat.com/api/v1/auth/jwt/

    Обязательно установите заголовок в запросе User-Agent: catalog-ip


    Тело запроса

    {
        "login": "9651111111", // логин для входа на б2б-портал
        "password": "123456" // пароль для входа на б2б-портал
    }

    Ответ

    {
        "code": 200,
        "data": {
            "jwtToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2NzkwOTc2MDAsImd1aWQiOiI5YmZlOWMxMC1.UoPQ_zFGNFGsHVQ46u_M2rM2I18RnQpI"
        }
    }

    Получение данных каталога

    Адрес сервиса: https://internet-partner.rusklimat.com

    Онлайн документация: https://internet-partner.rusklimat.com/swagger/index.html

    Ваш id партнера (partnerId): 73d2dcdb-d01a-4f40-a9ff-9868e77f2a65

    Получение идентификатора

    GET /api/v1/InternetPartner/73d2dcdb-d01a-4f40-a9ff-9868e77f2a65/requestKey/

    в заголовке Authorization укажите jwt-токен

    Тело ответа

    {
        "requestKey": 1679057010,
        "expire": 1679057061
    }

    где:

    • requestKey - идентификатор запроса, который нужно использовать на втором этапе

    • expire - метка времени, указывает окончание срока жизни идентификатора

    Получение категорий товаров

    GET /api/v1/InternetPartner/categories/{requestKey}

    в заголовке Authorization укажите jwt-токен

    requestKey - необходимо получить в запросе, описанном в разделе "Получение идентификатора"

    Тело ответа

    {
        "totalCount": 241,
        "data": [
            {
                "id": "f7a25385-f2ad-411b-9410-bd9c6fa386ce",
                "name": "Смесительные узлы и насосные станции",
                "parent": "f8e4738b-217b-4a82-8b5a-e1874d28ab79"
            },
            ......
        ]
    }

    где:

    • id - уникальный идентификатор категории

    • name - наименование категории

    • parent - уникальный идентификатор категории-родителя, для корневой категории данное поле будет равно null


    Получение свойств товаров
    GET /api/v1/InternetPartner/properties/{requestKey}

    в заголовке Authorization укажите jwt-токен

    requestKey - необходимо получить в запросе, описанном в разделе "Получение идентификатора"

    Тело ответа

    {
        "totalCount": 1389,
        "data": [
            {
                "id": "319e5ef4-baaa-11e5-b14a-ac162d7b6f40",
                "name": "Высота внешнего блока",
                "sort": 12
            },
            ......
        ]
    }

    где:

    • id - уникальный идентификатор свойства

    • name - наименование свойства

    • sort - сортировка свойства в общем списке свойств

      Получение товаров каталога

      POST /api/v1/InternetPartner/73d2dcdb-d01a-4f40-a9ff-9868e77f2a65/products/{requestKey}/?pageSize=500&page=2

      в заголовке Authorization укажите jwt-токен

      requestKey - необходимо получить в запросе, описанном в разделе "Получение идентификатора"

      Доступна постраничная навигация, get-параметры запроса:

      • pageSize - количество товаров на одной странице, максимальное значение 1000, по умолчанию 1000

      • page - номер страницы, по умолчанию 1

      Тело запроса

      {
          "columns": [
              "name",
              "nsCode",
              "price",
              "clientPrice"
          ],
          "filter": {
              "categoryIds": [
                  "f7a25385-f2ad-411b-9410-bd9c6fa386ce",
                  "194602b6-2e40-4b6e-996c-89774e5b9fc1",
                  "d2257a3e-4298-4e9b-8db7-5b6bfe62c76d"
              ]
          },
          "sort": {
              "nsCode": "asc"
          }
      }

      где

      • columns - массив полей товаров, которые необходимо выводить в ответе, если не указан, будут выведены все поля

      • filter - фильтрация товаров в ответе, доступны поля:

        • categoryIds - массив id категорий, товары которых нужно получить, в ответе также будут товары, которые находятся в подкатегориях

      • sort - поле для указания сортировки товаров в формате "кода поля": "порядок сортировки asc|desc"

      Тело ответа

      {
          "totalCount": 18971,
          "pageSize": 500,
          "page": 2,
          "data": [
              {
                  "id": "3abaeda3-7eb3-11da-aaff-00304883a34f",
                  "nsCode": "НС-0028148",
                  "categoryId": "f7a25385-f2ad-411b-9410-bd9c6fa386ce",
                  "vendorCode": "2000/3-W VIM",
                  "brand": "SHUFT",
                  "name": "Установка приточная компактная моноблочная CAU 2000/3-W VIM",
                  "properties": [
                      {"23431d4b-52f4-11ea-9da0-ac162d7b6f40": "Полупромышленное оборудование"},
                      {"23431d4b-52f4-11ea-9da0-ac162d7b6f99": "Ступенчатая"},
                      ......
                  ],
                  "pictures": [
                      "https://rkcdn.ru/products/23431d4b-52f4-11ea-9da0-ac162d7b6f40/src.png",
                      ......
                  ],
                  "video": [
                      "https://www.youtube.com/embed/xI0tHHjfg4Q",
                      ......
                  ],
                  "relatedProducts": [
                      "1c084dd7-4f83-45f5-a92f-334ff306d5a0",
                      "27ff9d4a-e2aa-4820-8044-9e1d3cbcdd2d",
                      ......
                  ],
                  "analog": [
                      "27343389-5479-44d2-b811-445facb5812a",
                      "b634c729-1c3d-43ca-a83f-3913d922448f",
                      ......
                  ],
                  "description": "<h3>Описание</h3><p>Рукосушка Electrolux ENDA-2500 представляет собой автоматическую сушилку для рук</p>"
                  "drawing": [
                      "https://rkcdn.ru/products/23431d4b-52f4-11ea-1111-ac162d7b6f40/src.pdf",
                      ......
                  ],
                  "certificates": [
                      "https://rkcdn.ru/products/1111111-52f4-11ea-1111-ac162d7b6f40/src.pdf",
                      "https://rkcdn.ru/products/1111111-52f4-11ea-1111-ac162d7b6f42/src.pdf",
                      ......
                  ],
                  "promoMaterials": [
                      "https://rkcdn.ru/products/1111111-52f4-11ea-1111-ac162d7b6f40/src.pdf",
                      ......
                  ],
                  "instructions": [
                      "https://rkcdn.ru/products/1111111-52f4-11ea-1111-ac162d7b6f40/src.pdf",
                      "https://rkcdn.ru/products/1111111-52f4-11ea-1111-ac162d7b6f40/src.pdf",
                      ......
                  ],
                  "barcode": [
                      "7312971100010",
                      ......
                  ],
                  "price": 83016.00,
                  "internetPrice": 83010.00,
                  "clientPrice": 55620.72,
                  "exclusive": true,
                  "remains": {
                      "total": 250,
                      "warehouses": {
                          "ФРЦ Киржач": 100,
                          "РРЦ Сочи": 123,
                          "омск склад": "ожидается поставка",
                          ......
                      }
                  }
              },
              ......
          ]
      }

      где

      • totalCount - общее число товаров

      • pageSize - размер страницы в выдаче товаров

      • page - номер страницы выдачи товаров

      • data - массив с данными товаров

        • id - уникальный идентификатор товара

        • nsСode - НС код товара

        • categoryId - уникальный идентификатор категории, к которой привязан товар

        • vendorCode - артикул товара

        • brand - бренд товара

        • name - наименование товара

        • properties - массив свойств товара, элементы в формате "уникальный идентификатор свойства": "значение свойства"

        • pictures - массив ссылок на изображение товаров

        • video - массив ссылок на видео товаров

        • relatedProducts - массив уникальных идентификаторов сопутствующих товаров, может содержать 0 элементов

        • analog - массив уникальных идентификаторов аналогичных товаров, может содержать 0 элементов

        • description - описание товаров в формате html

        • drawing - массив ссылок на pdf файлы с чертежами, может содержать 0 элементов

        • certificates - массив ссылок на pdf файлы с сертификатами, может содержать 0 элементов

        • promoMaterials - массив ссылок на pdf файлы с промо материалами, может содержать 0 элементов

        • instructions - массив ссылок на pdf файлы с инструкциями, может содержать 0 элементов

        • barcode - массив штрихкодов

        • price - цена РРЦ

        • internetPrice - цена РИЦ

        • clientPrice - индивидуальная цена партнёра, в случае, когда цена не установлена, будет отдан 0

        • exclusive - признак эксклюзивности

        • remains - остаток товара на складе

          • total - сумма остатков по всем складам

          • warehouses - детализация остатков по складам в формате "название склада": "остаток на складе"

7 дней назад
Андрей
34 года
год в сервисе
Был
6 дней назад
2 отзыва
Заявки фрилансеров
Павел
24 года
3 года в сервисе
Был
16 минут назад
10 отзывов(-3)
7 дней назад
Евгений
38 лет
16 лет в сервисе
Был
14 минут назад
555 отзывов(-1)
7 дней назад
Лучший веб-программист июня
ТОП-5
Веб-программирование
Андрей
21 год
2 года в сервисе
Был
5 дней назад
2 отзыва
7 дней назад