Nhảy đến nội dung

Nút admin-api

Nút admin-api cung cấp quyền truy cập trực tiếp vào API nội bộ của OneEntry. Với nó, bạn có thể đọc và thay đổi đơn hàng, trang, người dùng, bộ sưu tập và phiên thanh toán ngay từ luồng tích hợp — mà không cần phải viết các yêu cầu HTTP bằng tay.


Cài đặt nút admin-api

IMG2

1. Tên

Trường để chỉ định tên của nút.
Tên sẽ hiển thị trong không gian làm việc và giúp dễ dàng xác định nút.
Nếu để trống, nút sẽ được gọi là admin-api.

Ví dụ:

  • Tên nút: Tạo Phiên Thanh Toán

2. Loại

Lựa chọn phương thức API sẽ được gọi khi tin nhắn đi qua nút. Các phương thức có sẵn:

  • "Cập nhật đối tượng trang" — Cập nhật đối tượng trang
  • "Tìm kiếm tất cả đối tượng trên các trang sản phẩm với phân trang cho danh mục đã chọn" — Tìm kiếm sản phẩm với phân trang
  • "Thay đổi trạng thái của trang sản phẩm" — Thay đổi trạng thái trang sản phẩm
  • "Cập nhật trang sản phẩm" — Cập nhật trang sản phẩm
  • "Cập nhật đối tượng người dùng - quản trị viên" — Cập nhật đối tượng người dùng (bởi quản trị viên)
  • "Cập nhật một đối tượng người dùng" — Cập nhật một đối tượng người dùng
  • "Cập nhật giá trị của một thuộc tính thực thể" — Cập nhật giá trị thuộc tính của thực thể
  • "Nhận tất cả đơn hàng thuộc về đối tượng lưu trữ đơn hàng" — Nhận tất cả đơn hàng trong kho
  • "Cập nhật trạng thái của một đơn hàng thuộc về đối tượng lưu trữ đơn hàng" — Cập nhật trạng thái đơn hàng
  • "Cập nhật phiên thanh toán" — Cập nhật phiên thanh toán
  • "Nhận một đối tượng phiên thanh toán theo định danh của nó" — Nhận phiên thanh toán theo ID
  • "Tạo một phiên thanh toán" — Tạo phiên thanh toán
  • "Nhận tất cả bản ghi thuộc về bộ sưu tập" — Nhận bản ghi của bộ sưu tập
  • "Tạo một bản ghi trong bộ sưu tập" — Tạo bản ghi trong bộ sưu tập
  • "Thay đổi một bản ghi trong bộ sưu tập" — Thay đổi bản ghi trong bộ sưu tập
  • "Xóa một đối tượng khỏi bản ghi bộ sưu tập" — Xóa đối tượng khỏi bản ghi bộ sưu tập

3. Tham số truy vấn

Tham số URL của yêu cầu. Trường này sử dụng cú pháp Mustache — các giá trị từ msg có thể được chèn qua {{biến}}.

Ví dụ (cho phương thức "Nhận tất cả bản ghi thuộc về bộ sưu tập"):

{
"entityType": "orders",
"entityId": "{{orderId}}",
"langCode": "en_US",
"offset": 0,
"limit": 1,
"marker": "delivery"
}

4. Nội dung yêu cầu

Nội dung yêu cầu ở định dạng JSON. Hỗ trợ Mustache để chèn dữ liệu từ msg.

Ví dụ (cho phương thức "Tạo một phiên thanh toán"):

{
"orderId": {{orderId}},
"type": "session"
}

5. Sơ đồ đầu vào

Khối Sơ đồ đầu vào hiển thị trong cài đặt của nút và cho thấy cấu trúc dữ liệu đến từ nút trước trong luồng. Sơ đồ được trình bày dưới dạng các cặp «khóa — loại», với sự chú ý đến độ lồng ghép của các đối tượng.

Nếu các trường của sơ đồ được mô tả trong Swagger, mô tả văn bản sẽ hiển thị bên cạnh chúng. Những mô tả này cũng được trình soạn thảo mã (Monaco) sử dụng dưới dạng gợi ý khi viết các mẫu Mustache.

Ví dụ hiển thị Sơ đồ đầu vào:

payload
└── order
├── id (integer) — Định danh đơn hàng
├── status (string) — Trạng thái hiện tại
└── totalPrice (number) — Tổng số tiền

6. Nút Thực thi

Nút Thực thi cho phép gọi yêu cầu API ngay từ biểu mẫu chỉnh sửa nút, mà không cần khởi động toàn bộ luồng.

Cách hoạt động:

  • Máy chủ thực hiện toàn bộ luồng từ đầu đến nút này, truyền dữ liệu theo chuỗi theo trạng thái đã công bố cuối cùng của luồng.
  • Nếu có bất kỳ nút function nào trên đường đi không truyền dữ liệu tiếp, nhưng có trường Ví dụ đầu ra (JSON) được điền, dữ liệu này sẽ được sử dụng như dữ liệu giả.
  • Trong trường hợp phản hồi thành công, phản hồi API sẽ được truyền đến nút tiếp theo dưới dạng sơ đồ.
  • Nếu yêu cầu trả về lỗi — sơ đồ sẽ không được truyền đến nút tiếp theo.
thông tin

Trước khi sử dụng nút Thực thi, hãy đảm bảo rằng luồng đã được công bố. Máy chủ thực hiện chuỗi theo trạng thái của lần công bố cuối cùng.

Ảnh hưởng đến sơ đồ:

Nút admin-api ban đầu có sơ đồ phản hồi từ Swagger. Khi nhấn Thực thi, sơ đồ sẽ được ghi đè bằng phản hồi thực từ API. Trong đó, các trường trùng khớp với mô tả Swagger sẽ giữ nguyên mô tả văn bản của chúng.


7. Gọi tự động các yêu cầu chỉ đọc

Tất cả các nút admin-api thực hiện các yêu cầu chỉ đọc (GET) sẽ được gọi tự động:

  • khi mở trang Tích hợp,
  • khi cập nhật luồng qua nút Công bố.

Điều này cho phép luôn có sơ đồ dữ liệu cập nhật trong nút tiếp theo mà không cần khởi động thủ công.


Ví dụ sử dụng

Ví dụ 1: Tạo phiên thanh toán

Cài đặt nút:

  • Loại: Tạo một phiên thanh toán
  • Nội dung yêu cầu:
    {
    "orderId": {{orderEvent.order.id}},
    "type": "session"
    }

Kết quả:
Nút tạo một phiên thanh toán, sử dụng orderId từ tin nhắn đầu vào, và truyền dữ liệu của phiên mới đến nút tiếp theo.


Ví dụ 2: Cập nhật trạng thái đơn hàng

Cài đặt nút:

  • Loại: Cập nhật trạng thái của một đơn hàng thuộc về đối tượng lưu trữ đơn hàng
  • Tham số truy vấn:
    {
    "id": {{orderId}}
    }
  • Nội dung yêu cầu:
    {
    "status": "{{newStatus}}"
    }

Kết quả:
Nút cập nhật trạng thái đơn hàng, sử dụng dữ liệu từ tin nhắn đầu vào.


Ví dụ 3: Nhận bản ghi bộ sưu tập

Cài đặt nút:

  • Loại: Nhận tất cả bản ghi thuộc về bộ sưu tập
  • Tham số truy vấn:
    {
    "entityType": "delivery",
    "entityId": "{{payload.id}}",
    "langCode": "en_US",
    "offset": 0,
    "limit": 10
    }

Kết quả:
Nút trả về danh sách bản ghi của bộ sưu tập. Vì đây là yêu cầu chỉ đọc, khi mở trang, sơ đồ phản hồi sẽ được tải tự động.