ส่งคำขอ Admin API
การดำเนินการส่งคำขอ Admin APIสามารถใช้การเปลี่ยนแปลงส่วนใหญ่ใน GraphQL Admin API เพื่อเปลี่ยนแปลงร้านค้าของคุณ รวมถึงการเปลี่ยนแปลงที่ยังไม่มีให้ใช้เป็นการดำเนินการใน Flow
ช่อง
การดำเนินการส่งคำขอ 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 โดยเรียกใช้หนึ่งครั้งต่อหนึ่งคำสั่งซื้อใหม่ของตำแหน่งที่ตั้งในการจัดการคำสั่งซื้อ ('คำสั่งซื้อที่รอการจัดการ') แต่ละแห่ง ดูเทมเพลต