Admin API talebi gönder
Admin API isteği gönder işlemi, mağazanızda değişiklik yapmak için henüz Flow'da işlem olarak kullanılamayan mutasyonlar da dahil olmak üzere GraphQL Admin API'deki çoğu mutasyonu kullanabilir.
Alanlar
Admin API talebi gönder işlemi aşağıdaki alanları içerir.
Alan | Açıklama |
---|---|
Mutasyon | Gereklidir. Çağırmak istediğiniz Shopify GraphQL Admin mutasyonu. Mutasyon, işlem yapan veya verileri güncelleyen bir API'dir. |
Mutasyon girdileri | Gereklidir. 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, Flow tarafından kullanılan Admin API'nin sürümünden
Mutation inputs
veMutations
listesini gösterir. - Yeni API sürümleri yayınlandığında bu işlem, değiştirilmiş veya kullanım dışı bırakılmış bir mutasyon veya alan kullanılıyorsa başarısız olabilir.
- İşlem, GraphQL sorgularını değil, yalnızca mutasyonları destekler.
- İşlem, kullanımdan kaldırılmış olan mutasyonları desteklemez.
- Bu işlem, bazı abonelik, pazarlama faaliyeti ve indirim mutasyonları da dahil olmak üzere, belirli uygulamalara özgü bazı mutasyonları desteklemez.
- İşlem, senkronize olmayan mutasyonları veya
Job
türünü döndüren mutasyonları desteklemez. - İşlem, Node arabirimini uygulamayan mutasyonları desteklemez .
Şablonlar
Yeni siparişlere ücretsiz (%100 indirimli) ürün ekle
Bu şablon, yeni siparişlere stokta varsa ücretsiz ve indirimli bir ürün ekler. Envanteri kontrol eder, %100 indirim uygular ve müşteriye bildirim göndermeden siparişi günceller. Bu otomasyon (1) siparişlerine sürpriz ücretsiz bir ürün ekleyerek müşteri memnuniyetini artırmak, (2) yeni veya daha az bilinen ürünleri siparişlere ücretsiz numune olarak ekleyerek tanıtmak ya da (3) ücretsiz ürünleri ekleme ve indirim uygulama işlemini otomatik hale getirerek promosyonları kolaylaştırmak için yararlı olacaktır. Şablonu görüntüleyin
Şirket hesabı talepleri tarafından oluşturulan şirketlerin sipariş vermelerine izin ver
Şirket hesabı talebiyle bir şirket oluşturulduğunda bir sipariş verme izni atayın. Şablonu görüntüleyin
Varyasyonlar stokta olmadığında veya tekrar stoka eklendiğinde ürün şablonunu değiştir
Bir ürün şablonunu, ürün varyasyonlarının envanter durumuna göre güncelleyin. İş akışı, ürünün stokta olduğu (mağazanın varsayılan şablonu), stokta olmadığı ve bir veya birden fazla varyasyonun stokta olmadığı durumlara ait şablonlar arasında geçiş yapmanıza olanak sağlar. Şablonu görüntüleyin
Bir siparişteki tüm dijital ürünleri gönder
Dijital ürünler gibi fiziksel teslimat gerektirmeyen veya belirli bir SKU listesiyle eşleşen tüm ürünleri gönderir. Her yeni siparişte, her gönderim konumu ("gönderim siparişi") için bir defa çalışır. Şablonu görüntüleyin