Mục đích

generate_checkout_link dùng để tạo link checkout trực tiếp cho một hoặc nhiều sản phẩm.
Link tạo ra sẽ:
  • thêm sản phẩm vào giỏ hàng,
  • chuyển người dùng tới checkout/cart flow,
  • dùng được trong bài viết, landing page, banner, email, chatbot.

Luồng MCP

sequenceDiagram
    participant User as Người dùng
    participant AI as AI Assistant
    participant MCP as MCP Server
    participant Web as Website

    User->>AI: Tạo link checkout cho sản phẩm A, số lượng 2
    AI->>MCP: prompts/get: generate_checkout_link
    MCP-->>AI: Trả về prompt hướng dẫn format URL
    AI->>AI: Áp dụng product_codes, quantities, variants
    AI-->>User: /products/A/checkout?quantity=2
    User->>Web: Mở checkout link

Endpoint MCP

MCP endpoint:
/graphql/mcp
Các method liên quan:
prompts/list
prompts/get
tools/call
Nếu cần lấy domain website để tạo link đầy đủ, dùng tool:
get_web_url

Prompt Có Sẵn

Tên MCP prompt:
generate_checkout_link
Các tham số:
Tham sốBắt buộcÝ nghĩa
product_codesMã sản phẩm, phân tách bằng dấu phẩy nếu nhiều sản phẩm
quantitiesKhôngSố lượng tương ứng với từng sản phẩm
color_namesKhôngMã màu tương ứng với từng sản phẩm
size_namesKhôngMã size tương ứng với từng sản phẩm
material_namesKhôngMã chất liệu tương ứng với từng sản phẩm
clear_shopping_cartKhôngtrue nếu muốn xoá giỏ hàng cũ trước khi thêm sản phẩm mới

Gọi MCP Prompt

Ví dụ tạo link checkout cho một sản phẩm:
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "prompts/get",
  "params": {
    "name": "generate_checkout_link",
    "arguments": {
      "product_codes": "sach-bao-tap-tay-son",
      "quantities": "2",
      "clear_shopping_cart": "true"
    }
  }
}
Ví dụ tạo link checkout cho nhiều sản phẩm:
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "prompts/get",
  "params": {
    "name": "generate_checkout_link",
    "arguments": {
      "product_codes": "truyen-tranh-co-chua,moc-khoa-ky-thien-lenh",
      "quantities": "1,3",
      "color_names": "xanh,vang",
      "size_names": "a5,combo",
      "clear_shopping_cart": "true"
    }
  }
}

Format URL

Một sản phẩm:
/products/{productCode}/checkout
Một sản phẩm có tuỳ chọn:
/products/{productCode}/checkout?colorName={color}&sizeName={size}&materialName={material}&quantity={qty}
Nhiều sản phẩm:
/products/checkout?productCodes={code1},{code2}&productQuantities={qty1},{qty2}&productColorNames={color1},{color2}&productSizeNames={size1},{size2}&productMaterialNames={material1},{material2}
Nếu cần xoá giỏ hàng cũ:
clearShoppingCart=true
Ví dụ kết quả:
/products/checkout?productCodes=truyen-tranh-co-chua,moc-khoa-ky-thien-lenh&productQuantities=1,3&productColorNames=xanh,vang&productSizeNames=a5,combo&clearShoppingCart=true

Lưu Ý Khi Tạo Link

Các danh sách quantities, color_names, size_names, material_names phải đúng thứ tự với product_codes.
Ví dụ:
product_codes: A,B,C
quantities: 1,2,3
Nghĩa là:
A -> 1
B -> 2
C -> 3
Các giá trị có dấu tiếng Việt hoặc khoảng trắng cần URL-encode.
Ví dụ:
Bìa cứng
thành:
B%C3%ACa%20c%E1%BB%A9ng

Prompt Mẫu Cho AI

Bạn có thể hướng dẫn AI như sau:
Hãy dùng MCP prompt generate_checkout_link để tạo checkout URL.

Thông tin sản phẩm:
- product_codes: sach-bao-tap-tay-son
- quantities: 2
- clear_shopping_cart: true

Sau khi gọi MCP prompt, chỉ trả về checkout URL cuối cùng, không giải thích thêm.
Với nhiều sản phẩm:
Hãy tạo checkout link bằng MCP prompt generate_checkout_link.

Thông tin:
- product_codes: truyen-tranh-co-chua,moc-khoa-ky-thien-lenh
- quantities: 1,3
- color_names: xanh,vang
- size_names: a5,combo
- clear_shopping_cart: true

Yêu cầu:
- Giữ đúng thứ tự biến thể theo product_codes.
- URL-encode giá trị nếu có dấu hoặc khoảng trắng.
- Chỉ trả về URL cuối cùng.
Nếu cần link đầy đủ có domain:
Trước tiên hãy gọi MCP tool get_web_url để lấy webUrl.
Sau đó gọi MCP prompt generate_checkout_link với product_codes là sach-bao-tap-tay-son và quantities là 2.
Ghép webUrl với checkout path, rồi chỉ trả về URL đầy đủ cuối cùng.