Xem trước dữ liệu API được dùng trong Shopify Flow
Thông thường khi xây dựng quy trình làm việc, bạn có thể muốn sử dụng dữ liệu cửa hàng trong các điều kiện và thao tác. Shopify Flow truy cập dữ liệu cửa hàng bằng cách gọi Admin API GraphQL, nghĩa là bạn có quyền truy cập vào hầu hết các trường trong API.
Khi xây dựng quy trình làm việc, bạn thường sẽ gặp tên trường và mô tả trường dựa trên API, nhưng có thể bạn phải nắm được API sẽ xuất dữ liệu nào. Ví dụ: Có thể bạn cần nắm được tên ứng dụng đối với đơn hàng được tạo từ đơn hàng nháp. Ngoài ra, có thể bạn sẽ cần đảm bảo rằng quy trình làm việc xuất ra dữ liệu bạn mong muốn, hoặc dưới dạng bạn mong muốn.
Để xem lại dữ liệu, bạn có một số tùy chọn trong Shopify Flow.
Trên trang này
Tìm trường trong Trang quản trị Shopify
Trong hầu hết các trường hợp, dữ liệu có sẵn trên Trang quản trị Shopify.
Sử dụng trường trong quy trình làm việc trực tiếp
Bạn có thể xây dựng quy trình làm việc bằng các thao tác giúp bạn xem lại dữ liệu thay vì các thao tác bạn định sử dụng trong phiên bản cuối cùng. Ví dụ: Giả sử bạn muốn tạo quy trình làm việc hủy đơn hàng. Thay vì sử dụng thao tác Hủy đơn hàng và có nguy cơ hủy nhầm đơn hàng, bạn có thể bắt đầu bằng thao tác Gửi email nội bộ hoặc thao tác Gửi tin nhắn Slack nếu bạn sử dụng Slack.
Bước:
- Chọn yếu tố kích hoạt có thể được kích hoạt thủ công.
- Thêm thao tác vào quy trình làm việc và kết nối thao tác với yếu tố kích hoạt, ví dụ như Gửi email nội bộ.
- Thêm biến bạn muốn kiểm tra vào mục Tin nhắn của thao tác Gửi email nội bộ.
- Nhấp vào Bật quy trình làm việc.
- Kích hoạt quy trình làm việc bằng cách chạy thủ công hoặc khởi chạy yếu tố kích hoạt. Ví dụ: Nếu bạn đang sử dụng yếu tố kích hoạt Đã tạo đơn hàng, hãy tạo đơn hàng kiểm tra.
- Sau khi quy trình làm việc chạy, kiểm tra email để tìm các biến.
Tham khảo trang JSON tài nguyên
Hầu hết các trang tài nguyên trong Trang quản trị Shopify như trang Đơn hàng, Sản phẩm hoặc Khách hàng đều cho phép bạn xem dữ liệu cung cấp cho trang. Dữ liệu này không hoàn toàn giống với tên và định dạng mà Shopify Flow sử dụng, nhưng các giá trị thì khớp với dữ liệu trong Admin API GraphQL. Để xem lại dữ liệu, thêm .json
vào URL.
Ví dụ: Chuyển đến một đơn hàng bằng cách truy cập Trang quản trị Shopify, vào trang Đơn hàng và nhấp vào một đơn hàng. Trong địa chỉ của trang trên thanh địa chỉ của trình duyệt, thay đổi địa chỉ từ:
https://<your_domain>.myshopify.com/admin/orders/3804849891234
Thực hiện những việc sau:
https://<your_domain>.myshopify.com/admin/orders/3804849891234.json
Sử dụng GraphiQL hoặc công cụ API bên thứ ba
Bạn có thể trực tiếp truy vấn API bằng công cụ API bên thứ ba như Postman hoặc công cụ miễn phí của Shopify, GraphiQL. Tùy chọn này cho ra kết quả chính xác nhất, nhưng đòi hỏi một chút thành thạo trong việc tạo truy vấn GraphQL.
Đối với GraphiQL, Shopify cung cấp cả GraphiQL Explorer trên trang web gồm dữ liệu chung và ứng dụng GraphiQL. Với GraphiQL, bạn có thể xây dựng truy vấn GraphQL khớp hoàn toàn với tên trường bạn nhìn thấy trong Shopify Flow. Các giá trị cũng khớp hoàn toàn với cửa hàng nếu bạn dùng ứng dụng.
Với công cụ này, bạn có thể dùng dữ liệu thực tế của cửa hàng để xác định cụ thể dữ liệu Shopify Flow sử dụng. Ví dụ: Bạn tạo truy vấn sau:
{
orders(first:5, reverse:true) {
nodes {
createdAt
app {
name
}
channelInformation {
app {
title
}
}
}
}
}
Trong các kết quả sau, biến order / app / name
hiển thị tên ứng dụng cho đơn hàng. Trong trường hợp này, đơn hàng được tạo từ ứng dụng đơn hàng nháp nên giá trị sẽ là Draft Orders
. Thông tin kênh chỉ có thể được dùng cho ứng dụng 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"
}
}
}
]
}
}