UNPKG

@receeco/pos-agent

Version:

Receeco POS Integration Middleware Agent

150 lines (109 loc) 3.31 kB
# Receeco POS Agent A lightweight middleware service that integrates with Point-of-Sale systems to generate instant digital receipts. ## Features - **Real-time Integration**: Captures transaction data instantly from POS terminals - **QR Code Generation**: Creates unique QR codes for each transaction - **Offline Support**: Queues transactions when backend is unavailable - **Short Code Generation**: 6-digit codes for manual entry - **Zero Downtime**: Maintains existing paper receipt workflows ## Quick Start ### 1. Installation ```bash npm install -g @receeco/pos-agent ``` ### 2. Initialize Configuration ```bash receeco-pos init --merchant-id=YOUR_MERCHANT_ID --api-key=YOUR_API_KEY ``` ### 3. Start the Service ```bash receeco-pos start ``` ### 4. Test Integration ```bash # Quick CLI test (built-in command) receeco-pos test # Visual browser-based testing receeco-pos emulator ``` ## API Endpoints ### POST /transactions Process a new transaction and generate digital receipt. **Request Body:** ```json { "merchantId": "merchant_123", "merchantName": "Test Store", "items": [ { "name": "Rice (5kg)", "quantity": 1, "unitPrice": 85.0, "totalPrice": 85.0 } ], "totalAmount": 85.0, "currency": "NGN", "paymentMethod": "card", "timestamp": "2024-01-15T14:30:00Z" } ``` **Response:** ```json { "receiptId": "rcpt_abc123", "receiptUrl": "https://receeco.com/receipt/rcpt_abc123", "qrCodeUrl": "data:image/png;base64...", "qrCodeSvg": "<svg>...</svg>", "shortCode": "ABC123", "deepLinkUrl": "https://receeco.com/receipt/rcpt_abc123", "status": "success", "timestamp": "2024-01-15T14:30:00Z" } ``` ### GET /health Check service health status. ### GET /queue/status Check offline queue status. ## Configuration Create a `.env` file with your configuration: ```env MERCHANT_ID=your_merchant_id RECEECO_API_KEY=your_api_key RECEECO_API_URL=https://receeco.com/api RECEECO_WEB_URL=https://receeco.com PORT=3001 LOG_LEVEL=info NODE_ENV=production ``` ## POS Integration Examples ### Quickteller POS Configure your POS to send transaction data to: ``` POST http://localhost:3001/transactions ``` ### Phoenix POS Use webhook integration: ```javascript // In your POS system fetch("http://localhost:3001/transactions", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(transactionData), }); ``` ## CLI Commands ### Basic Commands - `receeco-pos init` - Initialize configuration - `receeco-pos start` - Start the service - `receeco-pos status` - Check service status - `receeco-pos test` - Test with sample transaction - `receeco-pos emulator` - Open visual browser-based testing tool - `receeco-pos clear-queue` - Clear failed transactions from queue ### Windows Service Management - `receeco-pos install-service` - Install as Windows service - `receeco-pos start-service` - Start Windows service - `receeco-pos stop-service` - Stop Windows service - `receeco-pos uninstall-service` - Remove Windows service ## Support For integration support, contact the Receeco team or visit our documentation at https://docs.receeco.com