שליחת בקשת Admin API

הפעולה שליחת בקשת Admin API יכולה להשתמש ברוב המוטציות ב-GraphQL Admin API כדי לבצע שינויים בחנות שלך, כולל מוטציות שעדיין לא זמינות כפעולות ב-Flow.

שדות

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

שדות שנמצאים בשימוש בפעולה 'שליחת בקשת Admin API'.
שדהתיאור
מוטציהחובה. המוטציה של ה-GraphQL Admin של Shopify שברצונך לקרוא לה. מוטציה היא ממשק API שמבצע פעולה או מעדכן נתונים.
קלטי מוטציהחובה. הנתונים (ב-JSON) שיש לשלוח כחלק מבקשת המוטציה שלך. כל מוטציה דורשת קבוצת נתונים שונה, שמתועדת בקישור המסופק עבור כל מוטציה. כדי לבנות את קובץ ה-JSON הדרוש, ניתן להשתמש ב-Liquid או בפעולת Run code.

טריגרים

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

דוגמאות

דוגמה 1: עדכון התבנית המשמשת עבור מוצר

בדוגמה זו, נשתמש בפעולה שליחת בקשת Admin API כדי לקרוא למוטציה productUpdate לצורך עדכון התבנית המשמשת עבור מוצר.

השדה id הוא חובה וחייב להיות GID תקין של מוצר. כאן, נגדיר אותו עם משתנה ה-Liquid‏ {{product.id}}. הדבר מניח שלזרימת העבודה שלך יש טריגר שמספק אובייקט של מוצר.

templateSuffix הוא שם התבנית שברצונך להחיל על המוצר. לדוגמה, אם ברצונך להחיל את התבנית pre-order, עליך להגדיר את הערך של templateSuffix ל-pre-order.

{
  "input": {
    "templateSuffix": "pre-order",
    "id": "{{product.id}}"
  }
}

דוגמה 2: עדכון סטטוס פטור ממס של לקוח

בדוגמה זו, נשתמש בפעולה שליחת בקשת Admin API כדי לקרוא למוטציה customerUpdate לצורך עדכון סטטוס הפטור ממס של לקוח.

השדה id הוא חובה וחייב להיות GID תקין של לקוח. כאן, אנו מגדירים אותו עם משתנה ה-Liquid‏ {{order.customer.id}}. הדבר מניח שלזרימת העבודה שלך יש טריגר שמספק אובייקט של הזמנה.

השדה taxExempt הוא ערך בוליאני שמציין אם הלקוח פטור ממס. בדוגמה זו, אנו נגדיר אותו כ-true.

{
  "input": {
    "id": "{{order.customer.id}}",
    "taxExempt": true
  }
}

דוגמה 3: עדכון ההגדרות האזוריות של לקוח

בדוגמה זו, נשתמש בפעולה שליחת בקשת Admin API כדי לקרוא למוטציה customerUpdate לצורך עדכון ההגדרות האזוריות של לקוח.

השדה id הוא חובה וחייב להיות GID תקין של לקוח. כאן, אנו מגדירים אותו עם משתנה ה-Liquid‏ {{customer.id}}. הדבר מניח שלזרימת העבודה שלך יש טריגר שמספק אובייקט של לקוח.

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

{
  "input": {
    "id": "{{customer.id}}",
    "locale": "en"
  }
}

טיפים ל-Liquid

Flow תומך במסנן Liquid מסוג json שעשוי להיות שימושי בבניית הקלט. כל הדוגמאות הבאות משתמשות במוטציה customerUpdate ומניחות שלזרימת העבודה שלך יש טריגר שמספק אובייקט של לקוח.

עבודה עם מחרוזות

הדוגמה הבאה מעדכנת הערה של לקוח:

{% assign revisedNote = customer.note | append: " Hello from Flow!" %}

{
  "input": {
    "id": "{{ customer.id }}",
    "note": {{ revisedNote | json }},
  }
}

המסנן json מוסיף תווי מילוט (escape) למחרוזת כדי להבטיח JSON תקין. כתוצאה מכך נוצר ה-JSON הבא לאחר שזרימת העבודה מופעלת:

{
  "input": {
    "id": "gid://shopify/Customer/1234",
    "note": "Had a \"great experience\" with their latest order. Hello from Flow!",
  }
}

עבודה עם מערכים

דוגמת מערך

המסנן json הופך מערך Liquid למערך JSON. הדוגמה הבאה מפיקה מערך JSON כאשר היא מקבלת מערך Liquid:

{% assign tags = "tag1,tag2,tag3" | split: "," %}

{
  "input": {
    "id": "{{ customer.id }}",
    "tags": {{ tags | json }}
  }
}

כתוצאה מכך נוצר ה-JSON הבא לאחר שזרימת העבודה מופעלת:

{
  "input": {
    "id": "gid://shopify/Customer/1234",
    "tags": ["tag1","tag2","tag3"]
  }
}

דוגמה ללולאת for

הדוגמה הבאה משתמשת בלולאה כדי להפיק את האיברים של מערך, מופרדים בפסיקים:

{% assign tags = "tag1,tag2,tag3" | split: "," %}

{
  "input": {
    "id": "{{ customer.id }}",
    "tags": [
      {% for tag in tags %}
        "{{ tag }}"{% unless forloop.last %},{% endunless %}
      {% endfor %}
    ]
  }
}

כתוצאה מכך נוצר ה-JSON הבא כאשר זרימת העבודה מופעלת:

{
  "input": {
    "id": "gid://shopify/Customer/1234",
    "tags": [
        "tag1",
        "tag2",
        "tag3"
    ]
  }
}

דוגמה ל-Map

ניתן להשתמש במסנן map כדי לקבל מערך של מאפיין ספציפי מתוך מערך של אובייקטים. בדוגמה הבאה, מערך של מאפייני city מחולץ מתוך מערך של כתובות לקוח:

{
  "input": {
    "id": "{{ customer.id }}",
    "tags": {{ customer.addresses | map: "city" | json }}
  }
}

כתוצאה מכך נוצר ה-JSON הבא לאחר שזרימת העבודה מופעלת:

{
  "input": {
    "id": "gid://shopify/Customer/1234",
    "tags": ["Ottawa","Toronto"]
  }
}

מגבלות

לפעולה Send Admin API request יש את המגבלות הבאות:

  • הפעולה תציג רשימה של Mutations ו-Mutation inputs מתוך גרסת ה-Admin API שבה Flow משתמש.
  • כאשר גרסאות API חדשות משוחררות, פעולה זו עשויה להיכשל אם היא משתמשת במוטציה או בשדה ששונו או שהוצאו משימוש.
  • הפעולה אינה תומכת בשאילתות GraphQL, אלא רק במוטציות.
  • הפעולה אינה תומכת במוטציות שהוצאו משימוש.
  • הפעולה אינה תומכת בחלק מהמוטציות הספציפיות לאפליקציות מסוימות, כולל חלק מהמוטציות של מינויים, פעילויות שיווק והנחות.
  • הפעולה אינה תומכת במוטציות אסינכרוניות או במוטציות שמחזירות סוג Job.
  • הפעולה אינה תומכת במוטציות שאינן מיישמות את ממשק Node.

תבניות

הוספת פריט בחינם (100% הנחה) להזמנות חדשות

תבנית זו מוסיפה פריט בחינם ובהנחה להזמנות חדשות אם הפריט נמצא במלאי. היא בודקת את המלאי, מחילה 100% הנחה ומעדכנת את ההזמנה מבלי להודיע ללקוח. אוטומציה זו יכולה להיות שימושית כדי (1) לשפר את שביעות רצון הלקוחות על ידי שילוב פריט הפתעה בחינם בהזמנה שלהם, (2) לקדם מוצרים חדשים או מוכרים פחות על ידי הוספתם כדוגמיות חינם בהזמנות, או (3) לייעל מבצעים על ידי אוטומציה של הוספה ומתן הנחה על פריטים בחינם. צפייה בתבנית

אפשור הזמנות לחברות שנוצרו דרך בקשות לחשבון חברה

הקצאת הרשאת הזמנה כאשר חברה נוצרת דרך בקשה לחשבון חברה. צפייה בתבנית

שינוי תבנית מוצר כאשר גרסאות אזלו מהמלאי או חזרו למלאי

עדכון תבנית מוצר על סמך המלאי של גרסאות המוצר. זרימת העבודה מאפשרת לך לעבור בין תבניות עבור במלאי (תבנית ברירת המחדל של החנות), אזל מהמלאי, וכאשר גרסה אחת או יותר אזלה מהמלאי. צפייה בתבנית

מילוי של כל הפריטים הדיגיטליים בהזמנה

מבצעת מילוי של כל הפריטים שאינם דורשים מסירה פיזית, כגון פריטים דיגיטליים, או שתואמים לרשימה של מק"טים. רץ פעם אחת עבור כל מיקום מילוי ('fulfillment order') להזמנה חדשה. צפייה בתבנית