Third Party Integrations
Overview
RentOne integrates with several third-party platforms for payments, notifications, messaging, maps, and operational monitoring.
MSG91 Integration
Overview
RentOne uses MSG91 Flow API for OTP delivery and transactional SMS notifications.
The integration is implemented in the Shared Utility Library and can be reused across all backend microservices.
Service URL
https://control.msg91.com/api/v5/flow
Authentication
MSG91 requests are authenticated using an Auth Key.
Example:
authkey: <MSG91_AUTH_KEY>
Request Structure
The platform sends SMS using MSG91 Flow Templates.
Example Payload:
{
"template_id": "<template-id>",
"short_url": "0",
"recipients": [
{
"mobiles": "919999999999",
"OTP": "123456"
}
]
}
Implementation
Utility Class:
Msg91Utils
Method:
sendSms(String templateId, List<Map<String, String>> recipients)
Responsibilities:
- Build MSG91 payload
- Authenticate request
- Invoke Flow API
- Return API response
- Handle integration exceptions
Features
- OTP Delivery
- Transactional SMS
- Dynamic Template Variables
- DLT Compliant Messaging
- Template-Based Notifications
Example Use Cases
User Login OTP
Template Variables:
{
"mobiles": "919999999999",
"OTP": "123456"
}
Configuration
Current Configuration:
private static final String URL = "https://control.msg91.com/api/v5/flow";
private static final String AUTH_KEY = "<MSG91_AUTH_KEY>";
DLT Requirements
The following must be configured in MSG91:
- Approved Entity ID
- Approved Sender ID
- Approved Templates
- Active PE-TM Chain
Used By
rentone-users
Primary Usage:
- User Authentication
- OTP Verification
- Account Access Validation
Firebase Cloud Messaging (FCM)
Purpose
Firebase Cloud Messaging is used for:
- Push Notifications
- Device Token Management
- Mobile App Notifications
Configuration
firebase-service-account.json
Features
- Android Push Notifications
- Device Registration
- Notification Broadcasting
- Notification History
Used By
notifications
Google Maps Platform
Purpose
Google Maps Platform is used for:
- Places Search
- Address Autocomplete
- Geocoding
- Reverse Geocoding
- Directions and Route Calculation
- Delivery Zone Management
Configuration
google:
api-key: <GOOGLE_PLACES_API_KEY>
geocode-api-key: <GOOGLE_GEOCODE_API_KEY>
autocomplete-url: https://maps.googleapis.com/maps/api/place/autocomplete/json
place-details-url: https://maps.googleapis.com/maps/api/place/details/json
geocode-url: https://maps.googleapis.com/maps/api/geocode/json
directions-url: https://maps.googleapis.com/maps/api/directions/json
APIs Used
| API | Purpose |
|---|---|
| Places API | Address Search |
| Place Details API | Address Details |
| Geocoding API | Address → Coordinates |
| Reverse Geocoding API | Coordinates → Address |
| Directions API | Route Calculation |
Features
- Address Validation
- Delivery Address Selection
- Delivery Zone Verification
- Route Planning
Used By
rentone-cloud-app
Razorpay
Purpose
Razorpay is used for online payment processing.
Configuration
RAZORPAY_KEY_ID=<RAZORPAY_KEY_ID>
RAZORPAY_KEY_SECRET=<RAZORPAY_KEY_SECRET>
RAZORPAY_WEBHOOK_SECRET=<RAZORPAY_WEBHOOK_SECRET>
Features
- Payment Initiation
- Payment Verification
- Webhook Processing
- Payment Status Tracking
Deployment Note
Razorpay credentials are injected through:
/etc/systemd/system/backend-rentone-payment-gateway.service
and are not stored in source code.
Used By
payment-gateway
Slack
Purpose
Slack is used for operational monitoring and automated error reporting.
Features
- Exception Notifications
- Production Error Alerts
- Operational Monitoring
Used By
notifications
Nginx
Purpose
Acts as the public entry point for all RentOne services.
Responsibilities
- SSL Termination
- Reverse Proxy
- Static Asset Hosting
- CDN Routing
- Frontend Hosting
Domains
https://rentone.co.in
https://console.admin.rentone.co.in
https://cloud.rentone.co.in
https://cdn.rentone.co.in
https://jenkins.rentone.co.in
Jenkins
Purpose
Continuous Integration and Deployment.
Features
- Automated Builds
- Automated Deployment
- Application Backup Before Deployment
- Rollback Support
Deployment Flow
GitHub
↓
Jenkins
↓
Maven Build
↓
Backup Existing JAR
↓
Deploy New JAR
↓
Restart Service
MongoDB
Purpose
Primary application database.
Version
MongoDB 7.0.31
Features
- Multi-Tenant Data Storage
- Dynamic Tenant Database Resolution
- Transactional Data Storage
Used By
All Backend Services
Redis
Purpose
Caching and Gateway Rate Limiting.
Features
- API Rate Limiting
- Temporary Caching
Used By
api-gateway
Configuration
spring.data.redis.host=localhost
spring.data.redis.port=6379