Kirim permintaan HTTP

Tindakan Kirim permintaan HTTP menghubungkan alur kerja Anda ke server web atau URL dan mengirimkan permintaan HTTP.

Setelah Flow mengirimkan permintaan HTTP Anda, Flow akan menunggu kode respons HTTP selama maksimal 30 detik. Jika Flow belum menerima respons setelah 30 detik, koneksi ke aplikasi Anda akan ditutup. Flow akan mencoba lagi permintaan tersebut nanti.

Bidang

Tindakan Kirim permintaan HTTP berisi bidang-bidang berikut.

Bidang yang digunakan dalam tindakan Kirim permintaan HTTP.
BidangDeskripsi
Metode HTTPMetode permintaan HTTP untuk dikirim. Kirim permintaan HTTP Tindakan ini mendukung metode berikut:
  • Get - Mengirimkan permintaan informasi dari server.
  • Delete - Menghapus sumber daya dari server.
  • Head - Mengambil header respons HTTP dari server.
  • Options - Mengambil opsi dan fitur yang didukung oleh server.
  • Patch - Memperbarui sebagian sumber daya di server.
  • Put - Memperbarui sumber daya di server.
  • Post - Membuat atau mengganti sumber daya di server.
URLURL server tempat permintaan HTTP dikirim.
HeaderPasangan kunci dan nilai untuk permintaan HTTP. Anda dapat memasukkan beberapa pasangan kunci-nilai.
IsiKonten yang akan dikirim ke server.
Saat terjadi error klien (respons 4XX)Saat menerima kode respons yang menunjukkan error klien, Flow akan:
  • Coba lagi - Coba lagi hingga 24 jam sampai menerima kode respons yang berbeda atau waktu habis.
  • Gagal - Menggagalkan eksekusi alur kerja.
  • Abaikan - Abaikan error dan lanjutkan eksekusi alur kerja.
Saat terjadi error server (respons 5XX atau 429)Saat menerima kode respons yang menunjukkan error server, Flow akan:
  • Coba lagi - Coba lagi hingga 24 jam sampai menerima kode respons yang berbeda atau waktu habis.
  • Gagal - Menggagalkan eksekusi alur kerja.
  • Abaikan - Abaikan error dan lanjutkan eksekusi alur kerja.

Data yang dikembalikan

Untuk mengakses data yang dikembalikan dalam langkah-langkah setelah tindakan ini, gunakan variabel bernama sendHttpRequest, yang menyertakan semua detail respons HTTP. Secara opsional, gunakan tindakan Jalankan kode untuk mengurai isi respons agar dapat digunakan dalam langkah-langkah alur kerja berikutnya, seperti pada contoh di bawah ini.

Jika tindakan Kirim permintaan HTTP digunakan beberapa kali dalam satu alur kerja, angka akan ditambahkan ke nama variabel. Misalnya, dalam alur kerja yang menggunakan tindakan Kirim permintaan HTTP dua kali, variabel pertama untuk data yang dikembalikan adalah sendHttpRequest dan variabel kedua adalah sendHttpRequest1. Nama ini tidak dapat disesuaikan.

Kode respons

Tabel berikut menjelaskan cara Flow memproses kode respons HTTP setelah menerima respons.

Cara Flow memproses kode respons HTTP.
Kode respons HTTPCara Flow memproses kode respons
Sukses 2XX atau 3XXFlow menandai permintaan HTTP sebagai berhasil dan melakukan tindakan berikutnya dalam alur kerja.
Error 4XX,
Error 5XX dan 429
Tergantung cara tindakan dikonfigurasi, Flow akan:
  • Coba lagi - Coba lagi hingga 24 jam sampai menerima kode respons yang berbeda atau waktu habis.
  • Gagal - Menggagalkan eksekusi alur kerja.
  • Abaikan - Abaikan error dan lanjutkan eksekusi alur kerja.
Kode respons lainnyaJika respons mengembalikan kode yang tidak dijelaskan dalam tabel ini atau waktu habis saat mencoba lagi tindakan, Flow akan menandai permintaan HTTP sebagai gagal, menggagalkan eksekusi alur kerja, dan tidak melakukan tindakan alur kerja berikutnya.

Rahasia

Rahasia digunakan untuk menyimpan informasi sensitif secara aman guna digunakan dalam tindakan Kirim permintaan HTTP, seperti akses token atau kata sandi. Rahasia dibuat dan dikelola dari halaman Flow > Pengaturan. Rahasia berisi handle, nilai, dan deskripsi. Referensikan rahasia sebagai variabel Liquid (seperti {{secrets.handle}}) atau dari opsi Tambahkan rahasia saat mengonfigurasi bidang URL, Nilai header, atau Isi. Nilai rahasia tidak pernah terlihat di antarmuka Flow dan disamarkan dari log eksekusi alur kerja.

Pemicu

Tindakan Kirim permintaan HTTP dapat digunakan di alur kerja mana pun.

Contoh

Contoh 1: Mengirim permintaan HTTP ke layanan eksternal

Dalam contoh ini, gunakan Flow untuk mengirim permintaan HTTP ke layanan eksternal.

Sebelum memulai, konfigurasikan layanan web yang menerima permintaan HTTP dan menyimpan data permintaan tersebut untuk pengujian, seperti Request Catcher. Ingatlah untuk berhati-hati saat mengirimkan data sensitif (seperti sandi atau kunci API) ke layanan pihak ketiga.

Langkah-langkah:

  1. Pilih pemicu Status produk diperbarui, yang memungkinkan Anda menguji alur kerja ini dengan mengubah status pada produk.
  2. Tambahkan Kirim Permintaan HTTP tindakan ke alur kerja Anda dan hubungkan ke pemicu. Kemudian, buka panel konfigurasi dengan mengeklik Kirim Permintaan HTTP langkah.
    • Di kolom Metode HTTP, masukkan POST.
    • Di kolom URL, masukkan URL untuk pengujian, misalnya https://yourFlowTest.requestcatcher.com/test.
    • Di bagian Header, masukkan header dengan Kunci Content-Type dan Nilai text/plain.
    • Di bagian Isi, masukkan {{product.title}} dan {{product.status}} untuk mengirimkan judul dan status produk yang diperbarui dari pemicu.
  3. Aktifkan alur kerja.
  4. Uji dengan mengubah status pada Produk, misalnya dari Draf ke Aktif.
  5. Amati hasilnya di layanan pengujian eksternal, seperti https://yourFlowTest.requestcatcher.com/ dalam contoh ini.

Contoh 2: Gunakan Jalankan kode untuk mengurai respons HTTP

Dalam contoh ini, gunakan Flow untuk mengirim permintaan HTTP ke layanan eksternal dan tindakan Jalankan kode untuk mengurai body respons HTTP untuk digunakan dalam langkah alur kerja berikutnya.

Sebelum memulai, pilih layanan web yang menerima permintaan HTTP dan mengembalikan data, seperti Postman Echo. Ingatlah untuk berhati-hati saat mengirim data sensitif (seperti kata sandi atau kunci API) ke layanan pihak ketiga.

Langkah-langkah:

  1. Pilih pemicu Status produk diperbarui, yang memungkinkan Anda menguji alur kerja ini dengan mengubah status pada produk.

  2. Tambahkan tindakan Kirim Permintaan HTTP ke alur kerja Anda dan hubungkan ke pemicu. Kemudian, buka panel konfigurasi dengan mengeklik langkah Kirim Permintaan HTTP.

    • Di kolom Metode HTTP, masukkan POST.

    • Di kolom URL, masukkan URL untuk pengujian, misalnya https://postman-echo.com/post.

    • Di bagian Header, masukkan header dengan Kunci Content-Type dan Nilai application/json.

    • Di bagian Isi, masukkan contoh JSON untuk dikembalikan ke alur kerja, seperti:

      {
          "productTitle": "{{product.title}}",
          "productStatus": "{{product.status}}"
      }
  3. Tambahkan tindakan Jalankan kode ke alur kerja Anda dan hubungkan ke tindakan Kirim permintaan HTTP. Kemudian, buka panel konfigurasi dengan mengeklik langkah Jalankan kode.

    • Di kolom Tentukan input, sertakan body yang dikembalikan oleh objek sendHTTPrequest, seperti:

      query{
        sendHttpRequest {
          body
        }
      }
    • Di kolom Tentukan output, yang ditentukan dalam skema output, seperti:

      type Output {
        productTitle: String!
        productStatus: String!
      }
    • Di kolom Tulis kode, urai respons menggunakan metode JSON.parse dan pastikan data yang Anda kembalikan cocok dengan bentuk dan jenis yang ditentukan dalam skema output, seperti:

      export default function main(input) {
        const body = JSON.parse(input.sendHttpRequest.body);
        console.log("body is", body);
        return {
          productTitle: body.data.productTitle,
          productStatus: body.data.productStatus
        }
      }
  4. Tambahkan tindakan Catat output ke alur kerja Anda dan hubungkan ke tindakan Jalankan kode. Kemudian, buka panel konfigurasi dengan mengeklik langkah Jalankan kode.

    • Di kolom Output, sertakan variabel yang dikembalikan oleh langkah Jalankan kode, seperti:

      Title from HTTP response: {{runCode.productTitle}}
      Status from HTTP response: {{runCode.productStatus}}
  5. Aktifkan alur kerja.

  6. Uji dengan mengubah status pada Produk, misalnya dari Draf ke Aktif.

  7. Amati eksekusi yang dihasilkan dari halaman Flow / Eksekusi terbaru dan perhatikan nilai pada langkah Catat output cocok dengan nilai yang dikembalikan dari output Kirim permintaan HTTP.

Templat

Beri tahu penyedia pemenuhan Anda tentang pesanan mendatang

Kirim permintaan HTTP ke penyedia pemenuhan Anda saat pesanan diberi tag "Gudang" di Order Tagger. Lihat templat

Kirim pesanan baru ke Airtable

Kirim pesanan ke Airtable saat pesanan dibuat. Lihat templat

Kirim semua produk yang ada dan yang baru ke Airtable

Setiap 10 menit, temukan produk yang belum dikirim ke Airtable (berdasarkan tag) dan kirimkan ke Airtable. Lihat templat

Perbarui produk dalam batch dari data produk yang disimpan di Airtable

Perbarui produk dalam batch dari data produk yang disimpan di Airtable. Lihat templat

Beri tahu pelanggan tentang kartu hadiah yang akan kedaluwarsa menggunakan SendGrid

Setiap hari, dapatkan semua kartu hadiah yang akan kedaluwarsa dalam 7 hari dan kirim email ke pelanggan menggunakan SendGrid. Lihat templat

Kirim email menggunakan SendGrid saat pelanggan memesan item kustom

Kirim email transaksional menggunakan SendGrid saat pelanggan memesan item kustom. Lihat templat