> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Mendapatkan cakupan izin Kontak

> Panggil API ini untuk mendapatkan cakupan izin Kontak yang diberikan ke aplikasi — langkah wajib sebelum memanggil API terkait Kontak di DingTalk.

Sebelum memanggil API yang terkait dengan Kontak, Anda harus menambahkan izin API Kontak. Gunakan API ini untuk mendapatkan cakupan izin Kontak.

## Deskripsi panggilan API

<Warning>
  API yang dijelaskan dalam topik ini adalah Server API lama. Untuk detail cara memanggilnya, lihat API lama vs. API baru.
</Warning>

Untuk API yang terkait dengan Kontak, admin harus terlebih dahulu mengajukan izin API yang sesuai di [DingTalk Developer Console](https://open-dev.dingtalk.io/#/index) dan menentukan cakupan Kontak mana yang dapat diakses oleh API tersebut.

Seperti ditunjukkan pada gambar di bawah, access\_token dari aplikasi saat ini hanya memiliki izin Kontak untuk mengelola departemen A. Developer dapat memanggil API ini terlebih dahulu untuk melihat cakupan otorisasi Kontak dari aplikasi. Saat memanggil API Kontak, developer hanya dapat mengambil informasi Kontak karyawan dalam cakupan yang telah diotorisasi. Mencoba mengambil informasi Kontak karyawan di luar cakupan yang telah diotorisasi akan mengembalikan error `The department or employee is not within the authorization scope`.

## Permintaan

| **Informasi dasar**         |                                                                                  |
| --------------------------- | -------------------------------------------------------------------------------- |
| URL HTTP                    | [https://oapi.dingtalk.io/auth/scopes](https://oapi.dingtalk.io/auth/scopes)     |
| Metode HTTP                 | GET                                                                              |
| Tipe aplikasi yang didukung | appType-Aplikasi internal, appType-Aplikasi perusahaan pihak ketiga              |
| Persyaratan izin            | permission-qyapi\_base-Izin dasar yang diperlukan untuk memanggil API perusahaan |

### Parameter kueri

| Nama          | Tipe   | Wajib | Contoh   | Deskripsi                                                                                                                                                                                                                                                                                                                            |
| ------------- | ------ | ----- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| access\_token | String | Ya    | 6ed1bxxx | Kredensial aplikasi yang digunakan untuk memanggil API ini.   - Untuk aplikasi internal, dapatkan melalui API untuk mendapatkan [access\_token aplikasi internal](/id/open/development/obtain-orgapp-token). - Untuk aplikasi perusahaan pihak ketiga, dapatkan melalui API untuk mendapatkan access\_token perusahaan pihak ketiga. |

### Contoh permintaan

```curl theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl -X GET "https://oapi.dingtalk.io/auth/scopes" \
-H 'Content-Type:application/x-www-form-urlencoded;charset=utf-8' \
-d 'access_token=2314cdxxxxbcd10713'
```

Java

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.io/auth/scopes");
OapiAuthScopesRequest req = new OapiAuthScopesRequest();
req.setHttpMethod("GET");
OapiAuthScopesResponse rsp = client.execute(req, access_token);
System.out.println(rsp.getBody());
```

Python

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
import dingtalk.api

req=dingtalk.api.OapiAuthScopesRequest("https://oapi.dingtalk.io/auth/scopes")
try:
	resp= req.getResponse(access_token)
	print(resp)
except Exception,e:
	print(e)
```

PHP

```php theme={"theme":{"light":"github-light","dark":"github-dark"}}
include "TopSdk.php";
date_default_timezone_set('Asia/Shanghai');

$c = new DingTalkClient(DingTalkConstant::$CALL_TYPE_OAPI, DingTalkConstant::$METHOD_GET , DingTalkConstant::$FORMAT_JSON);
$req = new OapiAuthScopesRequest;
$resp = $c->execute($req, $access_token, "https://oapi.dingtalk.io/auth/scopes");
```

C#

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
IDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.io/auth/scopes");
OapiAuthScopesRequest req = new OapiAuthScopesRequest();
req.SetHttpMethod("GET");
OapiAuthScopesResponse rsp = client.Execute(req, access_token);
Console.WriteLine(rsp.Body);
```

## Respons

### Isi respons

| Nama              | Tipe          | Contoh            | Deskripsi                                                                  |
| ----------------- | ------------- | ----------------- | -------------------------------------------------------------------------- |
| auth\_org\_scopes | AuthOrgScopes |                   | Informasi otorisasi.                                                       |
| authed\_user      | String\[]     | \["user1","user"] | Daftar user ID karyawan yang diotorisasi untuk mengambil informasi Kontak. |
| authed\_dept      | Number\[]     | \[1,2,3]          | Daftar ID departemen yang diotorisasi untuk mengambil informasi Kontak.    |
| auth\_user\_field | String\[]     | \["name","email"] | Bidang pengguna perusahaan yang dapat diambil dengan otorisasi.            |
| errmsg            | String        | ok                | Deskripsi kode pengembalian.                                               |
| errcode           | Number        | 0                 | Kode pengembalian.                                                         |

### Contoh isi respons

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
        "errcode":0,
        "condition_field":[],
        "auth_user_field":[
                "jobnumber",
                "isLeader",
                "name",
                "position",
                "isAdmin",
                "avatar",
                "department",
                "userid",
                "deviceId",
                "isHide"
        ],
        "auth_org_scopes":{
                "authed_user":[],
                "authed_dept":[
                        1
                ]
        },
        "errmsg":"ok"
}
```

### Kode error

Jika terjadi error saat memanggil API ini, lihat dokumen [Kode error global](/id/open/development/server-api-error-codes-1) untuk solusi berdasarkan pesan error.
