ส่งคำขอ Admin API

การดำเนินการส่งคำขอ Admin APIสามารถใช้การเปลี่ยนแปลงส่วนใหญ่ใน GraphQL Admin API เพื่อเปลี่ยนแปลงร้านค้าของคุณ รวมถึงการเปลี่ยนแปลงที่ยังไม่มีให้ใช้เป็นการดำเนินการใน Flow

ช่อง

การดำเนินการส่งคำขอ Admin API จะมีช่องข้อมูลดังต่อไปนี้

ช่องที่ใช้ในการดำเนินการส่งคำขอ Admin API
ช่องคำอธิบาย
การเปลี่ยนแปลงต้องระบุ การเปลี่ยน Shopify GraphQL Admin ที่คุณต้องการเรียกใช้ การเปลี่ยนคือ API ที่ดำเนินการหรืออัปเดตข้อมูล
อินพุตการเปลี่ยนต้องระบุ ข้อมูล (ใน JSON) ที่คุณต้องส่งเป็นส่วนหนึ่งของคำขอการเปลี่ยนของคุณ การเปลี่ยนแต่ละครั้งต้องมีชุดข้อมูลที่แตกต่างกันซึ่งบันทึกไว้ในลิงก์สำหรับแต่ละการเปลี่ยน หากต้องการสร้าง JSON ที่จําเป็น คุณสามารถใช้ Liquid หรือดำเนินการรันโค้ดได้

ทริกเกอร์

การส่งคำขอ 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 จะหลีกเลี่ยงสตริงเพื่อให้แน่ใจว่า 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 Loop

ตัวอย่างต่อไปนี้ใช้ลูปเพื่อสร้างองค์ประกอบของอาร์เรย์โดยคั่นด้วยเครื่องหมายจุลภาค

{% 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"]
  }
}

ข้อจํากัด

การส่งคำขอ Admin API มีข้อจํากัดดังต่อไปนี้

  • การดำเนินการจะแสดงรายการของ Mutations และ Mutation inputs จาก Admin API เวอร์ชันที่ Flow ใช้
  • เมื่อมีการเปิดตัว API เวอร์ชันใหม่ การดำเนินการนี้อาจล้มเหลวได้หากใช้การเปลี่ยนแปลงหรือฟิลด์ที่มีการเปลี่ยนแปลงไปหรือเลิกใช้แล้ว
  • การดำเนินการไม่รองรับการค้นหา GraphQL รองรับเพียงการเปลี่ยน
  • การดำเนินการนี้ไม่รองรับการเปลี่ยนแปลงที่เลิกใช้งานแล้ว
  • การดำเนินการนี้ไม่รองรับการเปลี่ยนแปลงที่เฉพาะเจาะจงกับแอปบางรายการ ซึ่งรวมถึงการเปลี่ยนแปลงการสมัครใช้งาน กิจกรรมทางการตลาด และส่วนลด
  • การดำเนินการไม่รองรับการเปลี่ยนแบบอะซิงโครนัสหรือการเปลี่ยนแบบที่ส่งคืนประเภท Job
  • การดําเนินการนี้ไม่รองรับการเปลี่ยนแปลงที่ไม่ได้ใช้งานอินเทอร์เฟสโหนด

เทมเพลต

เพิ่มรายการสินค้าฟรี (ลดราคา 100%) ไปยังคำสั่งซื้อใหม่

เทมเพลตนี้จะเพิ่มรายการสินค้าฟรีและที่มีส่วนลดไปยังคำสั่งซื้อใหม่หากมีสินค้านั้นในสต็อก โดยระบบจะตรวจสอบสินค้าคงคลัง ใช้ส่วนลด 100% และอัปเดตคำสั่งซื้อแบบไม่แจ้งให้ลูกค้าทราบ การดำเนินการอัตโนมัตินี้จะเป็นประโยชน์ในการ (1) เพิ่มความพึงพอใจให้กับลูกค้าด้วยการเพิ่มรายการสินค้าฟรีสุดเซอร์ไพรส์ลงในคำสั่งซื้อ (2) โปรโมตสินค้าใหม่หรือสินค้าที่ไม่ค่อยเป็นที่รู้จักด้วยการเพิ่มเป็นสินค้าตัวอย่างฟรีในคำสั่งซื้อ หรือ (3) เพิ่มประสิทธิภาพให้กับโปรโมชันด้วยการเพิ่มและลดราคาสินค้าฟรีโดยอัตโนมัติ ดูเทมเพลต

อนุญาตคำสั่งซื้อสำหรับบริษัทที่สร้างโดยการร้องขอจากบัญชีผู้ใช้บริษัท

มอบหมายสิทธิ์อนุญาตการสั่งซื้อเมื่อสร้างบริษัทขึ้นโดยการร้องขอจากบัญชีผู้ใช้บริษัท ดูเทมเพลต

เปลี่ยนเทมเพลตสินค้าเมื่อตัวเลือกสินค้าหมดสต็อกหรือกลับเข้าสต็อก

อัปเดตเทมเพลตสินค้าโดยอิงจากสินค้าคงคลังของตัวเลือกสินค้านั้น ขั้นตอนการทำงานจะช่วยให้คุณสามารถสลับไปมาระหว่างเทมเพลตต่างๆ สำหรับสินค้าในสต็อก (เทมเพลตเริ่มต้นของร้านค้า) สินค้าที่หมดสต็อก และเมื่อตัวเลือกสินค้าหมดสต็อก 1 รายการขึ้นไป ดูเทมเพลต

จัดการรายการสินค้าดิจิทัลในคำสั่งซื้อ

จัดการรายการสินค้าที่ไม่ต้องมีการจัดส่งจริง เช่น สินค้าดิจิทัล หรือสินค้าที่ตรงกับรายการ SKU โดยเรียกใช้หนึ่งครั้งต่อหนึ่งคำสั่งซื้อใหม่ของตำแหน่งที่ตั้งในการจัดการคำสั่งซื้อ ('คำสั่งซื้อที่รอการจัดการ') แต่ละแห่ง ดูเทมเพลต

ไม่พบคำตอบที่คุณต้องการงั้นหรือ เราพร้อมช่วยเหลือคุณ