Admin API talebi gönder

Admin API talebi gönder işlemi, Shopify GraphQL Admin API'ye bir mutasyon gönderir. Bunu yaptığınızda Flow'u kullanarak, API'nin izin verdiği neredeyse her işlemi gerçekleştirebilirsiniz.

Alanlar

Admin API talebi gönder işlemi aşağıdaki alanları içerir.

Admin API talebi gönder işleminde kullanılan alanlar.
Alan Açıklama
Mutasyon Gerekli. Çağırmak istediğiniz Shopify GraphQL Admin mutasyonu. Mutasyon, işlem yapan veya verileri güncelleyen bir API'dir.
Mutasyon girdileri Gerekli. Mutasyon talebinizin bir parçası olarak göndermeniz gereken veriler (JSON olarak). Her mutasyon, mutasyon için sağlanan bağlantıda belgelenmiş olan farklı bir veri kümesi gerektirir. Gerekli JSON öğesini oluşturmak için Liquid'i veya Kodu çalıştır işlemini kullanabilirsiniz.

Tetikleyiciler

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

Örnekler

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

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

id alanı gereklidir ve geçerli bir ürün GID'si olmalıdır. Burada, bu alanı {{product.id}} Liquid değişkeni olarak ayarlıyoruz. Bu örnekte, iş akışınızın ürün nesnesi sağlayan bir tetikleyiciye sahip olduğu varsayılmaktadır.

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

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

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

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

id alanı gereklidir ve geçerli bir müşteri GID'si olmalıdır. Burada, bu alanı {{order.customer.id}} Liquid değişkeni olarak ayarlıyoruz. Bu örnekte, iş akışınızın sipariş nesnesi sağlayan bir tetikleyiciye sahip olduğu varsayılmaktadır.

taxExempt alanı, müşterinin vergiden muaf olup olmadığını gösteren bir booledir (boolean). Bu örnekte, bu alanı true olarak ayarlıyoruz.

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

Örnek 3: Müşterinin yerel ayarlarını güncelleştirme

Bu örnekte, müşterinin yerel ayarını güncellemek amacıyla customerUpdate mutasyonunu çağırmak için Admin API talebi gönder işlemini kullanacağız.

id alanı gereklidir ve geçerli bir müşteri GID'si olmalıdır. Burada, bu alanı {{customer.id}} Liquid değişkeni olarak ayarlıyoruz. Bu örnekte, iş akışınızın müşteri nesnesi sağlayan bir tetikleyiciye sahip olduğu varsayılmaktadır.

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

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

Liquid ipuçları

Flow, girdiyi yapılandırırken faydalı olabilecek bir json liquid filtresini destekler. Aşağıdaki örneklerin tamamında customerUpdate mutasyonu kullanılır ve iş akışınızın, müşteri nesnesi sağlayan bir tetikleyicisi olduğu varsayılır.

Dizelerle çalışma

Aşağıdaki örnek, bir müşteriyle ilgili notu günceller:

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

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

Uygun bir JSON oluşturmak için json filtresi dizeden kaçar. Bu, iş akışı çalıştırıldıktan sonra aşağıdaki JSON ile sonuçlanır:

{
  "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üşür. Aşağıdaki örnek, bir liquid dizisi sağlandığında bir JSON dizisi çıktısı oluşturur:

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

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

Bu, iş akışı çalıştırıldıktan sonra aşağıdaki JSON ile sonuçlanır:

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

For döngüsü örneği

Aşağıdaki örnekte, virgüllerle ayrılmış bir dizinin öğelerini içeren bir çıktı sağlamak için bir döngü kullanılmaktadı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ırıldığında aşağıdaki JSON ile sonuçlanır:

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

Harita örneği

Map filtresi bir nesneler dizisinden, belirli bir özelliğin dizisini almak için kullanılabilir. Aşağıdaki örnekte bir müşteri adresleri dizisinden, city özelliklerini içeren bir dizi çıkarılmaktadır:

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

Bu, iş akışı çalıştırıldıktan sonra aşağıdaki JSON ile sonuçlanır:

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

Sınırlamalar

Admin API talebi gönder işlemi aşağıdaki sınırlamalara tabidir:

  • İşlem, mutasyonun bir sonucu olarak Flow ortamına veri döndürmez.
  • İşlem, GraphQL sorgularını değil, yalnızca mutasyonları destekler.
  • İşlem, senkronize olmayan mutasyonları veya Job türünü döndüren mutasyonları desteklemez.
  • Eylem, abonelikler ve indirim mutasyonlarını içeren belirli uygulamalara özgü mutasyonları desteklemez.
  • İşlem, tek bir Shopify API sürümünden (şu anda 2024-01 sürümü), bir Mutations ve Mutation inputs listesi gösterir.
  • API sürümü yükseltilmişse ve hataya neden olan bir değişiklik içeriyorsa bu alana dayanan bir işlem gerçekleştirmek, işlemin başarısız olmasına neden olabilir.

Shopify ile satış yapmaya hazır mısınız?

Ücretsiz olarak dene