Авторизация
Необходимо во всех вызовах, кроме регистрации указывать имя текущего домена в заголовках запроса (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
и значением вида "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
Пример запроса с авторизацией по хедеру:
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