# Авторизация

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

# /api/lite/auth

### Авторизация

**/api/lite/auth**

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

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

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

#### **Успех**

```JSON
{
  "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 - количество секунд действительности выданного токена.

#### **Ошибка:**

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

с http кодом 401.

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

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

с ключем Authorization

и значением вида "Bearer {access\_token}"

например Bearer

`eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ3b3c1NUBtYWlsLnJ1IiwiZXhwIjoxNTQ2ODA3MjU3fQ.1vSO5DXhewQfjKITK76W8JhEZM_Wx2YgyEbdjfg9GDs0ymtRtmRgFuZen_n8fM00H1Uda_i6M2-Y1PbjN4edZA`

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

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

С http кодом 401

<div data-hasbody="true" data-macro-name="code" id="bkmrk-"></div>

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

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

https://lk2.kak2c.ru/third\_party\_sign\_in?redirect\_uri={адрес для редиректа}&amp;state={csrf-токен, опционально}

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

{адрес для редиректа}?access\_token={access\_token полученный при авторизации}&amp;token\_type=bearer&amp;expires\_in={срок жизни токена}&amp;state={state, полученный из GET параметров, если он был указан}

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

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

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

[![image-1688635916873.png](http://wiki.kak2c.ru/uploads/images/gallery/2023-07/scaled-1680-/image-1688635916873.png)](http://wiki.kak2c.ru/uploads/images/gallery/2023-07/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](http://wiki.kak2c.ru/uploads/images/gallery/2023-07/scaled-1680-/image-1688636026171.png)](http://wiki.kak2c.ru/uploads/images/gallery/2023-07/image-1688636026171.png)