Supplier API Documentation

Tarabot Middleware Contract (v1)

Developer: IXCHEL CORPORATION (M) SDN BHD | Updated: 2026-03-18

Base & Auth

POST https://api.tarabot.com.my/v1/api

Headers:

Actions

ActionPurpose
handshakeConnectivity/auth check
pull_treatment_planFetch queued plan
ack_treatment_planAcknowledge plan status
report_completionSend completion/collision result
get_robot_statusRead middleware status
start_session pause_session stop_sessionDirect compatibility mode

Exact JSON Contract

1) handshake

{ "action": "handshake", "nonce": "abc-123" }
{
  "success": true,
  "message": "Handshake OK",
  "api_version": "v1",
  "actor": "supplier",
  "nonce": "abc-123",
  "server_time": "2026-03-18T10:30:00Z"
}

2) pull_treatment_plan

{ "action": "pull_treatment_plan", "robot_id": "TRB001", "supplier_id": "supplier-app-1" }
{ "success": true, "message": "No pending treatment plan", "plan": null }
{
  "success": true,
  "message": "Treatment plan dispatched",
  "plan": {
    "plan_id": "TPL202603181430001234",
    "robot_id": "TRB001",
    "session_id": "SES20260318143000",
    "head_type": "H1",
    "technique_code": 2,
    "duration_min": 20,
    "intensity": "default",
    "status": "dispatched",
    "plan": { "selection": "Shoulder + Back" }
  }
}

3) ack_treatment_plan

{ "action": "ack_treatment_plan", "plan_id": "TPL202603181430001234", "ack_status": "accepted", "note": "Job received" }
{ "success": true, "message": "Treatment plan acknowledged", "plan": { "plan_id": "TPL202603181430001234", "status": "accepted" } }

4) report_completion

{
  "action": "report_completion",
  "robot_id": "TRB001",
  "session_id": "SES20260318143000",
  "status": "completed",
  "end_time": "2026-03-18T10:50:00Z"
}
{ "success": true, "message": "Completion report received" }

5) get_robot_status

{ "action": "get_robot_status", "robot_id": "TRB001" }
{
  "success": true,
  "robot_id": "TRB001",
  "status": "running",
  "remaining_time": 15,
  "session_id": "SES20260318143000",
  "last_update": "2026-03-18T10:40:00Z"
}

6) start_session / pause_session / stop_session

{ "action": "start_session", "robot_id": "TRB001", "session_id": "SES20260318143000", "head_type": "H1", "technique_code": 2, "duration_min": 20, "intensity": "default" }
{ "action": "pause_session", "robot_id": "TRB001", "session_id": "SES20260318143000" }
{ "action": "stop_session", "robot_id": "TRB001", "session_id": "SES20260318143000" }

Error Contract

{ "success": false, "error": "Unauthorized supplier request" }
{ "success": false, "error": "Invalid action: xxx" }
{
  "success": false,
  "error": "Unsupported API version",
  "supported_versions": ["v1"],
  "requested_version": "v2"
}