Hantar permintaan HTTP

Tindakan Hantar permintaan HTTP menyambungkan aliran kerja anda ke pelayan web atau URL dan menghantar permintaan HTTP.

Selepas Flow menghantar permintaan HTTP anda, Flow menunggu maksimum 30 saat untuk mendapatkan kod respons HTTP. Jika Flow masih belum menerima respons selepas 30 saat, sambungan ke aplikasi anda akan ditutup. Kemudian, Flow akan mencuba semula permintaan itu.

Medan

Tindakan Hantar permintaan HTTP mengandungi medan berikut.

Medan yang digunakan dalam tindakan Hantar permintaan HTTP.
MedanPenerangan
Kaedah HTTPKaedah permintaan HTTP yang hendak dihantar. Hantar permintaan HTTP tindakan menyokong kaedah yang berikut:
  • Get - Menghantar permintaan untuk maklumat daripada pelayan.
  • Delete - Mengalih keluar sumber daripada pelayan.
  • Head - Mendapatkan semula pengepala respons HTTP bagi pelayan.
  • Options - Mendapatkan semula pilihan dan ciri yang disokong oleh pelayan.
  • Patch - Mengemaskinikan secara separa sumber pada pelayan.
  • Put - Mengemaskinikan sumber pada pelayan.
  • Post - Mencipta atau menggantikan sumber pada pelayan.
URLURL pelayan tempat permintaan HTTP dihantar.
PengepalaPasangan kunci dan nilai untuk permintaan HTTP. Berbilang pasangan kunci-nilai boleh dimasukkan.
IsiKandungan yang hendak dihantar ke pelayan.
Pada ralat pelanggan (respons 4XX)Apabila menerima kod respons yang menunjukkan ralat pelanggan, Flow akan:
  • Cuba semula - Cuba semula sehingga 24 jam sehingga menerima kod respons yang berbeza atau mencapai masa tamat.
  • Gagal - Gagalkan jalankan aliran kerja.
  • Abaikan - Abaikan ralat dan teruskan jalankan aliran kerja.
Jika ralat pelayan (respons 5XX atau 429)Apabila menerima kod respons yang menunjukkan ralat pelayan, Flow akan:
  • Cuba semula - Cuba semula sehingga 24 jam sehingga menerima kod respons yang berbeza atau mencapai masa tamat.
  • Gagal - Gagalkan jalankan aliran kerja.
  • Abaikan - Abaikan ralat dan teruskan jalankan aliran kerja.

Data yang dikembalikan

Untuk mengakses data yang dikembalikan dalam langkah-langkah selepas tindakan ini, gunakan pemboleh ubah bernama sendHttpRequest, yang merangkumi semua butiran respons HTTP. Secara pilihan, gunakan tindakan Jalankan kod untuk menghurai body respons agar boleh digunakan dalam langkah aliran kerja seterusnya, seperti dalam contoh di bawah.

Jika tindakan Hantar permintaan HTTP digunakan beberapa kali dalam satu aliran kerja, nombor akan ditambahkan pada nama pemboleh ubah. Sebagai contoh, dalam aliran kerja yang menggunakan tindakan Hantar permintaan HTTP sebanyak dua kali, pemboleh ubah pertama untuk data yang dikembalikan ialah sendHttpRequest dan pemboleh ubah kedua ialah sendHttpRequest1. Nama ini tidak boleh disesuaikan.

Kod respons

Jadual berikut menerangkan cara Flow memproses kod respons HTTP selepas ia menerima respons.

Cara Flow memproses kod respons HTTP.
Kod respons HTTPCara Flow memproses kod respons
2XX atau 3XX BerjayaFlow menanda permintaan HTTP sebagai berjaya dan melaksanakan tindakan seterusnya dalam aliran kerja.
Ralat 4XX,
Ralat 5XX dan 429
Bergantung pada cara tindakan dikonfigurasikan, Flow akan:
  • Cuba semula - Cuba semula sehingga 24 jam sehingga menerima kod respons yang berbeza atau mencapai masa tamat.
  • Gagal - Gagalkan jalankan aliran kerja.
  • Abaikan - Abaikan ralat dan teruskan jalankan aliran kerja.
Kod respons lainJika respons mengembalikan kod yang tidak diterangkan dalam jadual ini atau ia tamat masa semasa mencuba semula tindakan, Flow akan menanda permintaan HTTP sebagai gagal, menggagalkan jalankan aliran kerja dan tidak mengambil tindakan aliran kerja yang seterusnya.

Rahsia

Rahsia digunakan untuk menyimpan maklumat sensitif secara selamat bagi penggunaan dalam tindakan Hantar permintaan HTTP, seperti token akses atau kata laluan. Rahsia dicipta dan diurus daripada halaman Flow > Tetapan. Rahsia mengandungi nama, nilai dan perihalan. Rujuk rahsia sebagai pemboleh ubah Liquid (seperti {{secrets.handle}}) atau daripada pilihan Tambah rahsia apabila mengkonfigurasikan medan URL, nilai Pengepala atau Badan. Nilai rahsia tidak akan kelihatan dalam antara muka Flow dan dipadamkan daripada log jalankan aliran kerja.

Pencetus

Tindakan Hantar permintaan HTTP boleh digunakan dalam sebarang aliran kerja.

Contoh

Contoh 1: Hantar permintaan HTTP ke perkhidmatan luaran

Dalam contoh ini, gunakan Flow untuk menghantar permintaan HTTP kepada perkhidmatan luaran.

Sebelum anda bermula, konfigurasikan perkhidmatan web yang menerima permintaan HTTP dan menyimpan data permintaan tersebut untuk ujian, seperti Request Catcher. Sila berhati-hati apabila menghantar data sensitif (seperti kata laluan atau kunci API) ke perkhidmatan pihak ketiga.

Langkah-langkah:

  1. Pilih pencetus Status produk dikemas kini, yang membolehkan anda menguji aliran kerja ini dengan menukar status pada produk.
  2. Tambahkan tindakan Hantar Permintaan HTTP pada aliran kerja anda dan sambungkannya pada pencetus. Kemudian, buka panel konfigurasi dengan mengklik langkah Hantar Permintaan HTTP .
    • Dalam medan Kaedah HTTP, masukkan POST.
    • Dalam medan URL, masukkan URL untuk diuji, seperti https://yourFlowTest.requestcatcher.com/test.
    • Dalam bahagian Pengepala, masukkan pengepala dengan Kunci Content-Type dan Nilai text/plain.
    • Dalam bahagian Badan, masukkan {{product.title}} dan {{product.status}} untuk menghantar tajuk dan status produk yang dikemas kini daripada pencetus.
  3. Aktifkan aliran kerja.
  4. Uji aliran kerja dengan menukar status pada Produk, seperti daripada Draf kepada Aktif.
  5. Perhatikan keputusan dalam perkhidmatan ujian luaran, seperti https://yourFlowTest.requestcatcher.com/ dalam contoh ini.

Contoh 2: Gunakan Jalankan kod untuk menghurai respons HTTP

Dalam contoh ini, gunakan Flow untuk menghantar permintaan HTTP ke perkhidmatan luaran dan tindakan Jalankan kod untuk menghurai body respons HTTP untuk digunakan dalam langkah aliran kerja seterusnya.

Sebelum anda bermula, pilih perkhidmatan web yang menerima permintaan HTTP dan mengembalikan data, seperti Postman Echo. Sila berhati-hati apabila menghantar data sensitif (seperti kata laluan atau kunci API) ke perkhidmatan pihak ketiga.

Langkah-langkah:

  1. Pilih pencetus Status produk dikemas kini, yang membolehkan anda menguji aliran kerja ini dengan menukar status pada produk.

  2. Tambahkan tindakan Hantar Permintaan HTTP pada aliran kerja anda dan sambungkannya pada pencetus. Kemudian, buka panel konfigurasi dengan mengklik langkah Hantar Permintaan HTTP.

    • Dalam medan Kaedah HTTP, masukkan POST.

    • Dalam medan URL, masukkan URL untuk diuji, seperti https://postman-echo.com/post.

    • Dalam bahagian Pengepala, masukkan pengepala dengan Kunci Content-Type dan Nilai application/json.

    • Dalam bahagian Badan, masukkan contoh JSON untuk dikembalikan ke aliran kerja, seperti:

      {
          "productTitle": "{{product.title}}",
          "productStatus": "{{product.status}}"
      }
  3. Tambahkan tindakan Jalankan kod pada aliran kerja anda dan sambungkannya pada tindakan Hantar permintaan HTTP. Kemudian, buka panel konfigurasi dengan mengklik langkah Jalankan kod.

    • Dalam medan Takrifkan input, sertakan body yang dikembalikan oleh objek sendHTTPrequest, seperti:

      query{
        sendHttpRequest {
          body
        }
      }
    • Dalam medan Takrifkan output, yang ditakrifkan dalam skema output, seperti:

      type Output {
        productTitle: String!
        productStatus: String!
      }
    • Dalam medan Tulis kod, huraikan respons menggunakan kaedah JSON.parse dan pastikan data yang anda kembalikan sepadan dengan bentuk dan jenis yang ditakrifkan 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 Logkan output pada aliran kerja anda dan sambungkannya pada tindakan Jalankan kod. Kemudian, buka panel konfigurasi dengan mengklik langkah Jalankan kod.

    • Dalam medan Output, sertakan pemboleh ubah yang dikembalikan oleh langkah Jalankan kod, seperti:

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

  6. Uji aliran kerja dengan menukar status pada Produk, seperti daripada Draf kepada Aktif.

  7. Perhatikan hasil jalankan daripada halaman Flow / Jalankan terbaharu dan sahkan bahawa nilai dalam langkah Logkan output sepadan dengan nilai yang dikembalikan daripada output Hantar permintaan HTTP.

Templat

Maklumkan penyedia pemenuhan anda tentang pesanan akan datang

Hantar permintaan HTTP kepada penyedia pemenuhan anda apabila pesanan ditag "Warehouse" dalam Order Tagger. Lihat templat

Hantar pesanan baharu ke Airtable

Hantar pesanan ke Airtable apabila pesanan dicipta. Lihat templat

Hantar semua produk sedia ada dan baharu kepada Airtable

Setiap 10 minit, cari produk yang belum dihantar kepada Airtable (mengikut tag) dan hantarnya kepada Airtable. Lihat templat

Kemaskinikan produk dalam kelompok daripada data produk yang disimpan dalam Airtable

Kemaskinikan produk dalam kelompok daripada data produk yang disimpan dalam Airtable. Lihat templat

Maklumkan pelanggan tentang kad hadiah yang hampir luput menggunakan SendGrid

Setiap hari, dapatkan semua kad hadiah yang akan luput dalam masa 7 hari dan hantar e-mel kepada pelanggan menggunakan SendGrid. Lihat templat

Hantar e-mel menggunakan SendGrid apabila pelanggan membuat pesanan untuk item tersuai

Hantar e-mel transaksi menggunakan SendGrid apabila pelanggan membuat pesanan untuk item tersuai. Lihat templat