Aivigo Hướng dẫn sử dụng

Khối giao diện (reply.ui)

Các khối dữ liệu có cấu trúc trợ lý trả về và cách hiển thị.

Ngoài reply.text, trợ lý có thể trả reply.ui — mảng các khối có trường type. Voicebox tự vẽ các khối này; nếu bạn dùng Core API, hãy vẽ theo bảng dưới.

typeNội dungGợi ý hiển thị
product_listitems[]: sku, name, price, unit, stockDanh sách / thẻ sản phẩm
promotion_listitems[]: code, name, untilThẻ mã giảm giá có nút sao chép
order_summaryitems[] (name, qty, price, subtotal), subtotal, discount, shipping_fee, total, promotionsBảng tóm tắt đơn trước khi xác nhận
order_statusorder: order_id, status, total, itemsThẻ trạng thái đơn hàng
cardtitle, subtitle, amountThẻ thông tin chung
citationsitems[]: n, title, section, snippetNguồn trích dẫn từ tài liệu
actionsbuttons[]: label, action, styleHàng nút bấm
texttextĐoạn văn bổ sung

Nút bấm (actions)

Khi người dùng bấm nút, gửi lại action của nút trong lượt kế tiếp cùng session_id:

{ "session_id": "0199…", "input": { "type": "event", "event": "ui.action", "data": { "action": "confirm" } }, "user": { "ref": "kh001" } }

style: "primary" là nút chính (tô màu nổi bật).

Khối chưa hỗ trợ

Danh sách khối có thể mở rộng. Gặp type lạ, hãy hiển thị fallback_text (nếu có) hoặc bỏ qua — đừng báo lỗi cho người dùng.

function renderBlock(b) {
  switch (b.type) {
    case 'product_list': return <ProductList items={b.items} />;
    case 'actions': return <Buttons buttons={b.buttons} onPress={(a) => send({ type: 'event', event: 'ui.action', data: { action: a } })} />;
    // …
    default: return b.fallback_text ? <p>{b.fallback_text}</p> : null;
  }
}
Sửa trang này trên GitLab

Trong trang này