Custom Endpoints
Buat skema kustom, dengan aturan akses kustom untuk pengguna yang berbeda, masing-masing tersedia di bawah endpoint-nya sendiri.
Deskripsi
Server GraphQL biasanya mengekspos satu endpoint untuk mengambil dan mengirim data.
Selain mendukung endpoint tunggal, Gato GraphQL juga memungkinkan pembuatan custom endpoints, menyediakan konfigurasi skema yang berbeda untuk memenuhi kebutuhan dari berbagai target, seperti:
- Klien atau pengguna tertentu
- Sekelompok pengguna dengan akses lebih banyak ke fitur (seperti pengguna PRO)
- Salah satu dari beberapa aplikasi, seperti aplikasi mobile atau website
- API pihak ketiga
- Lainnya
Custom endpoint adalah sebuah Custom Post Type, dan permalink-nya adalah endpoint tersebut. Sebuah endpoint dengan judul "My endpoint" dan slug my-endpoint akan dapat diakses di /graphql/my-endpoint/.

Klien
Setiap custom endpoint memiliki kumpulan kliennya sendiri untuk berinteraksi:
âś… Sebuah klien GraphiQL, tersedia di endpoint + ?view=graphiql (mis: /graphql/my-endpoint/?view=graphiql).
Modul GraphiQL for Custom Endpoints harus diaktifkan.

âś… Sebuah klien Interactive schema, tersedia di endpoint + ?view=schema (mis: /graphql/my-endpoint/?view=schema).
Modul Interactive Schema for Custom Endpoints harus diaktifkan.

Membuat Custom Endpoint
Mengklik tautan Custom Endpoints di menu akan menampilkan daftar semua custom endpoint yang telah dibuat:

Sebuah custom endpoint adalah custom post type (CPT). Untuk membuat custom endpoint baru, klik tombol "Add New GraphQL endpoint", yang akan membuka editor WordPress:

Setelah custom endpoint siap, publikasikan, dan permalink-nya akan menjadi URL endpoint tersebut. Tautan ke endpoint (serta source dan klien) ditampilkan di panel sidebar "Custom Endpoint Overview":

Dengan menambahkan ?view=source ke permalink, konfigurasi endpoint akan ditampilkan (selama pengguna sudah login dan peran pengguna memiliki akses ke sana):

Secara default, custom endpoint memiliki path /graphql/, dan nilai ini dapat dikonfigurasi melalui Settings:

Konfigurasi skema
Mendefinisikan elemen apa saja yang dikandung skema, dan akses apa yang akan dimiliki pengguna terhadapnya, ditentukan dalam konfigurasi skema.
Jadi kita harus membuat konfigurasi skema, kemudian memilihnya dari dropdown:

Mengorganisasi Custom Endpoints berdasarkan Kategori
Di panel sidebar "Endpoint categories" kita dapat menambahkan kategori untuk membantu mengelola Custom Endpoint:

Misalnya, kita dapat membuat kategori untuk mengelola endpoint berdasarkan klien, aplikasi, atau informasi lain yang diperlukan:

Pada daftar Custom Endpoints, kita dapat melihat kategori-kategorinya dan, dengan mengklik tautan kategori mana pun, atau menggunakan filter di bagian atas, hanya entri untuk kategori tersebut yang akan ditampilkan:


Endpoint privat
Dengan menetapkan status Custom Endpoint sebagai private, endpoint hanya dapat diakses oleh pengguna admin. Ini mencegah data kita dibagikan secara tidak sengaja kepada pengguna yang seharusnya tidak memiliki akses ke data tersebut.
Misalnya, kita dapat membuat Custom Endpoints privat yang membantu mengelola aplikasi, seperti mengambil data untuk membuat laporan dengan metrik kita.

Endpoint yang dilindungi kata sandi
Jika kita membuat Custom Endpoint untuk klien tertentu, kita kini dapat menetapkan kata sandi untuk endpoint tersebut, guna memberikan lapisan keamanan tambahan sehingga hanya klien tersebut yang dapat mengakses endpoint.

Saat pertama kali mengakses endpoint yang dilindungi kata sandi (baik mengakses endpoint secara langsung, maupun klien GraphiQL atau Interactive Schema-nya), kita akan menemui layar yang meminta kata sandi:

Setelah kata sandi diberikan dan divalidasi, barulah pengguna dapat mengakses endpoint atau klien yang dituju:
