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.

Medan

Tindakan Hantar permintaan Admin API mengandungi medan yang berikut.

Medan yang digunakan dalam tindakan Hantar permintaan Admin API.
MedanPenerangan
MutasiDiperlukan. Mutasi GraphQL Admin Shopify yang ingin anda panggil. Mutasi ialah API yang mengambil tindakan atau mengemas kini data.
Input mutasiDiperlukan. 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 Mutasi dan Input mutasi daripada 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