שליחת בקשת HTTP

הפעולה שליחת בקשת HTTP מחברת את זרימת העבודה שלך לשרת אינטרנט או לכתובת URL ושולחת בקשות HTTP.

לאחר ש-Flow שולח את בקשת ה-HTTP שלך, הוא ממתין לכל היותר 30 שניות לקוד תגובה של HTTP. אם Flow לא קיבל תגובה לאחר 30 שניות, הוא סוגר את החיבור לאפליקציה שלך. לאחר מכן, הוא מנסה לשלוח את הבקשה שוב.

שדות

הפעולה שליחת בקשת HTTP כוללת את השדות הבאים.

שדות שנמצאים בשימוש בפעולה 'שליחת בקשת HTTP'.
שדהתיאור
שיטת HTTPשיטת בקשת ה-HTTP שיש לשלוח. הפעולה שליחת בקשת HTTP תומכת בשיטות הבאות:
  • Get - שולחת בקשה לקבלת מידע מהשרת.
  • Delete - מסירה משאב מהשרת.
  • Head - מאחזרת את כותרות תגובת ה-HTTP של השרת.
  • Options - מאחזרת את האפשרויות והתכונות שהשרת תומך בהן.
  • Patch - מעדכנת באופן חלקי משאב בשרת.
  • Put - מעדכנת משאב בשרת.
  • Post - יוצרת או מחליפה משאב בשרת.
כתובת URLכתובת ה-URL של השרת שאליו נשלחת בקשת ה-HTTP.
כותרותצמדי מפתח-ערך עבור בקשת ה-HTTP. ניתן להזין מספר צמדים של מפתח וערך.
גוףהתוכן שיישלח לשרת.
בשגיאת לקוח (תגובת 4XX)בעת קבלת קוד תגובה המציין שגיאת לקוח, Flow תבצע את הפעולות הבאות:
  • ניסיון חוזר - תנסה שוב במשך עד 24 שעות עד לקבלת קוד תגובה אחר או עד פקיעת הזמן הקצוב (timeout).
  • כישלון - תכשיל את ריצת זרימת העבודה.
  • התעלמות - תתעלם מהשגיאה ותמשיך בריצת זרימת העבודה.
בשגיאת שרת (תגובת 5XX או 429)בעת קבלת קוד תגובה המציין שגיאת שרת, Flow תבצע את הפעולות הבאות:
  • ניסיון חוזר - תנסה שוב במשך עד 24 שעות עד לקבלת קוד תגובה אחר או עד פקיעת הזמן הקצוב (timeout).
  • כישלון - תכשיל את ריצת זרימת העבודה.
  • התעלמות - תתעלם מהשגיאה ותמשיך בריצת זרימת העבודה.

נתונים שהוחזרו

כדי לגשת לנתונים שהוחזרו בשלבים שאחרי פעולה זו, יש להשתמש במשתנה שנקרא sendHttpRequest, הכולל את כל הפרטים של תגובת ה-HTTP. לחלופין, ניתן להשתמש בפעולה Run code כדי לנתח את ה-body (גוף) של התגובה לשימוש בשלבים הבאים של זרימת העבודה, כמו בדוגמה שבהמשך.

אם משתמשים בפעולה Send HTTP request כמה פעמים באותה זרימת עבודה, יתווסף מספר לשם המשתנה. לדוגמה, בזרימת עבודה שמשתמשת בפעולה Send HTTP request פעמיים, המשתנה הראשון של הנתונים שהוחזרו יהיה sendHttpRequest והמשתנה השני יהיה sendHttpRequest1. אי אפשר להתאים אישית את השם הזה.

קודי תגובה

הטבלה הבאה מתארת כיצד Flow מעבדת את קוד תגובת ה-HTTP לאחר קבלת התגובה.

כיצד Flow מעבדת קודי תגובה של HTTP.
קוד תגובת HTTPכיצד Flow מעבדת את קוד התגובה
2XX או 3XX - הצלחהFlow מסמנת את בקשת ה-HTTP כהצלחה ומבצעת את הפעולות הבאות בזרימת העבודה.
שגיאות 4XX,
ושגיאות 5XX ו-429
בהתאם לאופן שבו הפעולה הוגדרה, Flow תבצע את הפעולות הבאות:
  • ניסיון חוזר - תנסה שוב במשך עד 24 שעות עד לקבלת קוד תגובה אחר או עד פקיעת הזמן הקצוב (timeout).
  • כישלון - תכשיל את ריצת זרימת העבודה.
  • התעלמות - תתעלם מהשגיאה ותמשיך בריצת זרימת העבודה.
קוד תגובה אחראם התגובה מחזירה קוד שלא מתואר בטבלה זו, או שהזמן הקצוב שלה פג בעת ניסיון חוזר של פעולות, Flow תסמן את בקשת ה-HTTP כנכשלת, תכשיל את ריצת זרימת העבודה ולא תבצע את פעולות ההמשך של זרימת העבודה.

סודות

סודות משמשים לאחסון מאובטח של מידע רגיש לשימוש בפעולה Send HTTP request, כגון אסימוני גישה או סיסמאות. יוצרים ומנהלים סודות מתוך הדף Flow >‏ הגדרות. סוד מכיל מזהה ייחודי, ערך ותיאור. ניתן להפנות אל הסוד כמשתנה Liquid (למשל {{secrets.handle}}) או מהאפשרות Add secret (הוספת סוד) בעת הגדרת השדות URL, ערך הכותרת או גוף הבקשה. הערכים של הסודות לעולם אינם מוצגים בממשק של Flow, והם מצונזרים מיומני הריצה של זרימת העבודה.

טריגרים

ניתן להשתמש בפעולה Send HTTP request בכל זרימת עבודה.

דוגמאות

דוגמה 1: שליחת בקשת HTTP לשירות חיצוני

בדוגמה זו, נשתמש ב-Flow כדי לשלוח בקשת HTTP לשירות חיצוני.

לפני שמתחילים, יש להגדיר שירות אינטרנט שמקבל בקשות HTTP ומאחסן את הנתונים של בקשות אלו למטרות בדיקה, כמו Request Catcher. יש לזכור לנקוט משנה זהירות בעת שליחת מידע רגיש (כמו סיסמאות או מפתחות API) לשירות של צד שלישי.

שלבים:

  1. יש לבחור את הטריגר Product status updated, המאפשר לבדוק את זרימת העבודה הזו על-ידי שינוי הסטטוס של מוצר.
  2. יש להוסיף פעולת Send HTTP Request לזרימת העבודה שלך ולחבר אותה לטריגר. לאחר מכן, יש לפתוח את חלונית ההגדרות על ידי לחיצה על השלב Send HTTP Request .
    • בשדה HTTP Method, יש להזין POST.
    • בשדה URL, יש להזין את כתובת ה-URL לבדיקה, כגון https://yourFlowTest.requestcatcher.com/test.
    • בסעיף Headers, יש להזין כותרת עם Key של Content-Type ו-Value של text/plain.
    • בסעיף Body, יש להזין {{product.title}} ו-{{product.status}} כדי לשלוח את הכותרת ואת הסטטוס המעודכן של המוצר מהטריגר.
  3. יש להפעיל את זרימת העבודה.
  4. יש לבדוק זאת על-ידי שינוי הסטטוס של מוצר, למשל מ-Draft ל-Active.
  5. יש לבדוק את התוצאות בשירות הבדיקה החיצוני, כגון https://yourFlowTest.requestcatcher.com/ בדוגמה זו.

דוגמה 2: שימוש ב-Run code כדי לנתח תגובת HTTP

בדוגמה זו, נשתמש ב-Flow לשליחת בקשת HTTP לשירות חיצוני, ובפעולה Run code כדי לנתח את ה-body (גוף) של תגובת ה-HTTP לשימוש בשלבים הבאים של זרימת העבודה.

לפני תחילת העבודה, יש לבחור שירות אינטרנט המקבל בקשות HTTP ומחזיר נתונים, כגון Postman Echo. חשוב לנקוט משנה זהירות בעת שליחת נתונים רגישים (כגון סיסמאות או מפתחות API) לשירות של צד שלישי.

שלבים:

  1. יש לבחור את הטריגר Product status updated, המאפשר לבדוק את זרימת העבודה הזו על-ידי שינוי הסטטוס של מוצר.

  2. יש להוסיף פעולת שליחת בקשת HTTP (Send HTTP Request) לזרימת העבודה ולחבר אותה לטריגר. לאחר מכן, יש לפתוח את חלונית ההגדרות על-ידי לחיצה על השלב שליחת בקשת HTTP.

    • בשדה HTTP Method, יש להזין POST.

    • בשדה URL, יש להזין את כתובת ה-URL לבדיקה, כגון https://postman-echo.com/post.

    • במקטע כותרות (Headers), יש להזין כותרת שבה ה-מפתח (Key) הוא Content-Type וה-ערך (Value) הוא application/json.

    • במקטע גוף (Body), יש להזין את ה-JSON לדוגמה שיוחזר לזרימת העבודה, כגון:

      {
          "productTitle": "{{product.title}}",
          "productStatus": "{{product.status}}"
      }
  3. יש להוסיף את הפעולה הפעלת קוד לזרימת העבודה ולחבר אותה לפעולה שליחת בקשת 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
        }
      }
  4. יש להוסיף את הפעולה רישום פלט ביומן (Log output) לזרימת העבודה ולחבר אותה לפעולה הפעלת קוד. לאחר מכן, יש לפתוח את חלונית ההגדרות על-ידי לחיצה על השלב הפעלת קוד.

    • בשדה פלט, יש לכלול את המשתנים המוחזרים על-ידי השלב הפעלת קוד, כגון:

      Title from HTTP response: {{runCode.productTitle}}
      Status from HTTP response: {{runCode.productStatus}}
  5. יש להפעיל את זרימת העבודה.

  6. יש לבדוק זאת על-ידי שינוי הסטטוס של מוצר, למשל מ-Draft ל-Active.

  7. יש לבחון את הריצה שהתקבלה בדף Flow / ריצות אחרונות, ולשים לב שהערכים בשלב רישום פלט ביומן תואמים לערכים שחזרו מהפלט של השלב שליחת בקשת HTTP.

תבניות

הודעה לספק מילוי ההזמנות על הזמנות עתידיות

שליחת בקשת HTTP לספק מילוי ההזמנות כאשר הזמנות מתויגות כ-"Warehouse" ב-Order Tagger. הצגת התבנית

שליחת הזמנות חדשות אל Airtable

שליחת הזמנות אל Airtable בעת יצירת הזמנה. הצגת התבנית

שליחת כל המוצרים הקיימים והחדשים אל Airtable

חיפוש מוצרים שלא נשלחו אל Airtable (לפי תג) בכל 10 דקות, ושליחתם אל Airtable. הצגת התבנית

עדכון מוצרים באצוות מתוך נתוני מוצרים המאוחסנים ב-Airtable

עדכון מוצרים באצוות מתוך נתוני מוצרים המאוחסנים ב-Airtable. הצגת התבנית

הודעה ללקוחות על כרטיסי מתנה שעומדים לפוג באמצעות SendGrid

קבלת כל כרטיסי המתנה שעומדים לפוג בעוד 7 ימים מדי יום, ושליחת דוא"ל ללקוחות באמצעות SendGrid. הצגת התבנית

שליחת דוא"ל באמצעות SendGrid כאשר לקוחות מבצעים הזמנה לפריט מותאם אישית

שליחת דוא"ל תפעולי באמצעות SendGrid כאשר לקוח מבצע הזמנה לפריט מותאם אישית. הצגת התבנית