Back to quote desk

Operator route guide

Quote workflow APIs return label-specific evidence.

Each route has a distinct responsibility and returns safe setup guidance when vendor messaging credentials or consented recipient details are not configured.

Route contract

RouteMethodPurposeExpected setup boundary
/api/inquiriesGET, POSTCapture service family, dimensions, material, finish, budget band, locality and consented phone number.Returns SETUP_REQUIRED when verified messaging configuration is absent.
/api/whatsapp/vendor-notificationPOSTNotify a verified vendor only after WhatsApp credentials and consented recipient details are configured.Returns SETUP_REQUIRED when verified messaging configuration is absent.
/api/vendor/quotationPOSTCollect estimated range, lead time, material assumptions and follow-up notes from the workshop.Returns SETUP_REQUIRED when verified messaging configuration is absent.
/api/customer/quote-deliveryPOSTSend a quote summary only when the buyer has consented and the delivery channel is configured.Returns SETUP_REQUIRED when verified messaging configuration is absent.
/api/follow-up/statusPOSTTrack new, routed, quoted, waiting for buyer, revised and closed states for sales handoff.Returns SETUP_REQUIRED when verified messaging configuration is absent.
/api/healthGETRuntime health and configuration summary.Never sends messages.

Machine-readable contract

{
  "visualTerritory": "Workshop Atelier Ledger",
  "territoriesCompared": [
    "Temple Joinery Atelier",
    "Workshop Atelier Ledger"
  ],
  "chosenReason": "The final direction combines tactile craft imagery with a quote workflow, avoiding generic centered hero layouts and rounded SaaS card grids.",
  "designTokens": {
    "rosewood": "#4a2317",
    "turmeric": "#d69a2d",
    "indigo": "#203b73",
    "patina": "#4e7a55",
    "lacquer": "#a63a2b",
    "ivory": "#f7f1e6"
  },
  "routeContract": [
    "/api/inquiries",
    "/api/whatsapp/vendor-notification",
    "/api/vendor/quotation",
    "/api/customer/quote-delivery",
    "/api/follow-up/status",
    "/api/health"
  ]
}