ส่งคำขอ 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 รองรับตัวกรอง json ของ Liquid ซึ่งมีประโยชน์ในการสร้างข้อมูลอินพุต ตัวอย่างต่อไปนี้ทั้งหมดจะใช้คำสั่งเปลี่ยนแปลงข้อมูล 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
ตัวอย่างต่อไปนี้ใช้ 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 - การดำเนินการไม่รองรับคำสั่งเปลี่ยนแปลงข้อมูลที่ไม่ได้ใช้อินเทอร์เฟซ Node
เทมเพลต
เพิ่มรายการฟรี (ส่วนลด 100%) ไปยังคำสั่งซื้อใหม่
เทมเพลตนี้จะเพิ่มรายการลดราคาให้ฟรีไปยังคำสั่งซื้อใหม่หากมีสินค้าในสต็อก โดยจะตรวจสอบสินค้าคงคลัง ใช้ส่วนลด 100% และอัปเดตคำสั่งซื้อโดยไม่แจ้งเตือนลูกค้า การทำงานอัตโนมัตินี้จะเป็นประโยชน์ในกรณีต่อไปนี้ (1) เพื่อเพิ่มความพึงพอใจให้ลูกค้าโดยการเพิ่มรายการฟรีที่ไม่ได้แจ้งล่วงหน้าในคำสั่งซื้อของพวกเขา (2) เพื่อโปรโมตสินค้าใหม่หรือสินค้าที่ไม่เป็นที่รู้จักโดยการเพิ่มเป็นสินค้าตัวอย่างฟรีในคำสั่งซื้อ หรือ (3) เพื่อปรับปรุงโปรโมชันโดยการรวมและลดราคาสินค้าฟรีโดยอัตโนมัติ ดูเทมเพลต
อนุญาตการสั่งซื้อสำหรับบริษัทที่สร้างขึ้นโดยคำขอสร้างบัญชีบริษัท
มอบสิทธิ์อนุญาตในการสั่งซื้อเมื่อมีการสร้างบริษัทจากคำขอสร้างบัญชีบริษัท ดูเทมเพลต
เปลี่ยนเทมเพลตสินค้าเมื่อตัวเลือกสินค้าหมดสต็อกหรือกลับมามีในสต็อก
อัปเดตเทมเพลตสินค้าตามสินค้าคงคลังของตัวเลือกสินค้า เวิร์กโฟลว์นี้จะให้คุณสลับเทมเพลตระหว่างสถานะมีสินค้าในสต็อก (เทมเพลตเริ่มต้นของร้านค้า) สินค้าหมดสต็อก และเมื่อตัวเลือกสินค้าตั้งแต่หนึ่งรายการขึ้นไปหมดสต็อก ดูเทมเพลต
จัดการรายการสินค้าดิจิทัลในคำสั่งซื้อ
จัดการรายการสินค้าที่ไม่จำเป็นต้องมีการจัดส่งจริง เช่น สินค้าดิจิทัล หรือรายการสินค้าที่ตรงกับรายการ SKU เวิร์กโฟลว์นี้จะรันหนึ่งครั้งสำหรับตำแหน่งที่ตั้งที่จัดการคำสั่งซื้อแต่ละแห่ง (คำสั่งซื้อที่ต้องจัดการ) สำหรับคำสั่งซื้อใหม่ ดูเทมเพลต