FOR ENGINEERS WHO BUILD REVENUE

Build buyer personalization into your stack

REST API, webhooks, SDKs, and revenue intelligence — so you can turn customization into your highest-margin product line.

99.99%
API Uptime
87ms
Avg Response Time
₹Market-Leading
Revenue Tracked
72
Developer NPS
NOT A TRADITIONAL ERP

No point tracking everything
if you can't see the revenue

ERPs count what you bought. Mellite tells you what your buyers will pay for — and automates the path from selection to recognized revenue.

ERP tracks inventory. We track buyer intent.

ERP knows what materials you ordered. Mellite knows what materials your buyers ‘want’ — and what they’re willing to pay for.

ERP reconciles accounts. We accelerate revenue.

Traditional ERP: selection → manual BOQ → finance approval → payment chase → revenue recognition (60-90 days). Mellite: selection → auto-BOQ → payment link → instant recognition (14 days).

ERP is for finance. Mellite is for growth.

Finance teams use ERP to close books. Development teams use Mellite to open revenue streams. Different users. Different outcomes.

ERP is rigid. Mellite is configurable.

Change a catalog item in ERP: 2-week change request, IT ticket, testing. In Mellite: drag-and-drop in catalog builder, instant preview, live in 5 minutes.

ERP speaks accounting. Mellite speaks buyer.

Buyers don’t understand “material master records.” They understand “Italian marble flooring — ₹450/sqft extra, pay in 3 installments.” We translate intent to revenue.

REVENUE INTELLIGENCE

The metrics that actually matter

Traditional ERP dashboards show you inventory turns. Mellite shows you upgrade attach rates, revenue per unit, and leakage prevention — in real time.

METRIC
Increased

Industry avg: 23%

Buyers customize when the experience is visual and guided

+12% YoY
METRIC
₹23.4L

Industry avg: ₹8.2L

Structured catalog + payment plans unlock higher spend

+18% YoY
METRIC
14 days

Traditional: 60-90 days

Digital workflow eliminates manual reconciliation

-75% faster
METRIC
₹47Cr+

Typical loss: 3-5% of upgrade GMV

Auto-lock + payment integration = zero missed upgrades

100% captured
INTEGRATION SCENARIOS

Connect your stack in hours, not months

Pre-built patterns for the tools you already use. Click any card to see real implementation code.

Accounting & Finance Sync (Tally / SAP)

Structured ledger & BOM sync. Export material selections directly to finance and procurement tools.

Real-timeConflict resolutionRevenue impact calc

CRM Integration (Salesforce / HubSpot)

Auto-create leads from buyer portal signups. Sync selection progress to deal stages.

Lead enrichmentDeal trackingRevenue forecast

Payment Gateway (Razorpay / Stripe)

Embedded payment links in buyer portal. Auto-reconcile upgrade payments to units.

Auto-reconcileSplit paymentsGST compliant

Document Generation (PDF / e-Sign)

Auto-generate handover packets, selection agreements, and BOQ documents on lock.

Template engineE-sign readyAudit trail
CORE ENDPOINTS

RESTful by design. Revenue-aware by default.

Full Reference
METHODENDPOINTREVENUE IMPACT
POST/api/projectsInitializes upgrade revenue tracking
GET/api/projects/{id}Revenue dashboard data source
POST/api/projects/{id}/syncCalculates revenue impact of material changes
GET/api/unitsPipeline forecasting & buyer segmentation
POST/api/units/{id}/lockTriggers revenue recognition instantly
GET/api/catalog/categoriesPowers buyer-facing selection UI
POST/api/webhooksEnables instant downstream automation
GET/api/analytics/revenueExecutive dashboard & board reporting
PRODUCTION-READY CODE

Copy. Paste. Ship.

Complete, typed examples for the most common integration patterns. All code is tested against our sandbox.

javascriptCreate Project with Revenue Tracking
1// Create a new project with BOM
2const response = await fetch('/api/projects', {
3 method: 'POST',
4 headers: { 'Authorization': 'Bearer YOUR_TOKEN', 'Content-Type': 'application/json' },
5 body: JSON.stringify({
6 name: 'Skyline Towers - Phase 2',
7 location: { city: 'Mumbai', pincode: '400013' },
8 unitTypes: [
9 { type: '2BHK', count: 48, basePrice: 8500000 },
10 { type: '3BHK', count: 32, basePrice: 12500000 },
11 { type: '4BHK Penthouse', count: 4, basePrice: 28000000 }
12 ],
13 bomTemplateId: 'bom_residential_premium_v3',
14 customizationWindows: {
15 flooring: { open: '2024-01-15', close: '2024-03-30' },
16 kitchen: { open: '2024-02-01', close: '2024-04-15' },
17 bathroom: { open: '2024-02-15', close: '2024-04-30' }
18 }
19 })
20});
21
22const project = await response.json();
23// { id: "proj_abc123", status: "active", bomSync: "pending", customizationUrl: "..." }
javascriptWebhook Handler with Signature Verification
1// Webhook handler for selection completions
2import { verifyWebhookSignature } from '@mellite/sdk';
3
4app.post('/webhooks/mellite', async (req, res) => {
5 const signature = req.headers['x-mellite-signature'];
6 const payload = req.body;
7
8 if (!verifyWebhookSignature(payload, signature, process.env.MELLITE_WEBHOOK_SECRET)) {
9 return res.status(401).send('Invalid signature');
10 }
11
12 switch (payload.type) {
13 case 'selection.completed':
14 await handleSelectionComplete(payload.data);
15 break;
16 case 'unit.locked':
17 await syncToERP(payload.data.unitId);
18 break;
19 case 'payment.confirmed':
20 await triggerHandover(payload.data);
21 break;
22 }
23 res.status(200).json({ received: true });
24});
25
26async function handleSelectionComplete(data) {
27 // data: { unitId, buyerId, selections, totalUpgradeValue, revenueRecognized }
28 console.log(`Unit ${data.unitId}: ${data.selections.length} selections, ₹${data.totalUpgradeValue/1e5}L upgrades`);
29 await updateBuyerPortal(data.buyerId, data.selections);
30 await notifySiteTeam(data.unitId);
31}
javascriptTrigger BOM Sync with Revenue Impact
1// Trigger BOM sync from your ERP
2const syncResult = await fetch(`/api/projects/${projectId}/sync`, {
3 method: 'POST',
4 headers: { 'Authorization': 'Bearer YOUR_TOKEN' },
5 body: JSON.stringify({
6 source: 'tally',
7 mode: 'incremental',
8 changesSince: '2024-01-15T00:00:00Z',
9 validateOnly: false
10 })
11});
12
13const { syncedItems, conflicts, revenueImpact } = await syncResult.json();
14// revenueImpact: { additionalRevenue: 2450000, affectedUnits: 12, marginChange: '+2.3%' }
javascriptGet Units with Selection & Revenue Data
1// Get units with real-time selection status
2const units = await fetch('/api/units?projectId=proj_abc123&includeSelections=true&includeRevenue=true', {
3 headers: { 'Authorization': 'Bearer YOUR_TOKEN' }
4}).then(r => r.json());
5
6/* Response:
7{
8 "units": [
9 {
10 "id": "unit_401",
11 "type": "3BHK",
12 "status": "customizing",
13 "buyer": { "id": "buyer_789", "name": "Rahul Sharma" },
14 "selections": { "completed": 18, "pending": 4, "totalValue": 2340000 },
15 "revenue": { "base": 12500000, "upgrades": 2340000, "recognized": 14840000 },
16 "handoverDate": "2024-12-15"
17 }
18 ]
19}
20*/
javascriptLock Unit & Recognize Revenue Instantly
1// Lock finalized selections - triggers revenue recognition
2const result = await fetch('/api/units/unit_401/lock', {
3 method: 'POST',
4 headers: { 'Authorization': 'Bearer YOUR_TOKEN' },
5 body: JSON.stringify({
6 lockedBy: 'project_manager_001',
7 confirmation: 'buyer_signed',
8 generateHandoverPacket: true
9 })
10});
11
12const { handoverPacket, revenueRecognized, accountingEntries } = await result.json();
13// revenueRecognized: 14840000
14// accountingEntries: [{ account: 'Revenue - Upgrades', debit: 0, credit: 2340000 }, ...]
SDKS & TOOLING

Everything you need to integrate fast

Node.js SDK

Full TypeScript support, typed webhooks, automatic retries, rate-limit handling

View Docs

Python SDK

Async-first, Pydantic models, Django/FastAPI integration helpers

View Docs

Go SDK

Zero-dependency, context-aware, built for high-throughput services

View Docs

CLI Tool

Scaffold projects, test webhooks locally, deploy sandbox environments

View Docs

Postman Collection

Auto-generated, always in sync with API spec, includes test scripts

View Docs

OpenAPI Spec

Complete OpenAPI 3.1 spec for codegen in any language

View Docs
READY TO BUILD?

Get sandbox access in 60 seconds

No credit card. Full API access. Sample projects pre-loaded. Start integrating today.

SOC 2 Type II Certified
99.99% Uptime SLA
Dedicated Slack Support