# Tạo API Key thủ công

## Cách tạo API Key&#x20;

Truy cập vào **Thiết lập** > **Api Keys** > **Tạo API Key > Tạo và xem API Key**

![](https://2849291229-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-McgqoGaNKiqy_6nDeJw%2F-Me8dXWswJo1CFYwE9FT%2F-Me8f6FpQ-xh0BpS1Vlo%2FScreen%20Shot%202021-07-09%20at%2012.09.48.png?alt=media\&token=028aa7a6-1039-47b6-bb3a-d675f464bd6d)

## Cách sử dụng với API Key mới tạo

Nếu như các bạn đã quen với `v1` thì ở `v2` Casso đã bỏ đi bước [gọi lấy token](https://developer.casso.vn/english-v2-new/casso-api/chung-thuc/broken-reference) và Casso sẽ xem `API Key` này đầy đủ chức năng như là một `access token` . Điểm khác của `API Key` so với `access token` là  sẽ không có thời gian hết hạn và tiền tố  là **`<"Apikey">`** lúc bạn thêm `API Key` vào trường Authorization trên HTTP header. Ngoại trừ việc bạn xóa nó đi thì API Key đó được xem như là hết hạn. Để có thể biết cách hoạt động của API Key chúng ta sẽ xem một ví dụ ở dưới với [API lấy thông tin user v2](https://developer.casso.vn/english-v2-new/casso-api/api/lay-thong-tin-user):

#### Ví dụ:

{% tabs %}
{% tab title="CURL" %}

```bash
curl --location --request GET 'https://oauth.casso.vn/v2/userInfo \
--header 'Authorization: Apikey <"API Key của bạn"'
```

{% endtab %}

{% tab title="PHP" %}

```php
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://oauth.casso.vn/v2/userInfo",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "Authorization: Apikey <"API Key của bạn">",
    "Content-Type: application/json"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);
```

{% endtab %}

{% tab title="JAVA" %}

```java
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://oauth.casso.vn/v2/userInfo")
  .get()
  .addHeader("Content-Type", "application/json")
  .addHeader("Authorization", "Apikey <"API Key của bạn">")
  .build();

Response response = client.newCall(request).execute();
```

{% endtab %}
{% endtabs %}

Ở ví dụ trên, bạn sẽ thấy ở phần `header` chúng tôi sẽ sử dụng **`API Key`** trong trường `Authorization` kèm theo đó phía trước **`API Key`** mà bạn tạo sẽ có tiền tố `Apikey`. Thì với tiền tố này Casso sẽ phân biệt nó với **`access token`** mà bạn nhận được từ OAuth 2.0 của Casso.

{% hint style="info" %}
Với những API còn lại bạn đều có thể sử API Key để thay thế cho Access token, như [API lấy giao dịch](https://developer.casso.vn/english-v2-new/casso-api/api/lay-giao-dich), [API thiết lập webhook](https://developer.casso.vn/english-v2-new/casso-api/api/thiet-lap-webhook), ...
{% endhint %}

{% hint style="info" %}
Lưu ý: Những API Key mới được tạo ra sau ngày 31/08/2021 sẽ không thể chạy trên các [API v1](https://developer.casso.vn/english-v2-new/casso-api/chung-thuc/broken-reference), những API Key này chỉ chạy được trên [API v2](https://developer.casso.vn/english-v2-new/casso-api/api/lay-thong-tin-user).
{% endhint %}
