HTTP Request

Anda dapat mengirimkan request pada process flow untuk menyambungkannya pada API yang Anda gunakan atau mengintegrasikan dengan API third-party.

Http Header

Jika Anda memiliki request yang ingin Anda jalankan, Anda perlu mengetahui method, URL, serta value dan key opsional lainnya. Pilih HTTP Request pada daftar command kemudian akan ditampilkan sebagai gambar di bawah.

Penjelasan komponen :

A. Request Methods

Saat ini, terdapat 5 method yang dapat Anda gunakan untuk mengambil data dari API pada process flow, yaitu GET, POST, PUT, DELETE, and PATCH.

B. Setting Request URLs

Setiap request yang Anda kirim pada process flow membutuhkan URL yang merepresentasikan endpoint dari API yang Anda gunakan. Tiap operasi yang dapat Anda tampilkan menggunakan API biasanya terkait dengan endpointnya. Tiap endpoint dalam API tersedia pada particular URL, inilah yang Anda masukkan pada process flow untuk akses API.

Jika Anda membuat sebuah API, URL biasanya menjadi lokasi dasar dan pathnya. Sebagai contoh:

Deskripsi dari URL :

1. {URL} : Digunakan untuk meneruskan informasi ke destinasi.

2. {Path} : Lokasi data pada server.

Jika Anda menggunakan third-party API, provider API Anda akan menyediakan URL yang Anda butuhkan, sebagai contoh dalam dokumentasi developer mereka.

Anda dapat mengetikkan query parameter secara optional ke kolom URL. Kata apapun setelah tanda tanya (?) pada URL dianggap sebagai parameter yang dapat menyimpan values. Value untuk parameter yang sesuai diberikan setelah simbol "equals" (=). Beberapa parameter dapat dikirimkan melalui URL dengan memisahkannya dengan menambahkan "&". Sebagai contoh:

URL menyediakan variable dinamis yang dapat Anda gunakan pada request Anda. Tiap nama variable mewakili key, jadi mereferensikan nama variable mengijinkan Anda untuk mengakses valuenya. Nama variable biasanya diambil dari proses sebelumnya.

Perhatikan contoh workflow berikut ini.

Pada gambar diatas (Process Flow ‘Kurs Mata Uang’), kita ambil contoh dari proses ‘getKurs'. Proses ini untuk menyediakan respon feedback pada request yang dikirim.

${getEntity.response} variable ini berisi response dari proses ‘getEntity’. Atau, Anda dapat menambahkan ${getEntity.response} menggunakan response (output) dari proses ‘getEntity’, seperti pada gambar berikut ini.

Perhatikan contoh workflow berikut ini.

Pada gambar diatas (Add Gitlab Issue Workflow), kita ambil contoh dari proses ‘addGitlabIssue’. Proses ini adalah untuk menyediakan respon feedback dari request yang dikirim, respon ini ada pada form dari object 'title' dimana valuenya adalah ${response.title}. Variable ${response.title} ini berisi response title dari proses ‘transformIssue’.

Variable ${response.title} tidak akan bisa diproses pada 'getChatLink'. Karena, sebelum proses 'getChatLink' terdapat 2 proses yaitu 'addGitlabIssue' dan 'getToken', saat Anda memasukkan variable ${response.title} pada 'getChatLink', sistem akan bingung untuk menentukan title variable untuk ditampung, baik variabel yang akan ditampung merupakan response dari proses 'addGitlabIssue' ataupun response dari proses 'getToken'.

C. Setting Request Header

Beberapa API mengharuskan Anda untuk mengirim header tertentu bersama dengan request, biasanya untuk menyediakan metadata tambahan tentang operasi yang Anda tampilkan. Anda dapat mengaturnya di tabel Header. Masukkan pasangan key-value yang Anda butuhkan dan process flow akan mengirim mereka bersama dengan request Anda. Variable memungkinkan Anda untuk menyimpan dan menggunakan kembali value pada request Anda. Menggunakan variabel meningkatkan kemampuan Anda untuk bekerja secara efisien dan meminimalkan kemungkinan error.

Sebagai contoh, untuk menyertakan otorisasi pada request header, Anda dapat menentukan header pada request node id 'getToken', request ini berfungsi untuk mengambil variable token dari API yang terdapat dalam URL dan akan menampung variable sebagai response.

Untuk mendapatkan token dari aplikasi 3Dolphins, request body pada form 3Dolphins account harus diisi. Fungsi akun 3Dolphins ini sebagai autentikasi pada API Rest, jadi hanya user 3Dolphins yang dapat menggunakan API 3Dolphins.

Saat request dieksekusi, kemudian response akan diperoleh dari form dari akses token.

Pada gambar diatas (Gambar Add Gitlab Issue Workflow), kita ambil contoh dari proses 'getChatLink'. Proses ini menyediakan response feedback untuk request yang dikirim, response ini berada di form object 'Authorization' yang valuenya adalah ‘${getToken.response.token}’. Variable ‘${getToken.response.token}’ ini berisi token response dari proses 'getToken'.

HTTP Body

Tab ‘HTTP Body’ dalam process flow memungkinkan Anda menentukan data yang perlu Anda kirim dengan request. Anda dapat mengirim berbagai jenis data body untuk disesuaikan dengan API Anda.

Jika anda mengirim data body, pastikan Anda memiliki header yang sesuai untuk menunjukkan tipe konten API Anda mungkin butuh untuk memproses dan menerima data secara benar. Biasanya Anda akan menggunakan data body dengan request POST.

Pada gambar Add Gitlab Issue Workflow, kita ambil contoh dari proses 'getToken'. Untuk mendapatkan akses token membutuhkan request body seperti akun 3Dolphins. Akun 3Dolphins ini berfungsi sebagai autentikasi pada API Rest, jadi hanya user 3Dolphins yang dapat menggunakan API 3Dolphins.

HTTP Response

Setelah header dan detail request lainnya disiapkan, Anda dapat mengklik Play untuk menjalankan request Anda dan memeriksa respons yang diterima dari server API. Jika request Anda tidak bekerja seperti yang diharapkan, periksa beberapa error.

Pada gambar Add Gitlab Issue Workflow diatas, kita ambil contoh dari proses 'addGitlabIssue', agar dapat menambahkan issue pada gitlab, kita butuh destinasi URL (server API) dan parameternya akan dikirim ke gitlab. Sebagai contoh pada proses 'addGitlabIssue', parameter yang akan dikirim adalah title, description, dan label. Saat proses 'addGitlabIssue' berjalan, anda akan mendapat response (response ini akan dikirim ke gitlab) seperti gambar dibawah ini.

Last updated