Anda melihat sebuah aplikasi membuat permintaan di browser. Ini berhasil. Data ada di tab Jaringan. Sekarang Anda ingin panggilan yang sama sebagai endpoint terdokumentasi yang dapat Anda simpan, simulasi, dan uji, tanpa harus mengetik ulang URL, header, dan body JSON secara manual.
Jeda antara "traffic yang bisa saya lihat" dan "endpoint yang bisa saya gunakan kembali" adalah apa yang dijembatani oleh file HAR. Browser Anda sudah merekam setiap permintaan dan respons yang dibuatnya. Ekspor rekaman itu, serahkan ke Apidog, dan setiap panggilan yang terekam akan menjadi endpoint nyata dalam proyek Anda. Panduan ini menjelaskan seluruh proses: merekam HAR di Chrome DevTools, mengimpornya dengan opsi yang tepat, dan membersihkan endpoint yang dihasilkan agar daftar tetap berguna. Untuk pandangan yang lebih luas tentang alur kerja perekaman, panduan kami tentang alat penangkap paket dengan Apidog mencakup area terkait.
Anda dapat Mengunduh Apidog secara gratis dan mengikuti langkah-langkah di layar yang sama.
Apa itu file HAR dan mengapa traffic yang terekam layak disimpan
HAR adalah singkatan dari HTTP Archive. Menurut dokumentasi Apidog, file .har adalah "file berformat JSON yang digunakan untuk mencatat interaksi browser web dengan sebuah situs. Ini merekam permintaan web, respons, header, dan data lain yang dikirim antara browser dan server."
Secara sederhana: file HAR adalah transkrip lengkap dari sesi penjelajahan. Setiap GET, setiap POST, header permintaan, body respons, waktu. Karena formatnya JSON, ia mudah dibawa. Anda bisa mengirimkannya via email, melampirkannya ke laporan bug, atau memberikannya ke alat yang tahu cara membacanya.
Bagian terakhir itulah mengapa ini penting di sini. Sesi yang terekam adalah catatan tentang bagaimana API benar-benar berperilaku di lapangan, bukan bagaimana spesifikasi mengatakan seharusnya. Ketika Anda mengubah catatan itu menjadi endpoint, Anda mendapatkan beberapa hal secara gratis:
- Bentuk permintaan yang nyata. URL, parameter kueri, header, dan body yang tepat yang dikirim aplikasi, bukan perkiraan.
- Respons yang nyata. Kode status dan payload yang dikembalikan server, yang dapat Anda gunakan sebagai simulasi atau asersi pengujian.
- Titik awal untuk dokumentasi. API internal yang tidak terdokumentasi menjadi satu set endpoint bernama yang dapat Anda anotasi.
Ini berguna saat Anda mewarisi layanan tanpa spesifikasi OpenAPI, saat Anda melakukan rekayasa balik bagaimana widget pihak ketiga berkomunikasi dengan backend-nya, atau saat Anda ingin mereproduksi bug dengan panggilan persis yang memicunya.
Langkah 1: rekam HAR di DevTools browser Anda
Perekaman terjadi di browser Anda, bukan di Apidog. Chrome dan Edge keduanya menggunakan DevTools yang sama, jadi langkah-langkahnya identik. Misalnya, Anda ingin merekam traffic di balik halaman riwayat pesanan.
- Buka halaman yang ingin Anda rekam. Masuk terlebih dahulu jika API memerlukan sesi, karena HAR juga akan membawa permintaan tersebut.
- Buka Developer Tools. Tekan
F12, atauCtrl+Shift+Idi Windows dan Linux, atauCmd+Opt+Idi Mac. - Beralih ke tab Network. Di sinilah DevTools mencantumkan setiap permintaan yang dibuat halaman.
- Refresh halaman, atau klik tindakan yang traffic-nya ingin Anda rekam. Memuat tampilan riwayat pesanan akan memicu panggilan ke
/api/orders,/api/orders/{id}, dan apa pun yang dibutuhkan halaman. Setiap panggilan muncul sebagai baris. - Klik kanan pada baris permintaan mana pun dan pilih Save all as HAR with content. Pilih lokasi dan simpan file, misalnya
order-history.har. Jika kata-kata menu membingungkan Anda, referensi Chrome DevTools Network mendokumentasikan alur perekaman dan ekspor yang sama.
Bagian "with content" itu penting. Ini memberitahu DevTools untuk menyertakan body respons, tidak hanya metadata permintaan. Tanpa itu, endpoint yang Anda impor akan memiliki bentuk permintaan tetapi tidak ada contoh respons.
Pemeriksaan cepat sebelum Anda meninggalkan browser: jika Anda membuka file .har di editor teks, itu adalah JSON yang dapat dibaca. Anda akan melihat array entries di mana setiap entri memiliki objek request dan response. Itulah struktur yang dibaca Apidog.
Satu hal yang perlu diingat. Pembebanan halaman menarik lebih dari sekadar panggilan API. Ia juga mengambil gambar, stylesheet, dan script, dan setiap elemen tersebut masuk ke dalam HAR. Anda tidak perlu menyaringnya di browser; Apidog memberi Anda opsi untuk mengabaikannya saat impor, yang akan dibahas selanjutnya.
Langkah 2: impor HAR ke Apidog
Setelah file tersimpan, pindah ke Apidog. Pengimpor berada di satu tempat.
- Buka proyek Anda dan pergi ke Settings > Import Data > Manual.
- Pilih HAR sebagai format.
- Unggah file
.harAnda, misalnyaorder-history.haryang Anda simpan barusan.
Sebelum Anda mengkonfirmasi, Apidog menampilkan tiga opsi impor. Opsi-opsi ini menentukan seberapa rapi hasilnya, jadi penting untuk memahami masing-masing alih-alih langsung mengklik.
Opsi 1: bagaimana BaseURL ditangani
Setiap permintaan yang terekam memiliki URL lengkap, seperti https://api.shop.example.com/v1/orders/123. Anda memiliki dua pilihan untuk menangani bagian host:
- Hardcode mempertahankan BaseURL di dalam jalur setiap endpoint. Setiap endpoint membawa prefiks lengkap
https://api.shop.example.com. - Hapus (Direkomendasikan) menghapus BaseURL sehingga jalur endpoint menjadi
/v1/orders/123. Host kemudian dikelola secara global melalui variabel lingkungan.
Pilih opsi Hapus kecuali Anda punya alasan untuk tidak melakukannya. Ini adalah pengaturan yang direkomendasikan karena suatu alasan: ketika URL dasar berada dalam variabel lingkungan, Anda dapat mengarahkan endpoint yang sama ke produksi, staging, atau server lokal dengan beralih lingkungan, tanpa perlu mengedit endpoint itu sendiri. Hardcoding mengunci setiap endpoint ke host yang kebetulan Anda rekam, yang akan menyulitkan saat Anda perlu menguji terhadap server yang berbeda.
Opsi 2: mengecualikan sumber daya statis
Ini adalah sakelar yang menyelamatkan Anda dari daftar endpoint yang berantakan. Opsi Sumber Daya Statis, yang diatur ke Kecualikan, memberi tahu Apidog untuk melewati gambar, CSS, dan file JavaScript yang terekam. Satu pemuatan halaman dapat menghasilkan puluhan file tersebut, dan tidak ada satupun yang merupakan endpoint API yang ingin Anda dokumentasikan.
Aktifkan Kecualikan untuk hampir setiap impor. Yang tersisa setelah filter adalah traffic API yang sebenarnya: panggilan JSON ke /api/orders dan sejenisnya, bukan permintaan untuk logo.png.
Opsi 3: membuat kasus uji per endpoint
Opsi ketiga adalah Pembuatan Kasus Endpoint. Nyalakan ke ON dan Apidog akan membuat kasus uji default untuk setiap endpoint saat diimpor. Sebuah kasus uji adalah invokasi endpoint yang disimpan dan dapat dijalankan dengan nilai-nilai yang terekam sudah terisi.
Ini adalah langkah kecil yang akan terbayar nanti. Jika tujuan Anda adalah menguji endpoint ini, memiliki kasus yang siap untuk setiap endpoint berarti Anda dapat langsung menjalankannya daripada membangunnya dari awal. Jika Anda hanya menginginkan dokumentasi untuk saat ini, Anda bisa mematikannya dan menambahkan kasus nanti.
Konfirmasi impor. Apidog membaca HAR, menerapkan opsi Anda, dan mengubah interaksi browser yang terekam menjadi endpoint API di dalam proyek Anda. Buka pohon endpoint dan Anda akan melihatnya dikelompokkan dan siap.
Berikut adalah perkiraan tampilan salah satu endpoint yang diimpor setelah selesai, menggunakan panggilan pesanan sebagai contoh:
GET /v1/orders/123
Host: api.shop.example.com
Authorization: Bearer <token-from-capture>
Accept: application/json
Dan respons yang terekam yang disimpan Apidog di sampingnya:
{
"id": 123,
"status": "shipped",
"total": 48.5,
"currency": "USD",
"items": [
{ "sku": "TSHIRT-BLK-M", "qty": 2, "price": 19.25 }
],
"createdAt": "2026-07-14T09:31:00Z"
}
Respons itu adalah data nyata yang dikembalikan server, yang menjadikannya dasar yang kuat untuk simulasi atau asersi pengujian.
Langkah 3: bersihkan endpoint yang dihasilkan
Impor HAR adalah langkah awal yang cepat, bukan definisi API yang selesai. Traffic yang terekam secara alami berantakan, jadi luangkan beberapa menit untuk merapikan hasilnya.
- Pangkas gangguan. Bahkan dengan Sumber Daya Statis diatur ke Kecualikan, Anda mungkin menemukan ping analitik, pemeriksaan kesehatan, atau panggilan pihak ketiga yang tidak Anda perlukan. Hapus endpoint yang tidak akan Anda gunakan agar pohon mencerminkan API Anda yang sebenarnya.
- Ganti nama dan kelompokkan. Endpoint yang terekam dinamai berdasarkan jalurnya, yang fungsional tetapi datar. Beri mereka nama yang jelas ("Dapatkan pesanan berdasarkan ID" alih-alih
/v1/orders/123) dan atur mereka ke dalam folder yang sesuai dengan struktur API Anda. - Perbaiki parameter jalur. Perekaman
/v1/orders/123diimpor sebagai jalur literal. Jika123sebenarnya adalah ID pesanan, edit endpoint tersebut sehingga segmen itu menjadi parameter jalur{orderId}. Satu perubahan itu mengubah panggilan yang terekam tunggal menjadi endpoint yang dapat digunakan kembali untuk pesanan apa pun. - Bersihkan rahasia sebelum berbagi. Ini mudah terlupakan. HAR Anda merekam token otentikasi apa pun yang aktif dalam sesi itu, dan itu ikut terbawa ke header. Sebelum Anda mengcommit proyek atau membagikannya dengan rekan tim, pindahkan token ke variabel lingkungan dan bersihkan kredensial yang terekam dari contoh. Dokumentasi Stripe membuat poin yang sama tentang tidak pernah membiarkan kunci aktif bocor ke artefak bersama, dan HAR adalah jenis artefak yang membocorkannya.
- Periksa kembali body. Jika body kosong padahal Anda mengharapkan data, kemungkinan Anda mengekspor tanpa opsi "with content". Rekam ulang menggunakan Save all as HAR with content dan impor kembali.
Setelah endpoint bersih, mereka akan berperilaku seperti endpoint lainnya di Apidog. Anda dapat mendokumentasikannya, menghasilkan simulasi dari setiap respons, dan membangun pengujian. Panduan untuk menulis skenario pengujian di Apidog secara alami berlanjut dari sini, dan jika Anda menginginkan kode klien yang terketik dari endpoint ini, lihat cara menghasilkan kode klien dengan Apidog.
Variasi dan batasan jujur
Beberapa situasi sering muncul sehingga perlu disebutkan.
Belum ada perekam otomatis
Anda mungkin berharap Apidog akan berjalan di latar belakang dan merekam traffic secara langsung, seperti proxy. Ini tidak terjadi, dan penting untuk jujur mengenai hal itu. Dokumentasi menyatakan dengan jelas: "Apidog saat ini tidak mendukung fungsi perekaman endpoint otomatis, tetapi ada rencana untuk mendukungnya di masa mendatang."
Jadi, jalur yang didukung saat ini persis seperti yang ada dalam panduan ini: rekam dengan DevTools browser Anda, ekspor HAR, lalu impor. Alur yang direkomendasikan dalam dokumentasi adalah membuka DevTools saat Anda menggunakan endpoint di browser, mengekspor HAR setelah selesai, mengimpornya ke Apidog dalam satu klik, lalu membuat skenario pengujian dan mengimpor semua permintaan untuk pemutaran. Ini adalah langkah perekaman manual yang diikuti dengan impor satu klik, bukan perekam langsung. Ketika fitur perekaman otomatis dirilis, bagian ini akan berubah, tetapi jangan menunggunya.
Ekstensi Browser Apidog adalah alat yang berbeda
Ada Ekstensi Browser Apidog, dan mudah untuk berasumsi bahwa itu merekam traffic HAR. Tidak demikian. Ekstensi ini memungkinkan Anda menggunakan pengujian dan debugging API Apidog langsung di browser tanpa membuka klien desktop. Ini tentang menjalankan permintaan, bukan merekamnya.
Perekaman HAR berasal dari DevTools browser Anda sendiri, titik. Jika Anda memang menggunakan ekstensi untuk pengujian, ketahuilah bahwa browser memberlakukan batasan padanya: ia memblokir header tertentu seperti Cookie, Host, Origin, dan Content-Length, ia tidak akan mengirim body pada permintaan GET atau HEAD, dan ia tidak dapat menjangkau kode lokal atau database di belakang mesin Anda. Untuk merekam traffic yang akan diimpor, tetap gunakan DevTools dan ekspor HAR. Untuk debugging yang lebih berat yang membutuhkan kontrol header penuh, Klien Desktop Apidog tidak memiliki batasan yang diberlakukan browser seperti itu.
Format lain diimpor dengan cara yang sama
HAR adalah salah satu dari beberapa format yang diterima layar Settings > Import Data > Manual yang sama. Jika Anda sudah memiliki file OpenAPI atau Swagger, mengimpornya akan memberikan hasil yang lebih bersih daripada perekaman, karena spesifikasi dibuat dengan tujuan. Penjelasan kami tentang migrasi dokumentasi API Swagger ke Apidog membahas rute itu, dan jika Anda berasal dari Postman, panduan migrasi lingkungan dan koleksi Postman juga melakukannya. Gunakan HAR ketika spesifikasi nyata tidak ada dan traffic yang terekam adalah catatan terbaik yang Anda miliki.
Otomatiskan alur kerja dengan Apidog CLI
Mengimpor HAR tidak harus melalui langkah GUI. Apidog CLI memiliki perintah import yang membaca file HAR secara langsung, yang Anda inginkan ketika perekaman terjadi di server, ketika Anda membuat skrip impor dalam pipeline, atau ketika Anda membiarkan agen pengkodean AI mengubah rekaman menjadi endpoint:
npm install -g apidog-cli
apidog login --with-token <YOUR_ACCESS_TOKEN>
# Turn a captured HAR into endpoints in your project
apidog import --project <PROJECT_ID> --format har --file ./capture.har
Bendera --format juga menerima openapi, postman, wsdl, insomnia, dan lainnya, jadi satu perintah mencakup sebagian besar sumber impor. Setelah endpoint ada dan Anda menyimpannya ke dalam skenario pengujian, jalankan skenario tersebut tanpa antarmuka grafis di CI:
apidog run --access-token $APIDOG_ACCESS_TOKEN \
-t <SCENARIO_ID> -e <ENV_ID> -r cli
Di sini -t adalah ID skenario pengujian yang disimpan, -e adalah ID lingkungan (variabel lingkungan yang sama yang menyimpan BaseURL Anda), dan -r memilih reporter, cli untuk output konsol. Bangun skenario dengan panduan menulis skenario pengujian di Apidog, lalu hubungkan kedua perintah ke dalam pipeline Anda dengan panduan Apidog CLI CI/CD.
FAQ
Browser mana saja yang dapat mengekspor file HAR?
Browser berbasis Chromium apa pun dengan DevTools melakukannya dengan cara yang sama, jadi Chrome dan Edge keduanya menggunakan tab Network dan item menu Save all as HAR with content. Dokumentasi Apidog secara spesifik mencakup jalur Chrome dan Edge. Browser lain memiliki menu ekspornya sendiri, tetapi labelnya mungkin berbeda, jadi sesuaikan dengan istilah DevTools browser Anda sendiri.
Daftar endpoint yang saya impor sangat besar. Apa yang salah?
Anda kemungkinan besar membiarkan Sumber Daya Statis diatur untuk menyertakan semuanya. Pembebanan halaman menarik gambar, CSS, dan skrip, dan semuanya masuk ke dalam HAR. Impor ulang file dengan opsi Sumber Daya Statis diatur ke Kecualikan, dan daftar akan menyempit menjadi panggilan API yang sebenarnya. Anda juga dapat menghapus sisa-sisa yang tidak diinginkan secara manual setelahnya.
Haruskah saya memilih Hardcode atau Hapus untuk BaseURL?
Pilih Hapus (Direkomendasikan) dalam hampir semua kasus. Ini menarik host dari setiap jalur endpoint sehingga Anda mengelolanya secara global melalui variabel lingkungan, yang memungkinkan Anda beralih antara produksi, staging, dan lokal tanpa mengedit endpoint. Pengaturan yang sama itulah yang dibaca skenario pengujian di Apidog saat dijalankan. Pilih Hardcode hanya jika Anda secara spesifik ingin URL lengkap tersemat di setiap jalur.
Apakah HAR menyertakan token otentikasi saya?
Ya, dan itulah masalahnya. HAR merekam header nyata yang dikirim selama sesi, jadi setiap token bearer atau cookie yang aktif ada di dalam file. Perlakukan HAR seperti rahasia: jangan menempelkannya ke isu publik, dan setelah diimpor, pindahkan kredensial ke variabel lingkungan dan hapus dari contoh yang disimpan sebelum membagikan proyek.
Bisakah saya melewati GUI dan mengimpor HAR dari baris perintah?
Ya. Perintah apidog import --project <id> --format har --file <path> dari Apidog CLI membawa HAR ke dalam proyek Anda tanpa membuka aplikasi, yang Anda inginkan ketika perekaman terjadi di server atau di dalam pekerjaan CI. GUI masih memberi Anda opsi impor interaktif (penanganan BaseURL, penyaringan Sumber Daya Statis) untuk perekaman satu kali, jadi pilihlah yang paling sesuai: CLI untuk impor yang dibuat skrip atau didorong agen, GUI ketika Anda ingin menyesuaikan impor secara manual. Setelah diimpor, apidog run memutar ulang skenario pengujian yang Anda bangun dari endpoint tersebut.
Ringkasan
File HAR adalah jembatan antara traffic yang dapat Anda lihat dan endpoint yang dapat Anda gunakan kembali. Rekam sesi di DevTools browser Anda dengan Save all as HAR with content, impor melalui Settings > Import Data > Manual dengan opsi Hapus untuk BaseURL dan Sumber Daya Statis diatur ke Kecualikan, lalu luangkan beberapa menit untuk mengganti nama, memparameterkan, dan membersihkan rahasia. Yang Anda dapatkan adalah sekumpulan endpoint yang berfungsi yang dapat Anda dokumentasikan, simulasikan, dan uji.
Siap mengubah rekaman Anda berikutnya menjadi endpoint nyata? Unduh Apidog dan coba gratis, tanpa kartu kredit.
