# აუტენთიფიკაცია ⚠️(Deprecated)

## რა დამჭირდება განვადების API-ს გამოსაყენებლად

ონლაინ განვადების API-ს გამოსაყენებლად საჭიროა ავთენტიფიკაცია [HTTP Basic Auth](https://en.wikipedia.org/wiki/Basic_access_authentication)-ის გამოყენებით. ამისთვის თქვენ დაგჭირდებათ, იცოდეთ სისტემაში შესასვლელი რეკვიზიტები (Credentials), რომელიც თითოეული მერჩანტისთვის უნიკალურია.

რეკვიზიტები მოიცავს ორ პარამეტრს: client_id და secret_key, რომელიც გამოიყენება, როგორც  username-ი და password-ი, მერჩანტის ავთენტიფიკაციისას. ეს პარამეტრები გადმოეცემა კომპანიას, ბანკში მერჩანტად რეგისტრაციისას (იხილეთ: [როგორ გავიგოთ მერჩანტის სისტემაში შესასვლელი რეკვიზიტები](introduction#%E1%83%A0%E1%83%9D%E1%83%92%E1%83%9D%E1%83%A0-%E1%83%92%E1%83%90%E1%83%95%E1%83%98%E1%83%92%E1%83%9D%E1%83%97-%E1%83%9B%E1%83%94%E1%83%A0%E1%83%A9%E1%83%90%E1%83%9C%E1%83%A2%E1%83%98%E1%83%A1-%E1%83%A1%E1%83%98%E1%83%A1%E1%83%A2%E1%83%94%E1%83%9B%E1%83%90%E1%83%A8%E1%83%98-%E1%83%A8%E1%83%94%E1%83%A1%E1%83%90%E1%83%A1%E1%83%95%E1%83%9A%E1%83%94%E1%83%9A%E1%83%98-%E1%83%A0%E1%83%94%E1%83%99%E1%83%95%E1%83%98%E1%83%96%E1%83%98%E1%83%A2%E1%83%94%E1%83%91%E1%83%98))

მაგალითი:
```properties
client_id: 1006
secret_key: 581ba5eeadd657c8ccddc74c839bd3ad

Header:
Authorization: Basic MTY2Njo1ODFiYTVlZWFkZDY1N2M4Y2NkZGM3NGM4MzliZDNhZA==
```

### მეთოდის აღწერა

მოცემული მეთოდის საშუალებით, მერჩანტი გადის ავთენტიფიკაციას. გამოძახების შედეგად, ონლაინ განვადების სერვერის მიერ ბრუნდება Bearer Token, რომელიც ყველა შემდგომი მეთოდის  გამოძახებისთვის არის ავთენტიფიკაციისათვის აუცილებელი პარამეტრი.

### Header-ის პარამეტრები

- `Content-Type` — application/x-www-form-urlencoded, required

- `Authorization` — Basic <base64>, required

  გადაეცემა „Basic „ + „<client_id>:<secret_key>“  მნიშვნელობა კოდირებული Base64 ფორმატში (მაგ: „Basic ODI4Mjo3Njk3MDY0OTlmMDcwOWUyMzQ4NDU4NjNmOThiMjMxNA==“), სადაც <client_id> და <secret_key> არის, ბანკის მიერ მერჩანტისთვის გადაცემული, სისტემაში შესვლისთვის საჭირო რეკვიზიტები

### Body-ს პარამეტრები

- `grant_type` — client_credentials, required

  მნიშვნელობად გადაეცემა ფიქსირებული ტექსტი: `client_credentials`

**request**

```api
POST /v1/oauth2/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Authorization: Basic <base64>
```

```properties
grant_type=client_credentials
```

### Response

- `access_token` — string

  ავტორიზაციის სერვერის მიერ დაბრუნებული Token-ის მნიშვნელობა

- `token_type` — string

  Token-ის ტიპი (ბრუნდება ტექსტური მნიშვნელობა - `bearer`)

- `app_id` — string

  არ გამოიყენება

- `expires_in` — number

  აბრუნებს რიცხვით მნიშვნელობას, თუ რამდენი წამის განმავლობაში არის აქტიური Token.

**response**

```json
{
  "access_token": "<JWT>",
  "token_type": "Bearer",
  "app_id": "1A2019",
  "expires_in": 1634719923245
}
```
