Визуализация на данните от API, използвани в Shopify Flow

Повечето работни процеси имат достъп до данни от Вашия магазин, така че да можете да ги използвате в състояния и действия. Shopify Flow осъществява достъп до данните на магазина, като извиква GraphQL Admin API, което Ви дава достъп до почти всички полета в API.

Докато изграждате работен процес, често ще срещате имена на полета и описания, базирани на API, но може да се наложи да знаете стойностите на тези данни. Например може да искате да знаете името на приложението за поръчка, която е създадена от чернова на поръчка. Освен това може да искате да се уверите, че работният Ви процес извежда данните, които очаквате, или във формата, който очаквате.

За да прегледате стойностите на данните, разполагате с няколко опции в Shopify Flow.

Намиране на поле в администраторския панел на Shopify

В повечето случаи можете да намерите данни, като погледнете в администраторския панел на Shopify. Например product.title е посочено на страницата „Продукт“.

Получаване на примерни данни

Когато изграждате работен процес, можете да получите примерни данни директно в редактора на Flow. Тъй като данните на Flow идват от събития, за да получите точни примерни данни, трябва да започнете с избора на подходящо събитие:

  1. В редактора на Flow отворете действие, в което искате да използвате данните, и кликнете върху „Добавяне на променлива“. Алтернативно, в дадено условие, кликнете върху „Добавяне на критерии“.
  2. Кликнете върху „Конфигуриране на примерни данни“.
  3. Flow показва предишни събития въз основа на тригера на работния процес. Кликнете върху „Обновяване на събитията“, за да изтеглите събития от скорошни изпълнения, или кликнете върху „Стартиране на слушане за събития на живо“ и след това ръчно задействайте събитието в администраторския панел или в съответното приложение (за тригери, базирани на приложения).
  4. След като събитието настъпи, Flow ще покаже подробности за него. Изберете събитието, което искате да използвате, за да получите примерни данни. Кликнете върху „Използване на това събитие на тригера“.
  5. Сега, докато разглеждате събития, за всяка променлива трябва да се показват примерни данни.

Ограничения:

  • Поради ограничения в пространството, за данни в списък, Flow ще покаже само данни от първия артикул в списъка.
  • Flow ще съхранява до 5 събития едновременно за всеки работен процес.
  • Flow не може да изтегля събития от скорошни изпълнения за някои тригери, като например „Планирано време“, „Създаден е запис на метаобект“, „Клиент се е присъединил към сегмент“ или „Клиент е напуснал сегмент“.

Използване на полето в активен работен процес

Можете безопасно да използвате полетата в работен процес, като използвате действието „Регистриране на изходни данни“. Когато изпълните работен процес, действието „Регистриране на изходни данни“ ще отпечата изхода на всички променливи и текст на страницата „Хронология на изпълненията“. Можете също да използвате действия за уведомяване, като например „Изпращане на вътрешен имейл“.

Стъпки за използване на „Регистриране на изходни данни“:

  1. Изберете тригер, който може да бъде задействан ръчно.
  2. Добавете действие „Регистриране на изходни данни“ към работния процес и го свържете с тригера.
  3. В конфигурацията на „Регистриране на изходни данни“ кликнете върху „Добавяне на променлива“, за да добавите променливите, които искате да проверите, към секцията „Изходни данни“.
  4. Когато сте готови, кликнете върху „Включване на работен процес“.
  5. Задействайте работния процес, като го изпълните ръчно или като накарате тригера да се активира. Например, ако използвате тригера „Създадена поръчка“, създайте тестова поръчка.
  6. След като работният процес се изпълни, проверете журнала на активността за променливите.

Използване на страницата с JSON на ресурса

Повечето страници с ресурси в администраторския панел на Shopify, като например страниците „Поръчка“, „Продукт“ или „Клиент“, Ви позволяват да преглеждате данните, които обслужват страницата. Именуването и форматът на тези данни не са абсолютно същите като тези, които Shopify Flow използва, но стойностите съответстват на тези в GraphQL Admin API. За да прегледате данните, добавете .json към URL адреса.

Например отворете поръчка, като отидете на страницата „Поръчки“ в администраторския панел на Shopify и кликнете върху дадена поръчка. В адресната лента на браузъра си променете адреса на страницата от:

https://https://admin.shopify.com/store/<shopname>/orders/3804849891234

На следния:

https://https://admin.shopify.com/store/<shopname>/orders/3804849891234.json

Използване на GraphiQL или API инструмент от трета страна

Можете директно да отправяте заявки към API, като използвате API инструмент от трета страна, като Postman, или безплатния, предоставен от Shopify инструмент GraphiQL. Тази опция предоставя най-точните резултати, но изисква известни познания за създаване на GraphQL заявки.

За GraphiQL Shopify предлага както уеб-базиран изследовател на GraphiQL с генерични данни, така и приложението GraphiQL. С GraphiQL можете да изградите GraphQL заявка, която точно съответства на имената на полетата в Shopify Flow. Стойностите също ще съответстват точно на Вашия магазин, ако използвате приложението.

С помощта на този инструмент можете да определите точно какви данни използва Shopify Flow, с реалните данни на Вашия магазин. Например създавате следната заявка:

{
  orders(first:5, reverse:true) {
    nodes {
      createdAt
      app {
        name
      }
      channelInformation {
        app {
          title
        }
      }
    }
  }
}

В следните резултати променливата order / app / name показва името на приложението за поръчката. В този случай поръчката е създадена от приложението за чернови на поръчки, така че стойността е Draft Orders. Информацията за канала е достъпна само за приложението Point of Sale.

{
  "data": {
    "orders": {
      "nodes": [
        {
          "createdAt": "2023-04-10T12:32:41Z",
          "app": {
            "name": "Draft Orders"
          },
          "channelInformation": null
        },
        {
          "createdAt": "2023-04-10T12:29:12Z",
          "app": {
            "name": "Draft Orders"
          },
          "channelInformation": null
        },
        {
          "createdAt": "2023-03-17T20:23:10Z",
          "app": {
            "name": "Draft Orders"
          },
          "channelInformation": null
        },
        {
          "createdAt": "2023-03-17T20:20:53Z",
          "app": {
            "name": "Draft Orders"
          },
          "channelInformation": null
        },
        {
          "createdAt": "2023-03-17T15:45:15Z",
          "app": {
            "name": "Point of Sale"
          },
          "channelInformation": {
            "app": {
              "title": "Point of Sale"
            }
          }
        }
      ]
    }
  }