Kirim permintaan Admin API
Tindakan Kirim permintaan Admin API dapat menggunakan sebagian besar mutasi di GraphQL Admin API untuk membuat perubahan pada toko Anda, termasuk mutasi yang belum tersedia sebagai tindakan di Flow.
Kolom
Tindakan Kirim permintaan Admin API berisi kolom-kolom berikut.
| Kolom | Deskripsi |
|---|---|
| Mutasi | Wajib diisi. Mutasi Admin GraphQL Shopify yang ingin Anda panggil. Mutasi adalah API yang mengambil tindakan atau memperbarui data. |
| Input mutasi | Wajib diisi. Data (dalam format JSON) yang perlu Anda kirim sebagai bagian dari permintaan mutasi. Setiap mutasi memerlukan set data yang berbeda, yang didokumentasikan di tautan yang disediakan untuk setiap mutasi. Untuk menyusun JSON yang diperlukan, Anda dapat menggunakan Liquid atau tindakan Jalankan kode. |
Pemicu
Tindakan Kirim permintaan Admin API dapat digunakan dalam alur kerja apa pun, dengan pemicu apa pun, selama alur kerja tersebut menyediakan data yang diperlukan untuk menyusun input mutasi.
Contoh
Contoh 1: Memperbarui templat yang digunakan untuk produk
Dalam contoh ini, kita akan menggunakan tindakan Kirim permintaan Admin API untuk memanggil mutasi productUpdate guna memperbarui templat yang digunakan untuk suatu produk.
Kolom id wajib diisi dan harus berupa GID produk yang valid. Di sini, kami mengaturnya dengan variabel Liquid {{product.id}}. Ini mengasumsikan bahwa alur kerja Anda memiliki pemicu yang menyediakan objek produk.
templateSuffix adalah nama templat yang ingin Anda terapkan pada produk. Misalnya, jika Anda ingin menerapkan templat pre-order, Anda akan mengatur templateSuffix ke pre-order.
{
"input": {
"templateSuffix": "pre-order",
"id": "{{product.id}}"
}
}Contoh 2: Memperbarui status pembebasan pajak pelanggan
Dalam contoh ini, kita akan menggunakan tindakan Kirim permintaan Admin API untuk memanggil mutasi customerUpdate guna memperbarui status pembebasan pajak pelanggan.
Kolom id wajib diisi dan harus berupa GID pelanggan yang valid. Di sini, kami mengaturnya dengan variabel Liquid {{order.customer.id}}. Ini mengasumsikan bahwa alur kerja Anda memiliki pemicu yang menyediakan objek pesanan.
Kolom taxExempt adalah boolean yang menunjukkan apakah pelanggan bebas pajak. Dalam contoh ini, kami mengaturnya ke true.
{
"input": {
"id": "{{order.customer.id}}",
"taxExempt": true
}
}Contoh 3: Memperbarui lokal pelanggan
Dalam contoh ini, kita akan menggunakan tindakan Kirim permintaan Admin API untuk memanggil mutasi customerUpdate guna memperbarui lokal pelanggan.
Kolom id wajib diisi dan harus berupa GID pelanggan yang valid. Di sini, kami mengaturnya dengan variabel Liquid {{customer.id}}. Ini mengasumsikan bahwa alur kerja Anda memiliki pemicu yang menyediakan objek pelanggan.
Kolom locale adalah string yang mewakili lokal pelanggan. Dalam contoh ini, kami mengaturnya ke en.
{
"input": {
"id": "{{customer.id}}",
"locale": "en"
}
}Tips Liquid
Flow mendukung filter liquid json yang dapat berguna dalam menyusun input. Semua contoh berikut menggunakan mutasi customerUpdate dan mengasumsikan bahwa alur kerja Anda memiliki pemicu yang menyediakan objek pelanggan.
Bekerja dengan string
Contoh berikut memperbarui catatan pada pelanggan:
{% assign revisedNote = customer.note | append: " Hello from Flow!" %}
{
"input": {
"id": "{{ customer.id }}",
"note": {{ revisedNote | json }},
}
}Filter json melakukan escape pada string untuk memastikan format JSON yang benar. Ini menghasilkan JSON berikut setelah alur kerja berjalan:
{
"input": {
"id": "gid://shopify/Customer/1234",
"note": "Had a \"great experience\" with their latest order. Hello from Flow!",
}
}Bekerja dengan array
Contoh array
Filter json mengubah array liquid menjadi array JSON. Contoh berikut menghasilkan array JSON ketika diberi array liquid:
{% assign tags = "tag1,tag2,tag3" | split: "," %}
{
"input": {
"id": "{{ customer.id }}",
"tags": {{ tags | json }}
}
}Ini menghasilkan JSON berikut setelah alur kerja berjalan:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": ["tag1","tag2","tag3"]
}
}Contoh for loop
Contoh berikut menggunakan loop untuk menghasilkan elemen array, yang 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 berikut saat alur kerja berjalan:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": [
"tag1",
"tag2",
"tag3"
]
}
}Contoh map
Filter map dapat digunakan untuk mendapatkan array properti tertentu dari array objek. Dalam contoh berikut, array properti city diekstrak dari array alamat pelanggan:
{
"input": {
"id": "{{ customer.id }}",
"tags": {{ customer.addresses | map: "city" | json }}
}
}Ini menghasilkan JSON berikut setelah alur kerja berjalan:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": ["Ottawa","Toronto"]
}
}Batasan
Tindakan Kirim permintaan Admin API memiliki batasan berikut:
- Tindakan ini akan menampilkan daftar
MutationsdanMutation inputsdari versi Admin API yang digunakan oleh Flow. - Saat versi API baru dirilis, tindakan ini mungkin gagal jika menggunakan mutasi atau kolom yang diubah atau tidak digunakan lagi.
- Tindakan ini tidak mendukung kueri GraphQL, hanya mutasi.
- Tindakan ini tidak mendukung mutasi yang tidak digunakan lagi.
- Tindakan ini tidak mendukung beberapa mutasi yang spesifik untuk aplikasi tertentu, termasuk beberapa mutasi langganan, aktivitas pemasaran, dan diskon.
- Tindakan ini tidak mendukung mutasi asinkron atau mutasi yang menampilkan jenis
Job. - Tindakan ini tidak mendukung mutasi yang tidak mengimplementasikan antarmuka Node.
Templat
Menambahkan item gratis (diskon 100%) ke pesanan baru
Templat ini menambahkan item gratis yang didiskon ke pesanan baru jika item tersebut tersedia. Templat ini memeriksa inventaris, menerapkan diskon 100%, dan memperbarui pesanan tanpa memberi tahu pelanggan. Otomatisasi ini akan berguna untuk (1) meningkatkan kepuasan pelanggan dengan menyertakan item gratis kejutan dalam pesanan mereka, (2) mempromosikan produk baru atau yang kurang dikenal dengan menambahkannya sebagai sampel gratis dalam pesanan, atau (3) untuk menyederhanakan promosi dengan mengotomatiskan penyertaan dan pendiskonan item gratis. Lihat templat
Mengizinkan pemesanan untuk perusahaan yang dibuat oleh permintaan akun perusahaan
Tetapkan izin akses pemesanan saat perusahaan dibuat melalui permintaan akun perusahaan. Lihat templat
Ubah templat produk saat varian kehabisan stok atau stoknya tersedia kembali
Perbarui templat produk berdasarkan inventaris untuk varian produk tersebut. Alur kerja ini memungkinkan Anda beralih di antara templat untuk produk yang stoknya ada (templat default toko), produk yang stoknya habis, dan ketika satu atau beberapa varian kehabisan stok. Lihat templat
Penuhi semua item digital dalam pesanan
Memenuhi semua item yang tidak memerlukan pengiriman fisik, seperti item digital, atau yang cocok dengan daftar SKU. Dijalankan sekali untuk setiap lokasi pemenuhan ('pesanan pemenuhan') untuk pesanan baru. Lihat templat