Проект

Общее

Профиль

Описание API для ЛК

⚠️ Токены доступа к API должны храниться в секрете. Партнер несет полную ответственность за оплату лицензий, активированных через API.

В личном кабинете реализован доступ через API (программный интерфейс).
Это значит, что можно управлять данными с помощью интеграций с другими сервисами.

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


Swagger

Описание методов API доступно в swagger: https://partnerlk.gbsmarket.ru/swagger

Доступные действия

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

Использование API

Создание группы

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

Для создания новых заявок группе должен быть предоставлен доступ к заявкам.

Создание пользователя

Для доступа необходимо создать отдельного пользователя/сотрудника .
В карточке сотрудника выберите тип "API пользователь".

В поле ФИО укажите понятное значение, например "API-пользователь для сайта"

Скопируйте API-токен из карточки сотрудника - он будет необходим для авторизации.

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

Перед тем, как отправлять запросы на активацию лицензий, необходимо получить значения идентификаторов:

  • productId - продукт, на который активируется лицензия
  • taridId - тариф для активации (месяц, квартал, год и т.п.)

Получить идентификаторы можно GET-запросами (описание есть в Swagger).

Пример запроса доступных продуктов

curl -X 'GET' \
  'https://partnerlk.gbsmarket.ru/api/v1/PartnerApi/products' \
  -H 'accept: */*' \
  -H 'Authorization: Bearer 8e66e90e-0746-4814-xxxx-xxxxxxxxxxxx'

Пример ответа

{
  "data": [
    {
      "id": 4,
      "name": "GBS.Market (настольное)"
    }
  ],
  "message": null,
  "isOk": true
}

4 - искомый ИД продукта

Пример запроса тарифов

curl -X 'GET' \
  'https://partnerlk.gbsmarket.ru/api/v1/PartnerApi/tarifs' \
  -H 'accept: */*' \
  -H 'Authorization: Bearer 8e66e90e-0746-4814-xxxx-xxxxxxxxxxxx'

Пример ответа

{
  "data": [
    {
      "id": 10,
      "productId": 4,
      "name": "1 месяц",
      "days": "30"
    },
    {
      "id": 11,
      "productId": 4,
      "name": "1 квартал",
      "days": "90"
    },
    {
      "id": 12,
      "productId": 4,
      "name": "1 год",
      "days": "365"
    },
    {
      "id": 13,
      "productId": 4,
      "name": "Бессрочно",
      "days": "Бесcрочно"
    }
  ],
  "message": null,
  "isOk": true
}

Например, для продукта "GBS.Market (настольное)" и тарифа "Бессрочно" ИД тарифа = 13

Запрос на создание заявки

В теле запроса необходимо передать:

  • данные клиента:
    • ФИО (полные)
    • электронная почта (принадлежащая клиенту)
    • телефон
  • массив записей:
    • ИД
    • тариф (связан с продуктом)

Если в базе партнера есть клиент с указанным email - заявка будет привязана к существующему.
Если такого клиента нет - будет создан новый с указанными данными.

Пример запроса:

curl --request POST \
  --url https://partnerlk.gbsmarket.ru/api/v1/PartnerApi/requests/create \
  --header 'authorization: Bearer 8e66e90e-0746-4814-xxxx-xxxxxxxxxxxx' \
  --header 'content-type: application/json' \
  --data '{
  "client": {
    "name": "Иванов Иван Иванович",
    "email": "2026-07-09--17-48@gbsmarket.ru",
    "phone": "+202607091748"
  },
  "comment": "Заявка создана через сайт",
  "items": [
    {
      "gbsId": "6:AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDD",
      "tarifId": 10
    },
    {
      "gbsId": "6:DDDDDDDDAAAAAAAABBBBBBBBCCCCCCCC",
      "tarifId": 10
    }
  ]
}'

Пример ответа

{
  "success": true,
  "message": "Заявка успешно создана"
}