Shopify Flow и GraphQL Admin API
Flow использует Shopify GraphQL Admin API для создания автоматизаций и интеграций, которые расширяют и улучшают панель администратора Shopify. Flow использует API версии 2026-01 для оценки условий и переменных в рабочих процессах, а также для выполнения действий в вашем магазине Shopify. Поскольку Flow обращается к данным магазина через API, в Flow вам доступны почти все поля из этого API.
Поскольку Shopify выпускает новые версии API каждые 3 месяца, некоторые рабочие процессы может потребоваться обновить, когда поля изменяются или становятся устаревшими.
Использование GraphQL Admin API в рабочих процессах
Большинство действий в Flow используют GraphQL Admin API для внесения изменений в ваш магазин Shopify. Например, действие Добавить теги к заказу использует мутацию tagsAdd. Действие Отправить запрос Admin API может использовать большинство мутаций, включая те, которые ещё не доступны как действия в Flow.
При создании рабочих процессов вы часто будете сталкиваться с названиями полей и описаниями, основанными на синтаксисе GraphQL Admin API. Например, чтобы определить, сколько всего единиц варианта доступно для продажи в рамках рабочего процесса, вы будете использовать переменную variants_item.inventoryQuantity. Другой пример: чтобы определить, где клиент подписался на вашу рассылку новостей по электронной почте, вы будете использовать переменную emailSubscriptionMethod.
Вам не нужно в совершенстве владеть API для создания рабочих процессов в приложении Flow, но понимание названий переменных и их определений поможет вам выстроить именно ту логику рабочего процесса, которая вам нужна. Например, знание разницы между displayName и firstName клиента поможет рабочему процессу получить доступ к нужным данным в зависимости от того, для чего вы хотите их использовать. Определения прилагаются к каждой переменной в процессе создания рабочего процесса, и вы можете нажать , чтобы узнать больше о любой переменной или определении.
Данные магазина и GraphQL Admin API
Рабочие процессы используют данные из вашего магазина в условиях и действиях. Flow получает доступ к данным магазина с помощью GraphQL Admin API, а это значит, что у вас есть доступ почти ко всем полям API. Если действие не получает необходимые данные от триггера или действия Получить данные, то рабочий процесс не запускается и отображается сообщение об ошибке.
Например, рабочий процесс начинается с триггера «Клиент создан» и импортирует данные клиента в рабочий процесс. Если за этим триггером следует действие «Добавить теги к заказу», для которого требуются данные заказа, а не клиента, то в результате выполнения рабочего процесса произойдет ошибка из-за отсутствия данных.
Вам может потребоваться просмотреть данные или изучить документацию по 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.
- Когда поля становятся обнуляемыми, что потенциально влияет на то, как оцениваются условия или Liquid.
- Когда изменяются значения enum или добавляются новые типы union или interface, что потенциально влияет на Liquid или код.
- Когда изменяются аргументы мутации, что потенциально влияет на конфигурацию действий «Отправить запрос Admin API».
Некоторые рабочие процессы может потребоваться обновить вручную. В таких случаях в рабочих процессах могут отображаться ошибки «Требуется обновление» или «Неподдерживаемый API» и направлять вас к соответствующей документации по API для внесения необходимых изменений в редакторе рабочих процессов. Когда эти обновления будут завершены и сохранены, рабочий процесс автоматически обновится до последней версии API, доступной в Flow.
Вы можете временно игнорировать проблемы, чтобы внести срочные изменения в рабочий процесс с ошибками совместимости версий API. Если эти проблемы не будут устранены, то рабочий процесс может перестать запускаться или вызывать ошибки, когда более старая версия API перестанет поддерживаться Shopify.