Kembali ke Blog

Tutorial n8n #4: Mengambil Data dari Public API dengan HTTP Request

Pelajari cara memakai node HTTP Request di n8n untuk mengambil data dari public API JSONPlaceholder, lalu memetakan response dengan Edit Fields.

•
Frendi Triarista
Tutorial n8n #4: Mengambil Data dari Public API dengan HTTP Request

Tutorial n8n #4: Mengambil Data dari Public API dengan HTTP Request

Di tutorial sebelumnya, kita sudah membahas Manual Trigger, Edit Fields, expression, dan IF. Sekarang kita mulai masuk ke bagian yang lebih menarik: menghubungkan workflow n8n dengan layanan lain menggunakan HTTP Request.

Bagi saya, HTTP Request adalah langkah pertama untuk membuat workflow yang benar-benar berguna di dunia nyata. Hampir semua integrasi modern berbicara lewat API, mulai dari mengambil data user, mengirim invoice, membaca status order, sampai menghubungkan sistem internal perusahaan.

Untuk tahap awal, kita tidak akan memakai credential atau API key. Kita akan menggunakan public API dari JSONPlaceholder agar fokusnya tetap sederhana: memahami request, response, dan mapping data.

Target Workflow

Workflow yang akan kita buat:

  1. Manual Trigger
  2. HTTP Request
  3. Edit Fields

Hasil akhirnya, n8n akan mengambil data todo dari endpoint publik, lalu kita ambil hanya field yang dibutuhkan, yaitu title dan completed.

Prasyarat

Sebelum mengikuti tutorial ini, pastikan:

  1. n8n sudah berjalan.
  2. Anda sudah memahami Manual Trigger dari tutorial #2.
  3. Anda sudah memahami Edit Fields, expression, dan IF dari tutorial sebelumnya.
  4. Tidak perlu API key atau credential.

Apa Itu HTTP Request di n8n?

Node HTTP Request digunakan untuk membuat request ke layanan lain yang menyediakan REST API. Dengan node ini, workflow n8n bisa mengambil data, mengirim data, memperbarui data, atau menghapus data, tergantung method HTTP yang digunakan.

Beberapa method umum yang sering dipakai:

  • GET: mengambil data.
  • POST: mengirim atau membuat data baru.
  • PUT atau PATCH: memperbarui data.
  • DELETE: menghapus data.

Di tutorial ini kita hanya memakai GET, karena tujuannya adalah mengambil data dari public API.

Endpoint yang Digunakan

Kita akan memakai endpoint berikut:

https://jsonplaceholder.typicode.com/todos/1

Endpoint ini berasal dari JSONPlaceholder, yaitu layanan dummy API untuk belajar dan testing. Jangan menganggap JSONPlaceholder sebagai production API untuk aplikasi bisnis. Gunakan hanya untuk latihan, demo, atau eksperimen.

Expected response dari endpoint tersebut:

{
  "userId": 1,
  "id": 1,
  "title": "delectus aut autem",
  "completed": false
}

Langkah 1: Buat Workflow Baru

  1. Buka n8n.
  2. Buat workflow baru.
  3. Tambahkan node Manual Trigger.

Manual Trigger dipakai agar workflow bisa dijalankan secara manual saat kita sedang belajar atau melakukan testing.

Langkah 2: Tambahkan Node HTTP Request

Tambahkan node HTTP Request setelah Manual Trigger.

Konfigurasi node:

Field Nilai
Method GET
URL https://jsonplaceholder.typicode.com/todos/1
Authentication Tidak perlu

Setelah konfigurasi selesai, klik Execute step pada node HTTP Request.

Jika berhasil, output node akan berisi data JSON seperti ini:

{
  "userId": 1,
  "id": 1,
  "title": "delectus aut autem",
  "completed": false
}

Pada tahap ini, kita sudah berhasil mengambil data dari layanan lain menggunakan HTTP Request.

Langkah 3: Tambahkan Node Edit Fields

Selanjutnya, tambahkan node Edit Fields setelah HTTP Request.

Tujuannya adalah mengambil field yang kita perlukan saja dari response mentah.

Konfigurasi field:

Field Baru Value
title {{$json.title}}
completed {{$json.completed}}

Jika Anda ingin output hanya berisi dua field tersebut, aktifkan opsi untuk menyimpan hanya field yang diset, jika tersedia di versi n8n yang Anda gunakan.

Expected output setelah Edit Fields:

{
  "title": "delectus aut autem",
  "completed": false
}

Response Mentah vs Field Hasil Mapping

Ada perbedaan penting antara response mentah dari HTTP Request dan hasil mapping dari Edit Fields.

Response mentah adalah data asli yang dikembalikan API. Dalam contoh ini, response mentah berisi:

  • userId
  • id
  • title
  • completed

Sedangkan hasil mapping adalah data yang sudah kita rapikan sesuai kebutuhan workflow. Dalam contoh ini, kita hanya mengambil:

  • title
  • completed

Menurut saya, kebiasaan merapikan data seperti ini penting sejak awal. Workflow akan lebih mudah dibaca, lebih mudah diuji, dan lebih aman untuk dikembangkan ketika data yang mengalir antar node sudah jelas bentuknya.

Langkah 4: Uji Workflow Lengkap

Sekarang jalankan workflow dari awal:

  1. Klik node Manual Trigger.
  2. Jalankan workflow.
  3. Periksa output node HTTP Request.
  4. Periksa output node Edit Fields.

Jika semuanya benar, HTTP Request akan mengambil data dari JSONPlaceholder, lalu Edit Fields akan menghasilkan data yang lebih ringkas.

Error Dasar yang Sering Terjadi

Saat memakai HTTP Request, beberapa error dasar yang mungkin muncul antara lain:

1. URL Salah

Contoh URL salah:

https://jsonplaceholder.typicode.com/todo-salah/1

Jika endpoint tidak tersedia, API bisa mengembalikan error seperti 404 Not Found.

Cara memperbaiki:

  • Pastikan URL ditulis dengan benar.
  • Coba buka URL di browser.
  • Periksa dokumentasi API yang digunakan.

2. Koneksi Gagal

Koneksi bisa gagal jika internet bermasalah, API sedang tidak bisa diakses, atau environment n8n tidak punya akses keluar ke internet.

Cara mengecek:

  • Pastikan koneksi internet aktif.
  • Coba akses endpoint dari browser atau terminal.
  • Jika memakai server atau Docker, pastikan container n8n bisa mengakses internet.

3. Response Tidak Sesuai Ekspektasi

Kadang request berhasil, tetapi struktur response berbeda dari yang kita kira. Akibatnya expression seperti {{$json.title}} bisa kosong.

Cara memperbaiki:

  • Lihat output mentah dari HTTP Request.
  • Pastikan nama field sesuai.
  • Sesuaikan expression di Edit Fields.

Kapan HTTP Request Mulai Berguna?

Setelah paham contoh sederhana ini, HTTP Request bisa dipakai untuk banyak skenario, misalnya:

  1. Mengambil data order dari sistem e-commerce.
  2. Membaca status pembayaran dari payment gateway.
  3. Mengirim data lead ke CRM.
  4. Mengambil data cuaca, kurs, atau jadwal dari API publik.
  5. Menghubungkan sistem internal yang belum punya node khusus di n8n.

Untuk integrasi bisnis, biasanya kita akan masuk ke API yang membutuhkan authentication. Namun saya sarankan memahami versi tanpa credential terlebih dahulu, karena konsep dasarnya sama: kirim request, baca response, lalu mapping data.

Ringkasan

Di tutorial ini, kita sudah membuat workflow sederhana:

Manual Trigger -> HTTP Request -> Edit Fields

Yang sudah dipelajari:

  1. HTTP Request digunakan untuk mengambil data dari layanan lain.
  2. Method GET dipakai untuk membaca data dari API.
  3. Endpoint JSONPlaceholder bisa digunakan untuk latihan tanpa API key.
  4. Response mentah dari API bisa dirapikan dengan Edit Fields.
  5. Mapping membantu workflow lebih jelas dan mudah dikembangkan.
  6. Error dasar biasanya terkait URL salah, koneksi gagal, atau struktur response yang berbeda.

Di tutorial #5, kita akan mulai membahas Webhook, yaitu cara membuat workflow n8n menerima request dari luar. Ini akan menjadi langkah penting untuk membuat workflow yang bisa dipicu oleh aplikasi lain.

Referensi

  1. HTTP Request node, n8n Docs, https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/, Tanggal publikasi/update sumber: tidak terverifikasi.
  2. JSONPlaceholder Guide, JSONPlaceholder, https://jsonplaceholder.typicode.com/guide/, Tanggal publikasi/update sumber: tidak terverifikasi.