> For the complete documentation index, see [llms.txt](https://developer.perculus.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.perculus.com/perculus-api/services/yetkilendirme.md).

# Yetkilendirme

Bearer token olarak kullanacağımız ACCESS\_TOKEN'i oluşturmak için gerekli parametreleri aşağıda görebilirsiniz:

* DOMAIN: QuickStart alanında belirtilen "Unvan"
* EMAIL: API için oluşturduğumuz kullanıcının email adresi
* PASSWORD:  API için oluşturduğumuz kullanıcının şifresi
* ACCOUNT\_ID

{% hint style="warning" %}
ACCOUNT\_ID verisi için sistem yöneticiniz ile iletişime geçip hesabınıza ait olan "ACCOUNT\_ID" verisine sahip olabilirsiniz
{% endhint %}

Tüm parametrelerimiz hazır ise, aşağıdaki alanda bulunan örneği uygulayarak ACCESS\_TOKEN verisine erişebilirsiniz.

{% tabs %}
{% tab title="CURL" %}
Aşağıdaki CURL isteğini attıktan sonra response olarak ACCESS\_TOKEN gelecektir.

```bash
curl --location 'https://<DOMAIN>/connect/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'username=<EMAIL>' \
--data-urlencode 'password=<PASSWORD>' \
--data-urlencode 'client_id=api' \
--data-urlencode 'grant_type=password' \
--data-urlencode 'account_id=<ACCOUNT_ID>'
```

Aşağıda örnek response modelini görebilirsiniz:

```json
{
    "access_token": "<ACCESS_TOKEN>",
    "expires_in": 36000,
    "token_type": "Bearer",
    "scope": "api"
}
```

{% endtab %}

{% tab title="Python" %}
İlk olarak Python SDK'sı yüklenmelidir:

```bash
pip install perculus-sdk
```

SDK'nın yüklendiğinden emin olunduktan sonra ilgili kod bloğuna SDK import edilmelidir:

```python
from perculus_sdk.client import APIClient
```

Son olarak;  parametreleriniz ile ***"set\_credentials"*** metodunu kullanarak  authentication işlemini tamamlayabilirsiniz.

```python
# API client
client = APIClient()

# Set your domain
client.set_domain("<DOMAIN>")

# Set your credentials
client.set_credentials(
    access_key="<EMAIL>",
    secret_key="<PASSWORD>",
    account_id="<ACCOUNT_ID>"
)
```

Bu akış sonrasında SDK'da bulunan her bir servis için  tekrar tekrar yetkilendirme işlemi yapmadan diğer metodları istediğiniz gibi kullanabilirsiniz.
{% endtab %}

{% tab title="C#" %}

```
// ASAP :)
```

{% endtab %}

{% tab title="NodeJS" %}

```
// ASAP :)
```

{% endtab %}

{% tab title="Go" %}

```
// ASAP :)
```

{% endtab %}
{% endtabs %}

{% hint style="danger" %}
**ACCESS\_TOKEN daha sonra kullanılacak tüm servislerde gerekecektir. Bu nedenle ACCESS\_TOKEN'inizi güvenli bir yerde saklamayı unutmayın.**
{% endhint %}
