Returns current status (received / confirmed / out-for-delivery / delivered /
cancelled), the recipient and delivery details on file, a timestamped progress
timeline, the cart contents, and flags for whether a delivery photo or video is
available. Use this after a customer has placed and paid for an order and reads
back the order number from their confirmation email or the order complete page.
The order number is NOT the `order_ref` returned by kapruka_create_order
(which is the pre-payment checkout reference). Once the customer completes
payment in the browser, Kapruka emails them a separate order number — that
is what this tool expects.
Args:
params (TrackOrderInput):
- order_number (str): Kapruka order number (e.g. 'VIMP34456CB2')
- response_format (str): 'markdown' (default) or 'json'
Returns:
str: Order tracking details in the requested format.
JSON schema:
{
"order_number": str,
"pnref": str, # internal payment reference (numeric; not the same as order_number)
"status": str, # received | confirmed | shipped | delivered | cancelled | ...
"status_display": str, # human label
"order_date": str, # human-formatted, Asia/Colombo
"delivery_date": str, # human-formatted
"shipped_date": str | null,
"amount": str, # LKR string (e.g. "15500.00")
"payment_method": str,
"comments": str | null,
"recipient": {"name": str, "phone": str, "address": str, "city": str},
"greeting_message": str | null,
"special_instructions": str | null,
"progress": [{"step": str, "timestamp": str}],
"live_tracking_available": bool,
"has_delivery_video": bool,
"has_delivery_photo": bool,
"items": [{"product_id": str, "name": str, "quantity": int, "selling_price": float}]
}
Error: "Error: <message>" on failure (e.g. order not found).