Membuat endpoint kustom
Selain endpoint tunggal, Gato GraphQL juga mendukung endpoint kustom, untuk mengambil dan mengirim data pada skema kustom (yang hanya memuat sebagian dari tipe yang tersedia) beserta aturan validasi pengguna, guna memenuhi kebutuhan berbagai pengguna dan aplikasi.
Kita dapat membuat sebanyak mungkin endpoint kustom sesuai kebutuhan.
Misalnya, kita dapat membuat endpoint kustom untuk:
- Klien atau pengguna tertentu, di bawah
/graphql/my-client/ - Sekelompok pengguna dengan akses lebih ke fitur-fitur (seperti pengguna PRO), di bawah
/graphql/pro-users/ - Menyediakan data ke aplikasi mobile kita, di bawah
/graphql/mobile-app/ - Memberikan akses ke API pihak ketiga, di bawah
/graphql/external-api/ - Lainnya

Menjalankan endpoint kustom dalam aplikasi
Ikuti petunjuk pada panduan Menghubungkan ke server GraphQL dari klien.
Mengakses semua endpoint kustom
Dengan mengklik "Custom Endpoints" pada menu plugin, daftar semua endpoint kustom yang telah dibuat akan ditampilkan:

Membuat endpoint kustom baru
Klik tombol "Add New GraphQL endpoint" untuk membuka editor WordPress:

Beri judul, pastikan permalink sudah sesuai yang diinginkan, pilih konfigurasi skema, dan sesuaikan opsinya. Setelah siap, klik tombol Publish, dan endpoint kustom pun dibuat menggunakan permalink yang dikonfigurasi sebagai URL endpoint.
Tautan ke endpoint (serta sumber dan klien) ditampilkan di panel sidebar "Custom Endpoint Overview":

Konfigurasi skema
Menentukan elemen apa saja yang dimuat skema, serta akses apa yang akan dimiliki pengguna terhadapnya, didefinisikan dalam konfigurasi skema.
Oleh karena itu kita harus membuat konfigurasi skema, lalu memilihnya dari dropdown (atau tidak menggunakan satu pun, atau menggunakan yang default):

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

Endpoint yang dilindungi kata sandi
Jika kita membuat Endpoint Kustom untuk klien tertentu, kita dapat menetapkan kata sandi untuk endpoint tersebut, guna memberikan tingkat 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 menemukan layar yang meminta kata sandi:

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

Membuat hierarki endpoint
Baca petunjuk tentang membuat hierarki API.
Menonaktifkan endpoint kustom
Di opsi, atur "Enabled" ke false untuk menonaktifkan endpoint kustom.
Fitur ini berguna ketika menjadikan endpoint kustom sebagai bagian dari hierarki API, untuk memberikan perilaku umum kepada endpoint kustom anaknya, tanpa perlu endpoint itu sendiri dieksekusi.
Mendeskripsikan endpoint kustom
Gunakan field "Excerpt" di panel pengaturan Dokumen, untuk memberikan deskripsi pada endpoint kustom.
Temukan informasi lebih lanjut di panduan Menambahkan deskripsi ke API.
Klien endpoint
Setiap endpoint kustom memiliki kumpulan kliennya sendiri untuk berinteraksi.
Klien GraphiQL
Tambahkan ?view=graphiql ke endpoint untuk mengakses klien GraphiQL-nya:

Klien GraphiQL juga dapat dibuka saat mengedit Endpoint Kustom, di bawah panel sidebar "Custom Endpoint Overview":

Demikian pula, klien dapat dibuka dari halaman daftar Endpoint Kustom, pada tautan "GraphiQL" saat mengarahkan kursor ke entri:

Untuk menonaktifkan klien GraphiQL, atur opsi "Expose GraphiQL client?" ke false di editor Endpoint Kustom.
Klien Interactive Schema (Voyager)
Tambahkan ?view=schema ke endpoint untuk mengakses klien Interactive Schema-nya, guna memvisualisasikan dan berinteraksi dengan skema endpoint:

Klien Interactive Schema juga dapat dibuka saat mengedit Endpoint Kustom, di bawah panel sidebar "Custom Endpoint Overview":

Demikian pula, klien dapat dibuka dari halaman daftar Endpoint Kustom, pada tautan "Interactive Schema" saat mengarahkan kursor ke entri:

Untuk menonaktifkan klien Interactive Schema, atur opsi "Expose the Interactive Schema client?" ke false di editor Endpoint Kustom.
Menguji endpoint sebelum dipublikasikan secara online
Endpoint kustom dengan status draft atau pending hanya tersedia untuk pengguna editor skema. Ini memberi mereka kemampuan untuk:
- Mengeksekusi GraphQL queries terhadapnya
- Mengakses klien GraphiQL dan Voyager endpoint
Kemudian, kita dapat membuat endpoint kustom, menetapkan Konfigurasi Skema, mempublikasikannya sebagai draft atau pending, dan mengujinya (misalnya: memeriksa bahwa aturan Kontrol Aksesnya sudah sesuai).
Setelah disetujui, barulah kita mengatur statusnya menjadi publish, sehingga endpoint kustom tersedia untuk semua orang.
Melihat sumber
Dengan menambahkan ?view=source ke endpoint, konfigurasi endpoint akan ditampilkan (selama pengguna telah login dan peran pengguna memiliki akses ke sana):

Konfigurasi di editor WordPress
Berikut adalah input di body editor:
| Input | Deskripsi |
|---|---|
| Title | Judul endpoint kustom |
| Schema configuration | Dari dropdown, pilih konfigurasi skema yang berlaku untuk endpoint kustom, atau salah satu opsi berikut:
|
| Options | Sesuaikan perilaku endpoint kustom:
|
Berikut adalah input di pengaturan Dokumen:
| Input | Deskripsi |
|---|---|
| Permalink | Endpoint tempat endpoint kustom akan tersedia |
| Categories | Dapat mengkategorikan endpoint kustom. Mis.: mobile, app, dll |
| Excerpt | Berikan deskripsi untuk endpoint kustom. Input ini tersedia ketika modul "Excerpt as Description" diaktifkan |
| Page attributes | Pilih endpoint kustom induk. Input ini tersedia ketika modul "API Hierarchy" diaktifkan |