Developer contract · v1

RFQ API

Every enquiry on this site is a structured record, not an email in a shared inbox. This page is the contract: the payload, the reference-number rule, the lead-scoring logic and the pipeline state machine.

Request

POST /api/rfq
{
  "contact":   { "name": "...", "company": "...", "email": "...", "phone": "...",
                 "country": "...", "website": "..." },
  "project":   { "product": "KX-8-6220", "application": "telecommunications",
                 "equipment_name": "Field radio set", "quantity": 500,
                 "annual_quantity": 3000, "target_market": "UK" },
  "dimensions":{ "length": 620, "width": 420, "height": 280, "weight_kg": 18,
                 "unit": "mm", "clearance_mm": 30 },
  "requirements": ["waterproof","dust","shock","foam","wheels","lock","logo","color","oem","odm","mold","test"],
  "files":     [ "photo.jpg", "drawing.pdf" ],
  "reference_product": "...", "message": "...",
  "lead_source": "Google Organic", "page": "/products/.../kx-86220/"
}

Response

{ "rfq_number": "RFQ-2026-00042", "status": "New",
  "lead_grade": "A", "confirmation_email_sent": true, "sales_notified": true }

Pipeline states

New → Reviewing → Qualified → Technical Review → Quotation Sent → Sample → Negotiation → Order → Production → Shipped → Completed → Repeat Order

Lead grade

GradeSignals
ACompany, business email, named product, specific dimensions, quantity and application all present
BCompany, product and quantity present, dimensions or application missing
CPersonal email, price only, no specification
Never shown to the customer

Grading is a routing aid for the sales team. It is not displayed on the site and it does not affect pricing.

Stored per record

Customer, company, country, email, phone, website, lead source, first contact, last contact, RFQ number, products, quantity, quotation, sample, status, salesperson, notes. Lead source is what makes it possible to say later which channel produced an order rather than which channel produced traffic.

Status on the preview build

The RFQ form on this preview validates and numbers locally and shows the exact payload it would submit. No data leaves the browser. On deployment the endpoint writes to the rfq table, sends a confirmation to the buyer and a notification to the sales team over SMTP — not PHP mail() — and pushes the record into the pipeline view.