Admin API isteği gönder

Admin API isteği gönder eylemi, mağazanızda değişiklik yapmak için GraphQL Admin API'ındaki çoğu mutasyonu kullanabilir. Buna, Flow'da henüz eylem olarak sunulmayan mutasyonlar da dahildir.

Alanlar

Admin API isteği gönder eylemi aşağıdaki alanları içerir.

Admin API isteği gönder eyleminde kullanılan alanlar.
AlanAçıklama
MutasyonGerekli. Çağırmak istediğiniz Shopify GraphQL Admin mutasyonu. Bir mutasyon, işlem yapan veya verileri güncelleyen bir API'dır.
Mutasyon girdileriGerekli. Mutasyon talebinizin bir parçası olarak göndermeniz gereken veriler (JSON biçiminde). Her mutasyon, her mutasyon için sağlanan bağlantıda belgelenen farklı bir veri kümesi gerektirir. Gerekli JSON'u oluşturmak için Liquid'i veya bir Kod çalıştırma eylemini kullanabilirsiniz.

Tetikleyiciler

Admin API isteği gönder eylemi, iş akışı, mutasyon girdilerini oluşturmak için gerekli verileri sağladığı sürece herhangi bir tetikleyiciyle herhangi bir iş akışında kullanılabilir.

Örnekler

Örnek 1: Bir ürün için kullanılan şablonu güncelleme

Bu örnekte, bir ürün için kullanılan şablonu güncellemek üzere productUpdate mutasyonunu çağırmak için Admin API isteği gönder eylemini kullanacağız.

id alanı gereklidir ve geçerli bir ürün GID'si olmalıdır. Burada, alanı {{product.id}} Liquid değişkeniyle ayarlıyoruz. Bu, iş akışınızın bir ürün nesnesi sağlayan bir tetikleyiciye sahip olduğunu varsayar.

templateSuffix, ürüne uygulamak istediğiniz şablonun adıdır. Örneğin, pre-order şablonunu uygulamak isterseniz templateSuffix'i pre-order olarak ayarlarsınız.

{
  "input": {
    "templateSuffix": "pre-order",
    "id": "{{product.id}}"
  }
}

Örnek 2: Bir müşterinin vergi muafiyeti durumunu güncelleme

Bu örnekte, bir müşterinin vergi muafiyeti durumunu güncellemek üzere customerUpdate mutasyonunu çağırmak için Admin API isteği gönder eylemini kullanacağız.

id alanı gereklidir ve geçerli bir müşteri GID'si olmalıdır. Burada, alanı {{order.customer.id}} Liquid değişkeniyle ayarlıyoruz. Bu, iş akışınızın bir sipariş nesnesi sağlayan bir tetikleyiciye sahip olduğunu varsayar.

taxExempt alanı, müşterinin vergiden muaf olup olmadığını gösteren bir boole değeridir. Bu örnekte, alanı true olarak ayarlıyoruz.

{
  "input": {
    "id": "{{order.customer.id}}",
    "taxExempt": true
  }
}

Örnek 3: Bir müşterinin yerel ayarını güncelleme

Bu örnekte, bir müşterinin yerel ayarını güncellemek üzere customerUpdate mutasyonunu çağırmak için Admin API isteği gönder eylemini kullanacağız.

id alanı gereklidir ve geçerli bir müşteri GID'si olmalıdır. Burada, alanı {{customer.id}} Liquid değişkeniyle ayarlıyoruz. Bu, iş akışınızın bir müşteri nesnesi sağlayan bir tetikleyiciye sahip olduğunu varsayar.

locale alanı, müşterinin yerel ayarını temsil eden bir dizedir. Bu örnekte, alanı en olarak ayarlıyoruz.

{
  "input": {
    "id": "{{customer.id}}",
    "locale": "en"
  }
}

Liquid ipuçları

Flow, girdiyi oluştururken yararlı olabilecek bir json Liquid filtresini destekler. Aşağıdaki örneklerin tümü customerUpdate mutasyonunu kullanır ve iş akışınızın bir müşteri nesnesi sağlayan bir tetikleyiciye sahip olduğunu varsayar.

Dizelerle çalışma

Aşağıdaki örnek, bir müşterinin notunu günceller:

{% assign revisedNote = customer.note | append: " Hello from Flow!" %}

{
  "input": {
    "id": "{{ customer.id }}",
    "note": {{ revisedNote | json }},
  }
}

json filtresi, düzgün JSON elde etmek için dizeyi atlar. Bu, iş akışı çalıştıktan sonra aşağıdaki JSON'u oluşturur:

{
  "input": {
    "id": "gid://shopify/Customer/1234",
    "note": "Had a \"great experience\" with their latest order. Hello from Flow!",
  }
}

Dizilerle çalışma

Dizi örneği

json filtresi, bir Liquid dizisini JSON dizisine dönüştürür. Aşağıdaki örnek, bir Liquid dizisi sağlandığında bir JSON dizisi çıktısı verir:

{% assign tags = "tag1,tag2,tag3" | split: "," %}

{
  "input": {
    "id": "{{ customer.id }}",
    "tags": {{ tags | json }}
  }
}

Bu, iş akışı çalıştıktan sonra aşağıdaki JSON'u oluşturur:

{
  "input": {
    "id": "gid://shopify/Customer/1234",
    "tags": ["tag1","tag2","tag3"]
  }
}

For döngüsü örneği

Aşağıdaki örnek, bir dizinin öğelerini virgülle ayırarak çıktı olarak vermek için bir döngü kullanır:

{% assign tags = "tag1,tag2,tag3" | split: "," %}

{
  "input": {
    "id": "{{ customer.id }}",
    "tags": [
      {% for tag in tags %}
        "{{ tag }}"{% unless forloop.last %},{% endunless %}
      {% endfor %}
    ]
  }
}

Bu, iş akışı çalıştığında aşağıdaki JSON'u oluşturur:

{
  "input": {
    "id": "gid://shopify/Customer/1234",
    "tags": [
        "tag1",
        "tag2",
        "tag3"
    ]
  }
}

Map örneği

map filtresi, bir nesne dizisinden belirli bir özelliğin dizisini almak için kullanılabilir. Aşağıdaki örnekte, bir müşteri adresi dizisinden bir city özellikleri dizisi ayıklanır:

{
  "input": {
    "id": "{{ customer.id }}",
    "tags": {{ customer.addresses | map: "city" | json }}
  }
}

Bu, iş akışı çalıştıktan sonra aşağıdaki JSON'u oluşturur:

{
  "input": {
    "id": "gid://shopify/Customer/1234",
    "tags": ["Ottawa","Toronto"]
  }
}

Sınırlamalar

Admin API isteği gönder eyleminin aşağıdaki sınırlamaları vardır:

  • Eylem, Flow tarafından kullanılan Admin API sürümündeki Mutasyonların ve Mutasyon girdilerinin bir listesini görüntüler.
  • Yeni API sürümleri yayınlandığında, değiştirilmiş veya kullanımdan kaldırılmış bir mutasyon ya da alan kullanıyorsa bu eylem başarısız olabilir.
  • Eylem, GraphQL sorgularını değil yalnızca mutasyonları destekler.
  • Eylem, kullanımdan kaldırılmış mutasyonları desteklemez.
  • Eylem, bazı abonelik, pazarlama etkinliği ve indirim mutasyonları da dahil olmak üzere belirli uygulamalara özgü bazı mutasyonları desteklemez.
  • Eylem, zaman uyumsuz mutasyonları veya Job türü döndüren mutasyonları desteklemez.
  • Eylem, Node arayüzünü uygulamayan mutasyonları desteklemez.

Şablonlar

Yeni siparişlere ücretsiz (%100 indirimli) ürün ekleme

Bu şablon, ürün stokta varsa yeni siparişlere ücretsiz, indirimli bir ürün ekler. Envanteri kontrol eder, %100 indirim uygular ve müşteriye bildirim göndermeden siparişi günceller. Bu otomasyon; (1) müşterilerin siparişlerine sürpriz, ücretsiz bir ürün ekleyerek müşteri memnuniyetini artırmak, (2) siparişlere ücretsiz numune olarak ekleyerek yeni veya daha az bilinen ürünleri tanıtmak veya (3) ücretsiz ürünlerin eklenmesini ve indirimli hale getirilmesini otomatikleştirerek promosyonları kolaylaştırmak için yararlı olabilir. Şablonu görüntüle

Şirket hesabı talepleriyle oluşturulan şirketler için sipariş vermeye izin verme

Şirket hesabı talebiyle bir şirket oluşturulduğunda sipariş verme izni atayın. Şablonu görüntüle

Varyasyonların stoku tükendiğinde veya yeniden stokta olduğunda ürün şablonunu değiştirme

Ürünün varyasyonlarının envanterine göre bir ürün şablonunu günceller. Bu iş akışı, stoktaki (mağazanın varsayılan şablonu) ürünler, stokta olmayan ürünler ve bir veya daha fazla varyasyonu stokta olmayan ürünler için şablonlar arasında geçiş yapmanızı sağlar. Şablonu görüntüle

Siparişteki tüm dijital ürünleri gönderme

Fiziksel teslimat gerektirmeyen (dijital ürünler gibi) veya bir SKU listesiyle eşleşen tüm ürünleri gönderir. Yeni bir siparişe ait her gönderim konumu ('gönderim siparişi') için bir kez çalışır. Şablonu görüntüle