@lumisapps/node
v1.0.0
Published
Official Node.js SDK for Lumis.OS
Maintainers
Readme
@lumis/node
Official Node.js SDK for Lumis.OS — Automated dispute resolution for GCC merchants.
Installation
npm install @lumis/nodeQuick Start
Basic Usage
import { LumisClient } from '@lumis/node';
const lumis = new LumisClient({
apiKey: process.env.LUMIS_API_KEY,
});
// Validate connection
const health = await lumis.ping();
console.log(health.status); // 'healthy'
// Fetch your disputes
const disputes = await lumis.disputes.list({ status: 'active' });Reverse API (For Custom Platforms)
If you're not on Shopify/Salla, implement these endpoints and Lumis will call you:
// Express.js example
app.get('/lumis/health', (req, res) => {
res.json({ status: 'healthy' });
});
app.get('/lumis/orders/:id', authenticateLumis, (req, res) => {
// Return order details
});Webhook Verification
import { WebhookHandler } from '@lumis/node';
const handler = new WebhookHandler(process.env.LUMIS_WEBHOOK_SECRET);
app.post('/webhooks/lumis', (req, res) => {
const isValid = handler.verifySignature(
req.body,
req.headers['x-lumis-signature']
);
if (!isValid) return res.status(401).send('Invalid signature');
const event = handler.parseEvent(req.body);
// Handle dispute.won, dispute.lost, etc.
});
});Verification
To verify your integration is working correctly:
- Create a file
test-lumis.js:
const { LumisClient } = require('@lumis/node');
// Set your API Key
const client = new LumisClient({ apiKey: 'YOUR_API_KEY' });
async function verify() {
try {
const health = await client.ping();
console.log('✅ Connection Successful:', health);
} catch (error) {
console.error('❌ Connection Failed:', error.message);
}
}
verify();- Run it:
node test-lumis.js