Memulai dengan REST API
Teks ini diterjemahkan menggunakan AI. Jika Anda ingin melihat teks asli dalam bahasa Inggris, klik di sini.
WordPress.com REST API memungkinkan Anda melihat, membuat, atau mengedit konten di situs WordPress.com mana pun, serta situs yang di-hosting sendiri (WordPress.org) yang terhubung melalui Jetpack. Ini mencakup bukan hanya pos blog dan halaman, tetapi juga komentar, tag, kategori, media, statistik situs, notifikasi, pengaturan berbagi, profil pengguna, dan banyak fitur WordPress.com lainnya.
Beberapa permintaan (misalnya menampilkan daftar pos publik) tidak perlu diautentikasi, tetapi tindakan apa pun yang mengharuskan pengguna sudah login (seperti membuat pos) memerlukan token autentikasi.
Untuk membuat permintaan yang diautentikasi, Anda perlu terlebih dahulu menyiapkan akun di WordPress.com jika belum memilikinya.
Mencari contoh kode? Lihat repositori Contoh WordPress.com REST API, yang berisi proyek contoh yang mendemonstrasikan autentikasi OAuth dan penggunaan API dalam berbagai bahasa pemrograman dan framework. Repositori ini menyertakan contoh autentikasi berbasis OAuth untuk operasi yang diotorisasi pengguna, serta autentikasi Application Password untuk akses langsung ke endpoint API.
Cara Menggunakannya
Ada dua cara untuk menjelajahi endpoint yang tersedia untuk WordPress.com REST API:
- Halaman dokumentasi Referensi REST API mencantumkan endpoint yang tersedia dan merinci input serta output masing-masing endpoint, beserta contoh kode dalam curl dan PHP.
- Konsol pengembangan REST API memungkinkan Anda menyusun dan mencoba permintaan API sungguhan.
Membuat permintaan tanpa autentikasi itu mudah. Karena tidak ada header khusus yang diperlukan, Anda bahkan dapat membuka yang satu ini di browser untuk melihat hasil yang dikembalikan: https://public-api.wordpress.com/rest/v1.1/sites/en.blog.wordpress.com/posts/?number=2&pretty=true
Membuat permintaan yang diautentikasi memerlukan beberapa langkah tambahan. Semua permintaan yang diautentikasi ke WordPress.com REST API memerlukan token akses OAuth2. Token ini harus diperoleh dari endpoint OAuth2 WordPress.com dan dapat diperoleh melalui berbagai alur, dengan yang paling relevan adalah:
- Alur OAuth2 Lengkap – Pengguna mengotorisasi aplikasi Anda melalui antarmuka WordPress.com, dengan memberikan izin tertentu. Ini adalah pendekatan paling aman dan diperlukan untuk aplikasi pihak ketiga.
- Pertukaran Token Langsung Kredensial – Gunakan Kata Sandi Aplikasi dengan
grant_type=passworduntuk langsung mendapatkan token bagi situs Anda sendiri. Cara ini melewati langkah otorisasi pengguna, tetapi memerlukan kredensial WordPress.com Anda.
Kedua metode menghasilkan jenis token akses OAuth2 yang sama, yang Anda sertakan dalam permintaan sebagai Authorization: Bearer YOUR_ACCESS_TOKEN. Pendekatan berbasis token memastikan keamanan yang konsisten dan memungkinkan kontrol akses per aplikasi.
Kami merekomendasikan autentikasi OAuth2 sebagai cara paling aman dan terperinci untuk mengakses WordPress.com REST API. Jika Anda sudah memahami OAuth2, Anda dapat langsung membuka dokumentasi teknis.
OAuth2 memungkinkan aplikasi Anda bertindak atas nama pengguna tanpa pernah melihat kata sandi mereka. Begini cara kerjanya: Saat seseorang ingin menggunakan aplikasi Anda dengan akun WordPress.com mereka, aplikasi Anda mengarahkan mereka ke WordPress.com untuk login. WordPress.com menampilkan dengan jelas apa yang ingin dilakukan aplikasi Anda (seperti membaca pos mereka atau membuat pos baru) dan menanyakan apakah mereka menyetujuinya. Jika mereka menyetujui, WordPress.com memberikan token akses khusus kepada aplikasi Anda. Token ini seperti kunci sementara yang memungkinkan aplikasi Anda hanya melakukan hal-hal yang telah disetujui pengguna.
Anda dapat membayangkannya sebagai percakapan tiga arah:
- Pengguna: “Saya ingin membuat pos melalui klien API ini.”
- Klien (Aplikasi): “Baik. Hai, WordPress.com, saya ingin melakukan sesuatu atas nama pengguna ini. Bisakah Anda menanyakan kepada mereka apakah ini diperbolehkan?”
- WordPress.com: “Tentu. Hai, pengguna, apakah Klien boleh bertindak atas nama Anda?”
- Pengguna: “Ya, boleh. Saya memercayai klien ini untuk melakukan tindakan bagi saya di masa mendatang.”
- WordPress.com: “Baik, Klien, ini token yang memungkinkan Anda melakukan tindakan untuk pengguna ini. Jaga kerahasiaannya. Simpan dengan aman.”
Setelah Klien (Aplikasi) memperoleh token, klien tersebut dapat membuat permintaan terautentikasi ke WordPress.com. Berikut cara kerja interaksi yang umum:
- Klien (Aplikasi): “Halo WordPress.com, saya ingin membuat pos baru. Ini token akses saya yang membuktikan bahwa saya berwenang untuk bertindak atas nama pengguna, beserta judul pos, konten, dan detail lainnya.”
- WordPress.com: “Saya telah memvalidasi token Anda dan mengonfirmasi bahwa Anda memiliki izin untuk membuat pos. Pos berhasil dibuat dan dipublikasikan. Berikut respons dengan ID pos baru, URL, dan metadata lainnya.”
Alur kerja autentikasi berbasis token OAuth2 ini menyediakan kontrol akses yang aman dan terperinci – Klien hanya dapat melakukan tindakan yang secara eksplisit diotorisasi oleh pengguna selama alur OAuth. Token dapat dicabut kapan saja jika diperlukan, dan WordPress.com memvalidasi izin token pada setiap permintaan.
Keunggulan sistem ini adalah pengguna tetap memegang kendali. Mereka dapat melihat dengan jelas apa yang diminta aplikasi Anda, dan mereka dapat mencabut akses kapan saja. Aplikasi Anda tidak pernah menyimpan kata sandi, dan jika token disalahgunakan, dampaknya hanya pada akses aplikasi tersebut—bukan seluruh akun pengguna.
Anda mungkin pernah melihat ini saat login ke situs web menggunakan akun Google atau Facebook. Prosesnya bekerja dengan cara yang sama: Anda mengeklik “Log in with Facebook” (“Login dengan Facebook”), diarahkan ke Facebook untuk konfirmasi, lalu dialihkan kembali ke situs asal.
Dari perspektif aplikasi Anda, proses ini melibatkan beberapa langkah:
- Pertama, Anda mendaftarkan aplikasi Anda di WordPress.com untuk mendapatkan client ID.
- Kemudian, Anda mengarahkan pengguna ke WordPress.com dengan tautan khusus yang menyertakan client ID Anda dan memberi tahu WordPress.com ke mana pengguna harus dikirim kembali.
- Saat pengguna mengotorisasi aplikasi Anda, WordPress.com mengalihkan mereka kembali ke aplikasi Anda dengan kode otorisasi. Anda menukar kode ini dengan access token menggunakan client secret Anda, lalu Anda dapat menggunakan token tersebut untuk membuat permintaan API atas nama pengguna.
Setelah memiliki access token, membuat permintaan terautentikasi menjadi mudah. Anda menyertakan token di header Authorization pada permintaan Anda seperti ini: Authorization: Bearer your_token_here.
Untuk detail implementasi lengkap, contoh kode, dan praktik terbaik keamanan, lihat panduan autentikasi OAuth2.
Struktur URL Dasar
WordPress.com REST API menyediakan struktur URL dasar terstandar yang memastikan akses konsisten di semua jenis situs, konfigurasi hosting, dan namespace API. Semua endpoint yang tersedia diatur dan dikelompokkan di bawah namespace yang berbeda (seperti wp, rest, dan wpcom) beserta versi masing-masing (seperti v1, v1.4, v2, v4), sehingga menyediakan pemisahan logis antar fungsi API yang berbeda dan memungkinkan strategi versioning independen. Pendekatan terpadu ini menyederhanakan integrasi API dan menghilangkan kebutuhan untuk menentukan format URL yang berbeda berdasarkan karakteristik situs atau versi API.
Untuk informasi mendetail tentang namespace yang tersedia, versinya, dan endpoint yang disediakan oleh setiap namespace, lihat dokumentasi Namespace & Versi.
Struktur URL Umum
Semua endpoint WordPress.com REST API mengikuti pola terstandar ini:
https://public-api.wordpress.com/{namespace}/{version}/{endpoint}Placeholder:
{namespace}: Namespace API (misalnya, ‘rest’, ‘wp’, ‘wpcom’){version}: Versi API (misalnya, ‘v1’, ‘v1.4’, ‘v2’, ‘v4’){endpoint}: Endpoint API tertentu yang ingin Anda akses
Contoh:
https://public-api.wordpress.com/rest/v1.4/me
https://public-api.wordpress.com/wpcom/v4/notifications
https://public-api.wordpress.com/wp/v2/postsStruktur URL Khusus Situs
Saat mengakses endpoint yang beroperasi pada situs WordPress.com tertentu, struktur URL menyertakan pengidentifikasi situs:
https://public-api.wordpress.com/{namespace}/{version}/sites/{site_id}/{endpoint}Parameter:
{namespace}: Namespace API (misalnya, ‘rest’, ‘wp’, ‘wpcom’){version}: Versi API (misalnya, ‘v1’, ‘v1.4’, ‘v2’, ‘v4’){site_id}: Pengidentifikasi numerik unik situs WordPress.com Anda{endpoint}: Endpoint khusus terkait situs (misalnya, ‘posts’, ‘pages’, ‘media’, ‘users’)
Contoh:
https://public-api.wordpress.com/wp/v2/sites/241031857/posts
https://public-api.wordpress.com/rest/v1.4/sites/241031857/stats
https://public-api.wordpress.com/wpcom/v2/sites/241031857/followsMendapatkan ID Situs Anda
Untuk menggunakan endpoint khusus situs, Anda perlu mendapatkan pengenal numerik unik situs Anda. Anda bisa mendapatkan info ini dengan membuat request ke endpoint /rest/v1.1/me/sites dari API Console:
- Kunjungi WordPress.com API Console
- Buka endpoint
/rest/v1.1/me/sites(dapat ditemukan diWP.COM API - v1.1/me/sitesdi Console) - Jalankan request untuk mengambil semua situs yang terkait dengan akun Anda
- Temukan bidang
IDdalam respons untuk situs yang Anda inginkan
Endpoint /rest/v1.1/me/sites mengembalikan detail lengkap tentang semua situs yang terkait dengan akun WordPress.com Anda, termasuk:
ID: Pengenal numerik unik situs (yang Anda perlukan untuk panggilan API)name: Nama tampilan situsURL: URL publik situsjetpack: Apakah situs tersebut merupakan situs yang terhubung dengan Jetpackis_private: Apakah situs tersebut bersifat privatcapabilities: Tindakan apa saja yang dapat Anda lakukan di situs tersebut
Contoh Respons:
{
"sites": [
{
"ID": 241031857,
"name": "My Blog",
"URL": "https://myblog.wordpress.com",
"jetpack": false,
"is_private": false,
"capabilities": {
"edit_posts": true,
"publish_posts": true
}
}
]
}Format URL Alternatif
Anda mungkin menemukan beberapa format URL alternatif:
- Akses situs langsung, seperti
https://yoursite.com/wp-json/wp/v2/posts– Format ini hanya berfungsi untuk situs yang dihosting sendiri dengan Jetpack. Dapat gagal karena pengaturan keamanan, aturan firewall, atau masalah autentikasi. - Akses WordPress.com berbasis domain, seperti
https://public-api.wordpress.com/wp/v2/sites/yoursite.com/posts– Format ini tidak dapat diandalkan untuk situs dengan domain khusus, konfigurasi DNS, atau ketika domain berubah.
Untuk menghindari masalah, pendekatan yang direkomendasikan adalah menggunakan format dengan ID situs numerik yang lebih andal, lebih cepat, berfungsi secara konsisten di semua jenis situs, serta mendukung fitur WordPress.com dan metode autentikasi secara penuh.
Persyaratan Autentikasi
WordPress.com REST API mendukung permintaan yang diautentikasi maupun tanpa autentikasi, tergantung pada endpoint dan data yang ingin Anda akses. Memahami kapan dan bagaimana melakukan autentikasi sangat penting untuk keberhasilan integrasi API.
Permintaan tanpa autentikasi berfungsi untuk:
- Informasi situs publik (misalnya, detail situs, pos publik)
- Membaca konten publik dari situs WordPress.com
- Mengakses statistik dan data yang tersedia secara publik
Contoh permintaan tanpa autentikasi:
# Get public information about a site
curl https://public-api.wordpress.com/rest/v1.1/sites/en.blog.wordpress.com/
# Get public posts from a site
curl https://public-api.wordpress.com/wp/v2/sites/en.blog.wordpress.com/posts?per_page=5Autentikasi diperlukan untuk:
- Membuat, mengedit, atau menghapus konten (pos, halaman, komentar)
- Mengakses situs pribadi atau konten pribadi
- Mengelola pengaturan dan konfigurasi situs
- Mengakses data khusus pengguna (notifikasi, situs yang diikuti, statistik pribadi)
- Operasi apa pun yang mengharuskan pengguna sudah login saat menggunakan WordPress.com secara langsung
Contoh permintaan terautentikasi (memerlukan token):
# Get your user profile (requires authentication)
curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
https://public-api.wordpress.com/rest/v1.4/me
# Create a new post (requires authentication)
curl -X POST
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
-H "Content-Type: application/json"
-d '{"title":"My New Post","content":"This is the post content","status":"publish"}'
https://public-api.wordpress.com/wp/v2/sites/YOUR_SITE_ID/posts
# Get your site's stats (requires authentication)
curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
https://public-api.wordpress.com/rest/v1.4/sites/YOUR_SITE_ID/statsMetode Autentikasi
Semua autentikasi WordPress.com REST API berbasis token. Setiap permintaan terautentikasi memerlukan token akses OAuth2 yang diperoleh dari endpoint OAuth2 WordPress.com. Metode yang paling relevan untuk memperoleh token ini adalah:
- Pertukaran Token Langsung dengan Kredensial (untuk penggunaan pribadi dan pengembangan)
- Alur OAuth2 Lengkap (direkomendasikan untuk aplikasi pihak ketiga)
Pertukaran Token Langsung dengan Kredensial
Kata Sandi Aplikasi menyediakan jalan pintas untuk memperoleh token akses OAuth2 tanpa menerapkan alur otorisasi pengguna secara penuh. Metode ini menggunakan alur OAuth2 grant_type=password untuk langsung menukar nama pengguna WordPress.com dan Kata Sandi Aplikasi Anda dengan token akses.
Pendekatan ini dapat digunakan dengan kata sandi biasa maupun Kata Sandi Aplikasi (saat 2FA diaktifkan). Namun, sebaiknya hindari penggunaan kata sandi biasa Anda dan buat serta gunakan Kata Sandi Aplikasi sebagai gantinya.
Kapan menggunakan metode ini:
- Proyek Personal dan pengembangan
- Alat dan skrip command-line
- Aplikasi yang hanya mengakses situs WordPress.com Anda sendiri
- Pengujian dan pembuatan prototipe
Cara kerjanya: Alih-alih mengarahkan pengguna melalui antarmuka otorisasi WordPress.com, Anda menggunakan Kata Sandi Aplikasi untuk langsung meminta token dari endpoint OAuth2. Ini melewati langkah persetujuan pengguna, tetapi memerlukan kredensial WordPress.com Anda yang sebenarnya.
Cara menggunakan Pertukaran Token Langsung Kredensial:
Untuk menggunakan metode ini, Anda perlu:
- Buat aplikasi WordPress.com baru untuk mendapatkan Client ID dan Client Secret aplikasi Anda.
- Jika Anda mengaktifkan autentikasi dua faktor (sangat disarankan), buat Kata Sandi Aplikasi baru. Jika tidak, gunakan kata sandi reguler Anda.
Metode ini menggunakan alur OAuth2 grant_type=password untuk langsung menukarkan Kata Sandi Aplikasi Anda dengan token akses:
# Step 1: Generate an OAuth2 access token using your Application Password
curl -X POST "https://public-api.wordpress.com/oauth2/token"
-d "client_id=<CLIENT_ID>"
-d "client_secret=<CLIENT_SECRET>"
-d "grant_type=password"
-d "username=<USERNAME>"
-d "password=<APPLICATION_PASSWORD>"
# Response will contain your access token:
# {
# "access_token": "your_oauth2_token_here",
# "token_type": "bearer",
# "scope": "global"
# }
# Step 2: Use the OAuth2 token for all API requests
curl -X GET
'https://public-api.wordpress.com/rest/v1.1/sites/YOUR_SITE_ID/posts'
-H 'Authorization: Bearer your_oauth2_token_here'
-H 'Content-Type: application/json'
# Create a post using the token
curl -X POST
'https://public-api.wordpress.com/wp/v2/sites/YOUR_SITE_ID/posts'
-H 'Authorization: Bearer your_oauth2_token_here'
-H 'Content-Type: application/json'
-d '{"title":"My New Post","content":"Post content here","status":"publish"}'Poin Penting:
- Kata Sandi Aplikasi tidak pernah digunakan secara langsung dengan endpoint
public-api.wordpress.com - Kata Sandi Aplikasi hanya digunakan dengan endpoint token OAuth2 untuk mendapatkan token akses
- Token yang dihasilkan identik dengan token yang diperoleh melalui alur OAuth2 lengkap
- Semua permintaan API berikutnya menggunakan token OAuth2, bukan Kata Sandi Aplikasi
Alur OAuth2 Lengkap
Alur OAuth2 lengkap adalah pendekatan yang direkomendasikan untuk aplikasi pihak ketiga yang memerlukan pengguna untuk mengotorisasi akses ke situs dan data WordPress.com mereka. Metode ini menyediakan sistem izin yang paling aman dan terperinci.
Kapan menggunakan metode ini:
- Aplikasi pihak ketiga yang mengakses data pengguna
- Aplikasi web dengan beberapa pengguna
- Aplikasi seluler
- Aplikasi apa pun yang memerlukan izin yang dikontrol pengguna
Cara kerjanya: Pengguna dialihkan ke WordPress.com tempat mereka dapat meninjau dan mengotorisasi izin tertentu yang diminta aplikasi Anda. Setelah otorisasi, aplikasi Anda menerima token akses yang dapat digunakan untuk membuat permintaan API atas nama pengguna.
Ringkasan Alur OAuth2 Lengkap:
- Daftarkan aplikasi Anda di Aplikasi WordPress.com untuk mendapatkan ID klien dan rahasia klien Anda
- Alihkan pengguna ke URL otorisasi WordPress.com dengan ID klien dan scope yang diminta
- Pengguna meninjau dan memberikan izin melalui antarmuka WordPress.com
- WordPress.com mengalihkan kembali ke aplikasi Anda dengan kode otorisasi
- Tukarkan kode otorisasi dengan token akses OAuth2 menggunakan rahasia klien Anda
- Gunakan token akses OAuth2 dalam semua permintaan API dengan
Authorization: Bearer YOUR_TOKEN
Hasilnya adalah format token akses OAuth2 yang sama dengan yang digunakan oleh metode Credentials Direct Token Exchange, sehingga memastikan autentikasi yang konsisten di kedua pendekatan.
Untuk panduan implementasi OAuth2 yang mendetail, termasuk contoh kode dan pertimbangan keamanan, lihat dokumentasi Autentikasi OAuth2.
Pemecahan Masalah Autentikasi dan Praktik Terbaik
Kesalahan Autentikasi Umum
401 Tidak Terotorisasi
- Penyebab: Token akses tidak valid atau tidak ada
- Solusi: Pastikan token Anda benar dan disertakan dalam header
Authorization
403 Dilarang
- Penyebab: Token valid, tetapi izin tidak cukup untuk tindakan yang diminta
- Solusi: Pastikan akun pengguna Anda memiliki kemampuan yang diperlukan untuk situs tersebut
Format Token Tidak Valid
- Penyebab: Format header salah
- Solusi: Pastikan Anda menggunakan
Authorization: Bearer YOUR_TOKEN(perhatikan spasi setelah “Bearer”)
Praktik Terbaik Keamanan
- Jangan pernah mengekspos kredensial dalam kode sisi klien – Kata sandi aplikasi hanya boleh digunakan dalam aplikasi sisi server
- Gunakan variabel lingkungan – Simpan nama pengguna dan kata sandi dalam variabel lingkungan, bukan dalam kode sumber Anda
- Rotasi kata sandi secara rutin – Buat kata sandi aplikasi baru secara berkala dan cabut yang lama
- Gunakan OAuth2 untuk aplikasi yang digunakan pengguna – Jangan gunakan kata sandi aplikasi untuk aplikasi yang akan diautentikasi oleh pengguna lain
- Pahami sistem token terpadu – Kedua metode autentikasi menghasilkan token akses OAuth2 yang sama, sehingga menyediakan akses dan keamanan API yang konsisten
- Pilih metode yang tepat – Gunakan pintasan Kata Sandi Aplikasi untuk penggunaan pribadi/pengembangan, dan alur OAuth2 lengkap untuk aplikasi pihak ketiga
- Pengelolaan token – Token dapat dicabut per aplikasi tanpa memengaruhi aplikasi lain, sehingga memberikan keamanan yang lebih baik daripada berbagi kata sandi
Aplikasi Berbasis Browser
Jika Anda membuat aplikasi berbasis browser, Anda perlu:
- Gunakan alur implisit OAuth2 – Kata sandi aplikasi tidak boleh digunakan dalam kode sisi klien
- Masukkan domain Anda ke daftar yang diizinkan – Konfigurasikan origin yang diizinkan di pengaturan aplikasi WordPress.com Anda
- Tangani CORS dengan benar – API akan mengirim header CORS yang sesuai untuk domain yang masuk daftar yang diizinkan
Untuk panduan mendetail tentang implementasi berbasis browser, lihat Menggunakan REST API dari JS dan Browser.
Sumber Daya dan Dokumentasi
- Konsol API – Pengujian dan eksplorasi interaktif
- Referensi API – Dokumentasi endpoint yang komprehensif
- Panduan WordPress REST API – Dokumentasi resmi REST API inti WordPress
- Blog Pengembang – Pembaruan dan pengumuman tentang perubahan API
Terakhir diperbarui: Juni 23, 2026