AI Agents & Developers Guide
Công Ty TNHH All Asia Connect (Ho Chi Minh City, Vietnam) is the official Vietnam distributor of Rascals baby diapers, MONDAY Haircare and Little Blossom organic baby snacks. This page explains how AI agents and developers can use the shop. Every interface below uses the same tool names, descriptions and parameters.
Quick guide
- In the browser (WebMCP). Every shop page on https://www.allasiaconnect.com registers all 8 tools with
registerToolondocument.modelContext/navigator.modelContextbefore the app loads. A browser agent can call them directly instead of reading the page. - MCP server.
https://www.allasiaconnect.com/mcp(Streamable HTTP, stateless, JSON responses). It exposes the server-backed tools:search_products,get_product,list_brands_and_categories,get_delivery_info,track_order,my_orders. - REST. The same server tools as
POST /api/agent/{tool}with a JSON body. Specification: /openapi.json, interactive: /openapi.html (Swagger UI).
The cart and navigation tools only exist in the browser, because the cart lives in the shopper's tab. No tool places an order or takes a payment: the shopper always checks out and pays themselves.
The site is in Vietnamese on the main URLs and in English under /en. Most tools take language: vi (default) or en. Prices are public retail prices in Vietnamese dong (VND), VAT included. Wholesale prices are never published through these tools.
Tools
| Name | Purpose | Bucket | Login | Available via |
|---|---|---|---|---|
search_products | Search products | 2: server-backed, public | None | WebMCP, MCP, REST |
get_product | Product details | 2: server-backed, public | None | WebMCP, MCP, REST |
list_brands_and_categories | Brands and categories | 2: server-backed, public | None | WebMCP, MCP, REST |
get_delivery_info | Delivery, returns, payment and contact | 2: server-backed, public | None | WebMCP, MCP, REST |
track_order | Track an order | 2: server-backed, public | None | WebMCP, MCP, REST |
my_orders | My orders | 3: server-backed, private (login) | Login | WebMCP, MCP, REST |
add_to_cart | Add to cart | 1: page-local (in the browser tab) | None | WebMCP |
navigate | Open a page or the cart | 1: page-local (in the browser tab) | None | WebMCP |
search_products
Search the All Asia Connect shop (Rascals diapers, MONDAY Haircare, Little Blossom baby snacks) by text, brand and/or category. Returns up to `limit` products with the public retail price in VND (VAT included), stock status, image and product URL. Use get_product for full details and add_to_cart to put one in the cart.
querystring: What the shopper is looking for, e.g. "tape diapers size M" or "volume shampoo". Leave out to list a brand or category.brand"rascals" | "monday" | "blossom": Brand: rascals (baby diapers and pants), monday (MONDAY Haircare shampoo and conditioner), blossom (Little Blossom organic baby snacks).category"ta-dan" | "ta-quan" | "dau-goi" | "dau-xa" | "banh-an-dam": Category page: ta-dan (tape diapers), ta-quan (diaper pants), dau-goi (shampoo), dau-xa (conditioner), banh-an-dam (baby snacks).in_stock_onlyboolean (default false): Only products that are in stock.limitinteger (default 6): Number of results, 1 to 12.language"vi" | "en" (default "vi"): Language of names, descriptions and URLs: vi (Vietnamese, default) or en (English).
REST: POST /api/agent/search_products
get_product
Full details of one product by slug or SKU: name, brand, public retail price in VND (VAT included), stock status, description, images and the product URL. Next step: add_to_cart.
slugstring: Product slug, as returned by search_products (the last part of the product URL).skustring: Product SKU, as returned by search_products.language"vi" | "en" (default "vi"): Language of names, descriptions and URLs: vi (Vietnamese, default) or en (English).
REST: POST /api/agent/get_product
list_brands_and_categories
The three brands and the product categories of the shop, with a short description, the number of products and the page URL. Use the brand and category keys in search_products.
language"vi" | "en" (default "vi"): Language of names, descriptions and URLs: vi (Vietnamese, default) or en (English).
REST: POST /api/agent/list_brands_and_categories
get_delivery_info
Facts exactly as published on the site: shipping fee, free-shipping threshold, delivery times and coverage, the return and refund policy, payment methods and how to reach customer service, each with the page URL as source.
topic"shipping" | "returns" | "payment" | "contact" | "all" (default "all"): Which facts to return.language"vi" | "en" (default "vi"): Language of names, descriptions and URLs: vi (Vietnamese, default) or en (English).
REST: POST /api/agent/get_delivery_info
track_order
Status and delivery tracking of an order by order number plus the phone number used for that order (no account needed, same as the /track page). Returns order status, payment status, items and quantities, courier and tracking events. Never returns an address or amounts.
order_code(required) string: Order number, e.g. AAC-3F9C21.phone(required) string: Phone number given with the order.language"vi" | "en" (default "vi"): Language of names, descriptions and URLs: vi (Vietnamese, default) or en (English).
REST: POST /api/agent/track_order
my_orders
Orders of the signed-in shopper, newest first: order number, date, status, payment status, items and delivery tracking. Requires the shopper to be signed in on the site (two-hop: their own access token); without it the answer is AUTH_REQUIRED.
order_codestring: Only this order number.limitinteger (default 5): Number of orders, 1 to 20.language"vi" | "en" (default "vi"): Language of names, descriptions and URLs: vi (Vietnamese, default) or en (English).
REST: POST /api/agent/my_orders
add_to_cart
Put a product in the cart of this browser tab, exactly like the "Add to cart" button, and open the cart. Returns the cart contents. Does not place an order: the shopper checks out and pays themselves.
slugstring: Product slug, as returned by search_products (the last part of the product URL).skustring: Product SKU, as returned by search_products.quantityinteger (default 1): Quantity, 1 to 20.
Browser only (WebMCP): it acts on the cart and page of the open tab.
Authentication
Public tools need no key and no login. my_orders only works for a signed-in shopper. Authentication is two-hop: the agent sends the shopper's own access token as Authorization: Bearer <token>, and the server queries the database with that same token, so a shopper only ever sees their own orders. In the browser this happens automatically when the shopper is signed in on the site. There are no API keys and no shared secrets; never ask a shopper for their password.
Examples
curl -s https://www.allasiaconnect.com/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
curl -s https://www.allasiaconnect.com/api/agent/search_products \
-H 'Content-Type: application/json' \
-d '{"query":"tape diapers","limit":3,"language":"en"}'
curl -s https://www.allasiaconnect.com/api/agent/get_delivery_info \
-H 'Content-Type: application/json' \
-d '{"topic":"shipping","language":"en"}'
Responses and errors
Every tool returns a JSON object. Success has ok: true. Errors never throw; they return { "ok": false, "code": "...", "message": "..." } with one of the codes VALIDATION, AUTH_REQUIRED, FORBIDDEN, NOT_FOUND, UNKNOWN_TOOL, UNAVAILABLE. Over REST the HTTP status follows the code (400, 401, 403, 404, 503). Please keep to about 120 requests per minute; track_order allows 10 per minute.
More
/llms.txt · /.well-known/webmcp.json · /openapi.json · Contact · cass@allasiaconnect.com