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.
| Alan | Açıklama |
|---|---|
| Mutasyon | Gerekli. Çağırmak istediğiniz Shopify GraphQL Admin mutasyonu. Bir mutasyon, işlem yapan veya verileri güncelleyen bir API'dır. |
| Mutasyon girdileri | Gerekli. 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ınveMutasyon girdilerininbir 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
Jobtü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