Авторизация

Необходимо во всех вызовах, кроме регистрации указывать имя текущего домена в заголовках запроса (Header) в параметре Domain. Значение Domain - shop + ид аккаунта из общих настроек в ЛК. Например, если ид аккаунта 18236, то значение должно быть: shop18236 Подробнее про данный вид авторизации - в разделе "Авторизация по домену в публичных методах апи" Если в вызове нет /pub, /dlv, /prompter - (например /api/lite/products) - то нужно дополнительно указывать токен доступа, полученный в методе регистрации/авторизации (/api/lite/auth)

/api/lite/auth

Авторизация

/api/lite/auth

Для авторизации необходимо выполнить следующий запрос

{
"login":"wow55@mail.ru",
"password":"wow"
}

В ответ возвращается

Успех

{
  "success": true,
  "access_token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ3b3c1NkBtYWlsLnJ1IiwiZXhwIjoxNTQ2OTc2NzQ5fQ.4Zdev5PSIk1TmsPFxjxHukYwH1wa_efn19cfLIkT8k2g9xEeVMOnYK4A4pTC6NCpsp2kq8_dvygRxAyyEKNwiQ",
  "token_type": "bearer",
  "login": "wow56@mail.ru",
  "expires_in": 14400,
  "privileges": [
    "ORDERS_READ",
    "ORDERS_WRITE"
  ]
}

где access_token содержит токен для доступа в закрытую часть апи Lite, а 

expires_in - количество секунд действительности выданного токена.

Ошибка:

{
"success": false,
"errors": [
 {
 "code": 401,
 "message": "Unauthorized"
 }
]
}

с http кодом 401.

 

Для последующих методов, использовать ключ токена следующим образом:

в запросе должен быть header

с ключем Authorization

и значением вида "Bearer {access_token}"

например Bearer

eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ3b3c1NUBtYWlsLnJ1IiwiZXhwIjoxNTQ2ODA3MjU3fQ.1vSO5DXhewQfjKITK76W8JhEZM_Wx2YgyEbdjfg9GDs0ymtRtmRgFuZen_n8fM00H1Uda_i6M2-Y1PbjN4edZA

 

После истечения срока действительности токена - апи будет выдавать ошибку 

{
"success": false,
"errors": [
 {
 "code": 401,
 "message": "Unauthorized"
 }
]
}

С http кодом 401

Авторизация для сторонних приложений

Для получения токена авторизации в системе необходимо перенаправить пользователя на адрес

https://lk2.kak2c.ru/third_party_sign_in?redirect_uri={адрес для редиректа}&state={csrf-токен, опционально}

После ввода пользователем своих данных, при успешной авторизации, его перенаправит на указанный адрес с указанием токена в параметре:

{адрес для редиректа}?access_token={access_token полученный при авторизации}&token_type=bearer&expires_in={срок жизни токена}&state={state, полученный из GET параметров, если он был указан}

Авторизация по домену в публичных методах апи

Для авторизации в вызовах, адреса которых содержат /pub, /dlv, /prompter необходимо передавать заголовок Domain

Значение Domain - shop + ид аккаунта из общих настроек в ЛК. Например, если ид аккаунта 18236, то значение должно быть: shop18236

image-1688635916873.png

Пример запроса с авторизацией по хедеру:

curl --header "Domain: shopXXXXXXX" https://app.kak2c.ru/api/lite/pub/collections

curl --header "Domain: shopXXXXXXX" https://app.kak2c.ru/api/prompter/countries

Вместо XXXXXXX - необходимо подставить ид аккаунта.

 

Пример для Postman

image-1688636026171.png