ส่งคำขอ HTTP
การดำเนินการ ส่งคำขอ HTTP จะเชื่อมต่อเวิร์กโฟลว์ของคุณเข้ากับเว็บเซิร์ฟเวอร์หรือ URL และส่งคำขอ HTTP
หลังจากที่ Flow ส่งคำขอ HTTP ของคุณแล้ว ระบบจะรอรหัสการตอบกลับของ HTTP เป็นเวลาสูงสุด 30 วินาที หาก Flow ไม่ได้รับการตอบกลับหลังจากผ่านไป 30 วินาที ระบบจะปิดการเชื่อมต่อกับแอปของคุณ จากนั้นจะลองส่งคำขอใหม่อีกครั้งในภายหลัง
ฟิลด์
การดำเนินการ ส่งคำขอ HTTP ประกอบด้วยฟิลด์ต่อไปนี้
| ฟิลด์ | คำอธิบาย |
|---|---|
| เมธอด HTTP | เมธอดของคำขอ HTTP ที่จะส่ง ส่งคำขอ HTTP การดำเนินการนี้รองรับเมธอดต่อไปนี้
|
| URL | URL ของเซิร์ฟเวอร์ที่จะส่งคำขอ HTTP ไป |
| ส่วนหัว | คู่คีย์และค่าสำหรับคำขอ HTTP สามารถป้อนคู่คีย์-ค่าได้หลายคู่ |
| เนื้อหา | เนื้อหาที่จะส่งไปยังเซิร์ฟเวอร์ |
| เมื่อเกิดข้อผิดพลาดจากไคลเอ็นต์ (การตอบกลับ 4XX) | เมื่อได้รับ รหัสการตอบกลับ ที่ระบุว่าเกิดข้อผิดพลาดจากไคลเอ็นต์ Flow จะดำเนินการดังนี้
|
| เมื่อเกิดข้อผิดพลาดจากเซิร์ฟเวอร์ (การตอบกลับ 5XX หรือ 429) | เมื่อได้รับ รหัสการตอบกลับ ที่ระบุว่าเกิดข้อผิดพลาดจากเซิร์ฟเวอร์ Flow จะดำเนินการดังนี้
|
ข้อมูลที่ส่งคืน
หากต้องการเข้าถึงข้อมูลที่ส่งคืนในขั้นตอนถัดจากการดำเนินการนี้ ให้ใช้ตัวแปรชื่อ sendHttpRequest ซึ่งมีรายละเอียดทั้งหมดของการตอบกลับของ HTTP นอกจากนี้ คุณยังสามารถใช้การดำเนินการเรียกใช้รหัสเพื่อแยกวิเคราะห์ body ของการตอบกลับสำหรับใช้ในขั้นตอนเวิร์กโฟลว์ลำดับถัดไปได้ เช่นในตัวอย่างด้านล่าง
หากมีการใช้การดำเนินการ Send HTTP request หลายครั้งในเวิร์กโฟลว์เดียว ระบบจะเพิ่มตัวเลขลงในชื่อตัวแปร ตัวอย่างเช่น ในเวิร์กโฟลว์ที่ใช้การดำเนินการ Send HTTP request สองครั้ง ตัวแปรแรกสำหรับข้อมูลที่ส่งคืนจะเป็น sendHttpRequest และตัวแปรที่สองจะเป็น sendHttpRequest1 โดยจะไม่สามารถปรับแต่งชื่อนี้ได้
รหัสการตอบกลับ
ตารางต่อไปนี้จะอธิบายวิธีที่ Flow ประมวลผลรหัสการตอบกลับของ HTTP หลังจากที่ได้รับข้อความตอบกลับ
| รหัสการตอบกลับของ HTTP | วิธีที่ Flow ประมวลผลรหัสการตอบกลับ |
|---|---|
| 2XX หรือ 3XX สำเร็จ | Flow จะทำเครื่องหมายว่าคำขอ HTTP สำเร็จและดำเนินการในขั้นตอนถัดไปของเวิร์กโฟลว์ |
| ข้อผิดพลาด 4XX ข้อผิดพลาด 5XX และ 429 | Flow จะดำเนินการตามการกำหนดค่าของการดำเนินการ
|
| รหัสการตอบกลับอื่นๆ | หากการตอบกลับส่งคืนรหัสที่ไม่ได้ระบุไว้ในตารางนี้ หรือหมดเวลาขณะลองดำเนินการอีกครั้ง Flow ก็จะทำเครื่องหมายว่าคำขอ HTTP ล้มเหลว ทำให้การรันเวิร์กโฟลว์ล้มเหลว และจะไม่ดำเนินการในขั้นตอนถัดไปของเวิร์กโฟลว์ |
ข้อมูลลับ
ข้อมูลลับจะใช้เพื่อจัดเก็บข้อมูลที่ละเอียดอ่อนอย่างปลอดภัยสำหรับใช้ในการดำเนินการ Send HTTP request เช่น โทเค็นการเข้าถึงหรือรหัสผ่าน คุณสามารถสร้างและจัดการข้อมูลลับได้จากหน้า Flow > การตั้งค่า ข้อมูลลับจะประกอบด้วยแฮนเดิล ค่า และคำอธิบาย คุณสามารถอ้างอิงข้อมูลลับเป็นตัวแปร Liquid (เช่น {{secrets.handle}}) หรือจากตัวเลือกเพิ่มข้อมูลลับเมื่อกำหนดค่าช่อง URL ค่าส่วนหัว หรือเนื้อหา ค่าของข้อมูลลับจะไม่แสดงในอินเทอร์เฟซ Flow และจะถูกลบออกจากบันทึกการรันเวิร์กโฟลว์
ทริกเกอร์
การดำเนินการ ส่งคำขอ HTTP สามารถใช้ได้ในทุกเวิร์กโฟลว์
ตัวอย่าง
ตัวอย่างที่ 1: ส่งคำขอ HTTP ไปยังบริการภายนอก
ตัวอย่างนี้จะแสดงการใช้ Flow เพื่อส่งคำขอ HTTP ไปยังบริการภายนอก
ก่อนเริ่มต้น โปรดกำหนดค่าเว็บเซอร์วิสที่รับคำขอ HTTP และจัดเก็บข้อมูลของคำขอดังกล่าวไว้เพื่อการทดสอบ เช่น Request Catcher โปรดใช้ความระมัดระวังเมื่อส่งข้อมูลที่ละเอียดอ่อน (เช่น รหัสผ่านหรือคีย์ API) ไปยังบริการของภายนอก
ขั้นตอน:
- เลือกทริกเกอร์ อัปเดตสถานะสินค้าแล้ว ซึ่งช่วยให้คุณสามารถทดสอบเวิร์กโฟลว์นี้ได้โดยเปลี่ยนสถานะบนสินค้า
- เพิ่ม ส่งคำขอ HTTP การดำเนินการไปยังเวิร์กโฟลว์ของคุณและเชื่อมต่อเข้ากับทริกเกอร์ จากนั้นเปิดแผงการกำหนดค่าโดยการคลิก ส่งคำขอ HTTP ขั้นตอน
- ในช่อง HTTP Method ให้ป้อน
POST - ในช่อง URL ให้ป้อน URL ที่จะใช้ทดสอบ เช่น
https://yourFlowTest.requestcatcher.com/test - ในส่วนส่วนหัว ให้ป้อนส่วนหัวที่มีคีย์เป็น
Content-Typeและค่าเป็นtext/plain - ในส่วน Body ให้ป้อน
{{product.title}}และ{{product.status}}เพื่อส่งชื่อและสถานะที่อัปเดตของสินค้าจากทริกเกอร์
- ในช่อง HTTP Method ให้ป้อน
- เปิดใช้งานเวิร์กโฟลว์
- ทดสอบโดยการเปลี่ยนสถานะของสินค้า เช่น จากฉบับร่างเป็นใช้งานอยู่
- สังเกตผลลัพธ์ในบริการทดสอบภายนอก เช่น
https://yourFlowTest.requestcatcher.com/ในตัวอย่างนี้
ตัวอย่างที่ 2: ใช้ “รันโค้ด” เพื่อแยกวิเคราะห์การตอบกลับ HTTP
ในตัวอย่างนี้ ให้ใช้ Flow เพื่อส่งคำขอ HTTP ไปยังบริการภายนอก และใช้การดำเนินการ รันโค้ด เพื่อแยกวิเคราะห์ body ของการตอบกลับ HTTP เพื่อใช้ในขั้นตอนเวิร์กโฟลว์ลำดับถัดไป
ก่อนที่คุณจะเริ่มต้น โปรดเลือกบริการบนเว็บที่รับคำขอ HTTP และส่งคืนข้อมูล เช่น Postman Echo โปรดใช้ความระมัดระวังเมื่อส่งข้อมูลที่ละเอียดอ่อน (เช่น รหัสผ่านหรือคีย์ API) ไปยังบริการภายนอก
ขั้นตอน:
เลือกทริกเกอร์ อัปเดตสถานะสินค้าแล้ว ซึ่งช่วยให้คุณสามารถทดสอบเวิร์กโฟลว์นี้ได้โดยเปลี่ยนสถานะบนสินค้า
เพิ่มการดำเนินการ ส่งคำขอ HTTP ไปยังเวิร์กโฟลว์ของคุณและเชื่อมต่อเข้ากับทริกเกอร์ จากนั้นเปิดแผงการกำหนดค่าโดยการคลิกที่ขั้นตอน ส่งคำขอ HTTP
ในช่อง HTTP Method ให้ป้อน
POSTในช่อง URL ให้ป้อน URL ที่จะใช้ทดสอบ เช่น
https://postman-echo.com/postในส่วนส่วนหัว ให้ป้อนส่วนหัวที่มีคีย์เป็น
Content-Typeและค่าเป็นapplication/jsonในส่วน Body ให้ป้อนตัวอย่าง JSON เพื่อส่งกลับไปยังเวิร์กโฟลว์ เช่น
{ "productTitle": "{{product.title}}", "productStatus": "{{product.status}}" }
เพิ่มการดำเนินการ รันโค้ด ไปยังเวิร์กโฟลว์ของคุณและเชื่อมต่อเข้ากับการดำเนินการ ส่งคำขอ HTTP จากนั้นเปิดแผงการกำหนดค่าโดยการคลิกที่ขั้นตอน รันโค้ด
ในช่อง กำหนดอินพุต ให้ใส่
bodyที่ส่งคืนโดยอ็อบเจกต์sendHTTPrequestเช่นquery{ sendHttpRequest { body } }ในช่อง กำหนดเอาท์พุต ที่กำหนดไว้ในสคีมาเอาท์พุต เช่น
type Output { productTitle: String! productStatus: String! }ในช่อง เขียนโค้ด ให้แยกวิเคราะห์การตอบกลับโดยใช้วิธี
JSON.parseและตรวจสอบให้แน่ใจว่าข้อมูลที่คุณส่งคืนตรงกับรูปทรงและประเภทที่กำหนดไว้ในสคีมาเอาท์พุต เช่น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 } }
เพิ่มการดำเนินการ บันทึกเอาท์พุต ไปยังเวิร์กโฟลว์ของคุณและเชื่อมต่อเข้ากับการดำเนินการ รันโค้ด จากนั้นเปิดแผงการกำหนดค่าโดยการคลิกที่ขั้นตอน รันโค้ด
ในช่อง เอาท์พุต ให้ใส่ตัวแปรที่ส่งคืนจากขั้นตอน รันโค้ด เช่น
Title from HTTP response: {{runCode.productTitle}} Status from HTTP response: {{runCode.productStatus}}
เปิดใช้งานเวิร์กโฟลว์
ทดสอบโดยการเปลี่ยนสถานะของสินค้า เช่น จากฉบับร่างเป็นใช้งานอยู่
สังเกตผลการรันจากหน้า Flow / การรันล่าสุด และดูว่าค่าในขั้นตอน บันทึกเอาท์พุต ตรงกับค่าที่ส่งคืนจากเอาท์พุตของ ส่งคำขอ HTTP หรือไม่
เทมเพลต
แจ้งผู้ให้บริการจัดการคำสั่งซื้อของคุณเกี่ยวกับคำสั่งซื้อที่กำลังจะมาถึง
ส่งคำขอ HTTP ไปยังผู้ให้บริการจัดการคำสั่งซื้อของคุณเมื่อคำสั่งซื้อได้รับการแท็ก Warehouse ใน Order Tagger ดูเทมเพลต
ส่งคำสั่งซื้อใหม่ไปยัง Airtable
ส่งคำสั่งซื้อไปยัง Airtable เมื่อมีการสร้างคำสั่งซื้อ ดูเทมเพลต
ส่งสินค้าที่มีอยู่ทั้งหมดและสินค้าใหม่ไปยัง Airtable
ค้นหาสินค้าที่ยังไม่ได้ส่งไปยัง Airtable (ตามแท็ก) ทุกๆ 10 นาที และส่งสินค้าเหล่านั้นไปยัง Airtable ดูเทมเพลต
อัปเดตสินค้าเป็นชุดจากข้อมูลสินค้าที่จัดเก็บไว้ใน Airtable
อัปเดตสินค้าเป็นชุดจากข้อมูลสินค้าที่จัดเก็บไว้ใน Airtable ดูเทมเพลต
แจ้งเตือนลูกค้าเกี่ยวกับบัตรของขวัญที่ใกล้หมดอายุโดยใช้ SendGrid
ในทุกๆ วัน ให้ดึงข้อมูลบัตรของขวัญทั้งหมดที่จะหมดอายุใน 7 วันและส่งอีเมลให้ลูกค้าโดยใช้ SendGrid ดูเทมเพลต
ส่งอีเมลโดยใช้ SendGrid เมื่อลูกค้าสั่งซื้อสินค้าแบบกำหนดเอง
ส่งอีเมลธุรกรรมโดยใช้ SendGrid เมื่อลูกค้าสั่งซื้อสินค้าแบบกำหนดเอง ดูเทมเพลต