Shopify Flow და GraphQL Admin API

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

ვინაიდან Shopify ყოველ 3 თვეში ერთხელ უშვებს ახალ API ვერსიებს, ზოგიერთი სამუშაო პროცესი შესაძლოა საჭიროებდეს განახლებას, როდესაც ველები იცვლება ან მოძველდება.

GraphQL Admin API-ს გამოყენება სამუშაო პროცესებში

Flow-ში მოქმედებების უმეტესობა იყენებს GraphQL Admin API-ს შენს Shopify-ს მაღაზიაში ცვლილებების შესატანად. მაგალითად, შეკვეთის თეგების დამატების (Add order tags) მოქმედება იყენებს tagsAdd მუტაციას. Admin API მოთხოვნის გაგზავნის (Send Admin API request) მოქმედებას შეუძლია გამოიყენოს მუტაციების უმეტესობა, მათ შორის ისინიც, რომლებიც ჯერ არ არის ხელმისაწვდომი მოქმედებების სახით Flow-ში.

სამუშაო პროცესების შექმნისას, ხშირად შეგხვდება ველების სახელები და აღწერილობები, რომლებიც ეფუძნება GraphQL Admin API-ს სინტაქსს. მაგალითად, სამუშაო პროცესში ვარიანტის მთლიანი გაყიდვადი რაოდენობის განსაზღვრისთვის, უნდა გამოიყენო variants_item.inventoryQuantity ცვლადი. სხვა მაგალითად, იმ ლოკაციის განსაზღვრისთვის, სადაც მომხმარებელი გამოიწერა შენი ელფოსტის საინფორმაციო ბიულეტენი, უნდა გამოიყენო emailSubscriptionMethod ცვლადი.

Flow აპით სამუშაო პროცესების შესაქმნელად, არ არის აუცილებელი API-ს საფუძვლიანი ცოდნა, თუმცა ცვლადების სახელებისა და მათი განმარტებების მცირედი გაგება დაგეხმარება შენთვის სასურველი, კონკრეტული სამუშაო პროცესის ლოგიკის აგებაში. მაგალითად, მომხმარებლის displayName-სა და მის firstName-ს შორის სხვაობის ცოდნა დაეხმარება შენს სამუშაო პროცესს სწორ მონაცემებზე წვდომაში იმის მიხედვით, თუ რისთვის გსურს მისი გამოყენება. სამუშაო პროცესის აგებისას, განმარტებები მოყვება თითოეულ ცვლადს და შეგიძლია დააწკაპუნო Info-ს, რომ შეიტყო მეტი ნებისმიერი ცვლადის ან განმარტების შესახებ.

მაღაზიის მონაცემები და GraphQL Admin API

სამუშაო პროცესები იყენებს მონაცემებს შენი მაღაზიიდან პირობებსა და მოქმედებებში. Flow მაღაზიის მონაცემებზე წვდომისთვის იყენებს GraphQL Admin API-ს, რაც ნიშნავს, რომ წვდომა გაქვს API-ს თითქმის ყველა ველზე. თუ მოქმედებას არ აქვს ტრიგერის ან მონაცემების მიღების (Get data) მოქმედების მიერ მოწოდებული საჭირო მონაცემები, სამუშაო პროცესი არ გაეშვება და გამოჩნდება შეცდომის შეტყობინება.

მაგალითად, სამუშაო პროცესი იწყება მომხმარებლის შექმნის (Customer created) ტრიგერით და შემოაქვს მომხმარებლის მონაცემები სამუშაო პროცესში. თუ ამ ტრიგერს მოსდევს შეკვეთის თეგების დამატების (Add order tags) მოქმედება, რომელიც მოითხოვს შეკვეთის მონაცემებს და არა მომხმარებლისას, მაშინ სამუშაო პროცესი გამოიწვევს გამოტოვებული მონაცემების შეცდომას.

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

ველის არგუმენტები და GraphQL Admin API

ზოგიერთი GraphQL Admin API ველი მოითხოვს არგუმენტებს, დამატებით პარამეტრებს, რომლებიც ავიწროებს დასაბრუნებელ მონაცემებს. მაგალითად, product.inCollection ველს სჭირდება კოლექციის id-ის არგუმენტი, რათა იცოდეს რომელი კოლექცია უნდა შეამოწმოს. მის გარეშე ველი შედეგს ვერ დააბრუნებს.

Flow-ში, შეგიძლია შექმნა ცვლადები ამ ველებიდან საჭირო არგუმენტის მნიშვნელობის მითითებით, რომელთა გამოყენებაც შემდეგ შესაძლებელი იქნება სამუშაო პროცესში. ასევე, შეგიძლია მიანიჭო ცვლადს მორგებული სახელი, რათა გაამარტივო მასზე მითითება შემდგომ ნაბიჯებში, მაგალითად, product.inCollection(id: "gid://shopify/Collection/123456")-ს დაარქვა product.inSummerBestsellers.

შეიტყვე მეტი არგუმენტირებული ველებიდან ცვლადების შექმნის შესახებ.

მეტაველებიდან ცვლადების შექმნა მოითხოვს დამატებით ინფორმაციას Flow-ში, რადგან თითოეული მეტაველის სახელთა სივრცესა და გასაღებს შენ თავად განსაზღვრავ, ამიტომ არგუმენტები ყოველთვის უნიკალურია შენი მაღაზიისთვის. შეიტყვე მეტი მეტაველების შესახებ Flow-ში.

API ვერსირება

Shopify უშვებს ახალ API ვერსიებს ყოველ 3 თვეში ერთხელ და Flow-ს ახალი ვერსიები შეძლებისდაგვარად მალე შემოაქვს, თუმცა შეიძლება ჩამორჩებოდეს უახლეს ვერსიას. როცა შესაძლებელია, ვერსიებს შორის ცვლილებები ავტომატურად გვარდება, მაგრამ ზოგიერთი ცვლილება შეიძლება არ იყოს პირდაპირი, მათ შორის ნებისმიერ შემდეგ სიტუაციაში:

  • როდესაც ველები წაშლილია, მაგრამ ჩანაცვლება არ არის უზრუნველყოფილი, რამაც შეიძლება გავლენა მოახდინოს იმაზე, თუ როგორ ფასდება პირობები ან Liquid.
  • როდესაც ველები nullable ხდება, რამაც შეიძლება გავლენა მოახდინოს იმაზე, თუ როგორ ფასდება პირობები ან Liquid.
  • როდესაც იცვლება enum-ის მნიშვნელობები ან ემატება ახალი union-ის ან interface-ის ტიპები, რამაც შეიძლება გავლენა მოახდინოს Liquid-ზე ან კოდზე.
  • როდესაც მუტაციის არგუმენტები იცვლება, რამაც შეიძლება გავლენა მოახდინოს Admin API მოთხოვნის გაგზავნის (Send Admin API request) მოქმედებების კონფიგურაციაზე.

ზოგიერთი სამუშაო პროცესის ხელით განახლება შეიძლება გახდეს საჭირო. ასეთ შემთხვევებში, სამუშაო პროცესებმა შეიძლება აჩვენოს საჭიროა განახლება (Update required) ან მხარდაუჭერელი API (Unsupported API) შეცდომა და მიგითითოს შესაბამის API დოკუმენტაციაზე, რათა შეიტანო საჭირო ცვლილებები სამუშაო პროცესის რედაქტორში. როდესაც ეს განახლებები დასრულდება და შეინახება, სამუშაო პროცესი ავტომატურად განახლდება, რათა გამოიყენოს უახლესი API ვერსია, რომელიც ხელმისაწვდომია Flow-ში.

შეგიძლია დროებით უგულებელყო პრობლემები, რათა გადაუდებელი ცვლილებები შეიტანო სამუშაო პროცესში API ვერსიის თავსებადობის შეცდომებით. თუ ეს პრობლემები არ მოგვარდება, სამუშაო პროცესის გაშვება შეიძლება შეწყდეს ან გამოიწვიოს შეცდომები, როდესაც ძველ API ვერსიას Shopify-ის მიერ აღარ ექნება მხარდაჭერა.