Admin API-ის მოთხოვნის გაგზავნა

Admin API-ის მოთხოვნის გაგზავნის ქმედებას შეუძლია გამოიყენოს მუტაციების უმეტესობა GraphQL Admin API-ში შენს მაღაზიაში ცვლილებების შესატანად, მათ შორის ის მუტაციები, რომლებიც ჯერ არ არის ხელმისაწვდომი, როგორც ქმედებები Flow-ში.

ველები

Admin API-ის მოთხოვნის გაგზავნის ქმედება შეიცავს შემდეგ ველებს.

Admin API-ის მოთხოვნის გაგზავნის ქმედებაში გამოყენებული ველები.
ველიაღწერა
მუტაციასავალდებულოა. Shopify GraphQL-ის ადმინ-მუტაცია, რომლის გამოძახებაც გსურს. მუტაცია არის API, რომელიც ასრულებს მოქმედებას ან ანახლებს მონაცემებს.
მუტაციის შეყვანის მონაცემებისავალდებულოა. მონაცემები (JSON ფორმატში), რომლებიც უნდა გააგზავნო მუტაციის მოთხოვნის ფარგლებში. თითოეულ მუტაციას სჭირდება განსხვავებული მონაცემები, რომლებიც დოკუმენტირებულია თითოეული მუტაციისთვის მოცემულ ბმულზე. საჭირო JSON-ის შესაქმნელად შეგიძლია გამოიყენო Liquid ან კოდის გაშვების მოქმედება.

ტრიგერები

მოქმედება Send Admin API request შეიძლება გამოყენებულ იქნას ნებისმიერ სამუშაო პროცესში, ნებისმიერ ტრიგერთან ერთად, თუ სამუშაო პროცესი უზრუნველყოფს მუტაციის შეყვანის მონაცემების შესაქმნელად საჭირო მონაცემებს.

მაგალითები

მაგალითი 1: პროდუქტისთვის გამოყენებული შაბლონის განახლება

ამ მაგალითში, პროდუქტისთვის გამოყენებული შაბლონის განსაახლებლად productUpdate მუტაციის გამოსაძახებლად გამოვიყენებთ Send Admin API request მოქმედებას.

ველი id სავალდებულოა და უნდა იყოს პროდუქტის ვალიდური GID. აქ მას ვანიჭებთ {{product.id}} Liquid ცვლადის მნიშვნელობას. ეს გულისხმობს, რომ შენს სამუშაო პროცესს აქვს ტრიგერი, რომელიც პროდუქტის ობიექტს აბრუნებს.

templateSuffix არის იმ შაბლონის სახელი, რომლის გამოყენებაც პროდუქტზე გსურს. მაგალითად, თუ pre-order შაბლონის გამოყენება გინდა, templateSuffix-ს მიანიჭებ pre-order მნიშვნელობას.

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

მაგალითი 2: მომხმარებლის გადასახადისგან გათავისუფლების სტატუსის განახლება

ამ მაგალითში, გამოვიყენებთ Send Admin API request მოქმედებას customerUpdate მუტაციის გამოსაძახებლად, რათა განვაახლოთ მომხმარებლის გადასახადისგან გათავისუფლების სტატუსი.

ველი id სავალდებულოა და უნდა იყოს მომხმარებლის ვალიდური GID. აქ მას ვანიჭებთ {{order.customer.id}} Liquid ცვლადს. ეს გულისხმობს, რომ შენს სამუშაო პროცესს აქვს ტრიგერი, რომელიც უზრუნველყოფს შეკვეთის ობიექტს.

taxExempt ლოგიკური (boolean) ველია, რომელიც მიუთითებს, გათავისუფლებულია თუ არა მომხმარებელი გადასახადისგან. ამ მაგალითში მას ვანიჭებთ true მნიშვნელობას.

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

მაგალითი 3: მომხმარებლის ლოკალის განახლება

ამ მაგალითში, გამოვიყენებთ Send Admin API request მოქმედებას customerUpdate მუტაციის გამოსაძახებლად, რათა განვაახლოთ მომხმარებლის ლოკალი.

ველი id სავალდებულოა და უნდა იყოს მომხმარებლის ვალიდური GID. აქ მას ვანიჭებთ {{customer.id}} Liquid ცვლადს. ეს გულისხმობს, რომ შენს სამუშაო პროცესს აქვს ტრიგერი, რომელიც უზრუნველყოფს მომხმარებლის ობიექტს.

ველი locale არის სტრიქონი, რომელიც წარმოადგენს მომხმარებლის ლოკალს. ამ მაგალითში მას ვანიჭებთ en-ს.

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

Liquid რჩევები

Flow მხარს უჭერს json Liquid ფილტრს, რომელიც შეიძლება სასარგებლო იყოს შეყვანის მონაცემების კონსტრუირებისას. ქვემოთ მოცემულ ყველა მაგალითში გამოყენებულია customerUpdate მუტაცია და იგულისხმება, რომ სამუშაო პროცესს აქვს ტრიგერი, რომელიც მომხმარებლის ობიექტს უზრუნველყოფს.

სტრიქონებთან მუშაობა

შემდეგი მაგალითი ანახლებს მომხმარებლის შენიშვნას:

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

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

json ფილტრი აკონვერტირებს (escapes) სტრიქონს, რათა უზრუნველყოს კორექტული JSON. სამუშაო პროცესის გაშვების შემდეგ, შედეგი იქნება შემდეგი JSON:

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

მასივებთან მუშაობა

მასივის მაგალითი

json ფილტრი გარდაქმნის Liquid-ის მასივს JSON მასივად. შემდეგი მაგალითი, Liquid მასივის მიწოდებისას, აბრუნებს JSON მასივს:

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

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

სამუშაო პროცესის გაშვების შემდეგ, შედეგი იქნება შემდეგი JSON:

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

For ციკლის მაგალითი

შემდეგ მაგალითში გამოყენებულია ციკლი მასივის ელემენტების მძიმით გამოყოფილი სახით გამოსატანად:

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

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

სამუშაო პროცესის გაშვებისას, შედეგი იქნება შემდეგი JSON:

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

Map-ის მაგალითი

ობიექტების მასივიდან კონკრეტული თვისების მასივის მისაღებად შეგიძლია გამოიყენო ფილტრი map. შემდეგ მაგალითში, city თვისებების მასივი ამოღებულია მომხმარებლის მისამართების მასივიდან:

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

სამუშაო პროცესის გაშვების შემდეგ, შედეგი იქნება შემდეგი JSON:

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

შეზღუდვები

Send Admin API request მოქმედებას აქვს შემდეგი შეზღუდვები:

  • მოქმედება აჩვენებს Mutations და Mutation inputs სიას Flow-ს მიერ გამოყენებული Admin API-ის ვერსიიდან.
  • API-ის ახალი ვერსიების გამოსვლისას, ეს მოქმედება შეიძლება ვერ შესრულდეს, თუ ის იყენებს ისეთ მუტაციას ან ველს, რომელიც შეიცვალა ან გაუქმდა (deprecated).
  • მოქმედებას არ აქვს GraphQL მოთხოვნების (queries) მხარდაჭერა, ის მხოლოდ მუტაციებს უჭერს მხარს.
  • მოქმედებას არ აქვს გაუქმებული (deprecated) მუტაციების მხარდაჭერა.
  • მოქმედებას არ აქვს გარკვეული აპებისთვის სპეციფიკური ზოგიერთი მუტაციის მხარდაჭერა, მათ შორისაა გამოწერის, მარკეტინგული აქტივობისა და ფასდაკლების ზოგიერთი მუტაცია.
  • მოქმედებას არ აქვს ასინქრონული მუტაციების ან ისეთი მუტაციების მხარდაჭერა, რომლებიც Job ტიპს აბრუნებენ.
  • მოქმედებას არ აქვს ისეთი მუტაციების მხარდაჭერა, რომლებიც არ ახორციელებენ Node ინტერფეისს.

შაბლონები

ახალ შეკვეთებში უფასო (100%-იანი ფასდაკლებით) ერთეულის დამატება

ეს შაბლონი ახალ შეკვეთებს ამატებს უფასო, ფასდაკლებულ ერთეულს, თუ ეს ერთეული მარაგშია. ის ამოწმებს მარაგს, იყენებს 100%-იან ფასდაკლებას და ანახლებს შეკვეთას მომხმარებლისთვის შეტყობინების გარეშე. ეს ავტომატიზაცია სასარგებლოა: (1) მომხმარებელთა კმაყოფილების გასაზრდელად მათ შეკვეთაში მოულოდნელი უფასო ერთეულის დამატებით, (2) ახალი ან ნაკლებად ცნობილი პროდუქტების პოპულარიზაციისთვის, მათი უფასო ნიმუშების სახით დამატებით, ან (3) აქციების გასამარტივებლად უფასო ერთეულების დამატებისა და ფასდაკლების ავტომატიზაციის გზით. შაბლონის ნახვა

შეკვეთის დაშვება კომპანიის ანგარიშის მოთხოვნებით შექმნილი კომპანიებისთვის

მიანიჭე შეკვეთის ნებართვა, როდესაც კომპანია იქმნება კომპანიის ანგარიშის მოთხოვნით. შაბლონის ნახვა

პროდუქტის შაბლონის შეცვლა, როცა ვარიანტები მარაგში არ არის ან ისევ მარაგშია

პროდუქტის შაბლონის განახლება პროდუქტის ვარიანტების მარაგის მიხედვით. სამუშაო პროცესი საშუალებას გაძლევს გადართო შაბლონებს შორის, როცა პროდუქტი მარაგშია (მაღაზიის ნაგულისხმევი შაბლონი), მარაგში არ არის, ან როცა ერთი ან მეტი ვარიანტი ამოიწურა მარაგში. შაბლონის ნახვა

შეკვეთაში ნებისმიერი ციფრული ერთეულის შესრულება

ასრულებს ნებისმიერ ერთეულს, რომელსაც ფიზიკური მიწოდება არ სჭირდება (მაგალითად, ციფრული ერთეულები) ან ემთხვევა SKU-ების სიას. ეშვება ერთხელ ახალი შეკვეთის თითოეული შესრულების ლოკაციისთვის („შესრულების შეკვეთა“). შაბლონის ნახვა