Hantar permintaan Admin API
Tindakan Hantar permintaan Admin API boleh menggunakan kebanyakan mutasi dalam GraphQL Admin API untuk membuat perubahan pada kedai anda, termasuk mutasi yang belum tersedia sebagai tindakan dalam Flow.
Pada halaman ini
Medan
Tindakan Hantar permintaan Admin API mengandungi medan yang berikut.
| Medan | Penerangan |
|---|---|
| Mutasi | Diperlukan. Mutasi GraphQL Admin Shopify yang ingin anda panggil. Mutasi ialah API yang mengambil tindakan atau mengemas kini data. |
| Input mutasi | Diperlukan. Data (dalam JSON) yang perlu anda hantar sebagai sebahagian daripada permintaan mutasi anda. Setiap mutasi memerlukan set data yang berbeza, yang didokumenkan dalam pautan yang disediakan untuk setiap mutasi. Untuk membina JSON yang diperlukan, anda boleh menggunakan Liquid atau tindakan Jalankan kod. |
Pencetus
Tindakan Hantar permintaan Admin API boleh digunakan dalam sebarang aliran kerja, dengan sebarang pencetus, asalkan aliran kerja menyediakan data yang diperlukan untuk membina input mutasi.
Contoh
Contoh 1: Kemas kini templat yang digunakan untuk produk
Dalam contoh ini, kita akan menggunakan tindakan Hantar permintaan Admin API untuk memanggil mutasi productUpdate bagi mengemas kini templat yang digunakan untuk produk.
Medan id diperlukan dan mestilah GID produk yang sah. Di sini, kita tetapkannya dengan pemboleh ubah Liquid {{product.id}}. Ini mengandaikan bahawa aliran kerja anda mempunyai pencetus yang menyediakan objek produk.
templateSuffix ialah nama templat yang ingin anda gunakan pada produk. Sebagai contoh, jika anda ingin menggunakan templat pre-order, anda akan menetapkan templateSuffix kepada pre-order.
{
"input": {
"templateSuffix": "pre-order",
"id": "{{product.id}}"
}
}Contoh 2: Kemas kini status pengecualian cukai pelanggan
Dalam contoh ini, kita akan menggunakan tindakan Hantar permintaan Admin API untuk memanggil mutasi customerUpdate bagi mengemas kini status pengecualian cukai pelanggan.
Medan id diperlukan dan mestilah GID pelanggan yang sah. Di sini, kita tetapkannya dengan pemboleh ubah Liquid {{order.customer.id}}. Ini mengandaikan bahawa aliran kerja anda mempunyai pencetus yang menyediakan objek pesanan.
Medan taxExempt ialah boolean yang menunjukkan sama ada pelanggan dikecualikan cukai. Dalam contoh ini, kita tetapkannya kepada true.
{
"input": {
"id": "{{order.customer.id}}",
"taxExempt": true
}
}Contoh 3: Kemas kini penempatan pelanggan
Dalam contoh ini, kita akan menggunakan tindakan Hantar permintaan Admin API untuk memanggil mutasi customerUpdate bagi mengemas kini penempatan pelanggan.
Medan id diperlukan dan mestilah GID pelanggan yang sah. Di sini, kita tetapkannya dengan pemboleh ubah Liquid {{customer.id}}. Ini mengandaikan bahawa aliran kerja anda mempunyai pencetus yang menyediakan objek pelanggan.
Medan locale ialah rentetan yang mewakili penempatan pelanggan. Dalam contoh ini, kita tetapkannya kepada en.
{
"input": {
"id": "{{customer.id}}",
"locale": "en"
}
}Petua Liquid
Flow menyokong penapis liquid json yang boleh berguna dalam membina input. Semua contoh yang berikut menggunakan mutasi customerUpdate dan mengandaikan bahawa aliran kerja anda mempunyai pencetus yang menyediakan objek pelanggan.
Bekerja dengan rentetan
Contoh berikut mengemas kini nota pada pelanggan:
{% assign revisedNote = customer.note | append: " Hello from Flow!" %}
{
"input": {
"id": "{{ customer.id }}",
"note": {{ revisedNote | json }},
}
}Penapis json melepaskan rentetan untuk memastikan JSON yang betul. Ini menghasilkan JSON yang berikut selepas aliran kerja dijalankan:
{
"input": {
"id": "gid://shopify/Customer/1234",
"note": "Had a \"great experience\" with their latest order. Hello from Flow!",
}
}Bekerja dengan tatasusunan
Contoh tatasusunan
Penapis json mengubah tatasusunan liquid kepada tatasusunan JSON. Contoh berikut mengeluarkan tatasusunan JSON apabila disediakan dengan tatasusunan liquid:
{% assign tags = "tag1,tag2,tag3" | split: "," %}
{
"input": {
"id": "{{ customer.id }}",
"tags": {{ tags | json }}
}
}Ini menghasilkan JSON yang berikut selepas aliran kerja dijalankan:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": ["tag1","tag2","tag3"]
}
}Contoh gelung for
Contoh berikut menggunakan gelung untuk mengeluarkan elemen tatasusunan, dipisahkan oleh koma:
{% assign tags = "tag1,tag2,tag3" | split: "," %}
{
"input": {
"id": "{{ customer.id }}",
"tags": [
{% for tag in tags %}
"{{ tag }}"{% unless forloop.last %},{% endunless %}
{% endfor %}
]
}
}Ini menghasilkan JSON yang berikut apabila aliran kerja dijalankan:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": [
"tag1",
"tag2",
"tag3"
]
}
}Contoh map
Penapis map boleh digunakan untuk mendapatkan tatasusunan bagi sifat khusus daripada tatasusunan objek. Dalam contoh yang berikut, tatasusunan bagi sifat city diekstrak daripada tatasusunan alamat pelanggan:
{
"input": {
"id": "{{ customer.id }}",
"tags": {{ customer.addresses | map: "city" | json }}
}
}Ini menghasilkan JSON yang berikut selepas aliran kerja dijalankan:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": ["Ottawa","Toronto"]
}
}Had
Tindakan Hantar permintaan Admin API mempunyai had yang berikut:
- Tindakan ini akan memaparkan senarai
MutasidanInput mutasidaripada versi Admin API yang digunakan oleh Flow. - Apabila versi API baharu dikeluarkan, tindakan ini mungkin gagal jika ia menggunakan mutasi atau medan yang telah ditukar atau ditamatkan.
- Tindakan ini tidak menyokong pertanyaan GraphQL, hanya mutasi.
- Tindakan ini tidak menyokong mutasi yang telah ditamatkan.
- Tindakan ini tidak menyokong beberapa mutasi yang khusus untuk aplikasi tertentu, termasuk sesetengah mutasi langganan, aktiviti pemasaran dan diskaun.
- Tindakan ini tidak menyokong mutasi tak segerak atau mutasi yang mengembalikan jenis
Job. - Tindakan ini tidak menyokong mutasi yang tidak melaksanakan antara muka Node.
Templat
Tambahkan item percuma (diskaun 100%) pada pesanan baharu
Templat ini menambah item percuma yang didiskaunkan pada pesanan baharu jika item tersebut ada dalam stok. Templat ini menyemak inventori, mengenakan diskaun 100% dan mengemas kini pesanan tanpa memberitahu pelanggan. Automasi ini berguna untuk (1) meningkatkan kepuasan pelanggan dengan menyertakan item percuma kejutan dalam pesanan mereka, (2) mempromosikan produk baharu atau kurang dikenali dengan menambahkannya sebagai sampel percuma dalam pesanan, atau (3) menyelaraskan promosi dengan mengautomasikan penyertaan dan pemberian diskaun bagi item percuma. Lihat templat
Benarkan pesanan bagi syarikat yang dibuat oleh permintaan akaun syarikat
Umpukkan kebenaran pesanan apabila syarikat dibuat melalui permintaan akaun syarikat. Lihat templat
Tukar templat produk apabila varian kehabisan stok atau kembali dalam stok
Kemas kini templat produk berdasarkan inventori untuk varian produk tersebut. Aliran kerja ini membolehkan anda bertukar antara templat untuk dalam stok (templat lalai kedai), kehabisan stok, dan apabila satu atau lebih varian telah kehabisan stok. Lihat templat
Penuhi sebarang item digital dalam pesanan
Memenuhi sebarang item yang tidak memerlukan penghantaran fizikal, seperti item digital, atau yang sepadan dengan senarai SKU. Dijalankan sekali untuk setiap lokasi pemenuhan ('pesanan pemenuhan') bagi pesanan baharu. Lihat templat