Custom Integrations
Integrate NomadicML with your existing systems and workflows
Custom Integrations
NomadicML is designed to integrate seamlessly with your existing systems and workflows. This guide explores various integration options, from simple API usage to complex enterprise integrations.
Integration Approaches
There are several ways to integrate NomadicML into your applications:
API Integration
Direct integration using the NomadicML API
SDK Integration
Embed capabilities using the Python SDK
Webhook Notifications
Receive notifications when events occur
Data Export
Export analysis data for external processing
API Integration
The most flexible integration method is direct API usage. This approach works with any programming language that can make HTTP requests.
Authentication
All API integrations start with proper authentication:
For more details, see the Authentication documentation.
Common Integration Points
The most frequently used integration points include:
- Video Upload: Send videos for analysis
- Analysis Results: Retrieve and process analysis data
- Event Notifications: React to detected events
Example: Custom Reporting System
Here’s how you might integrate NomadicML with a custom reporting system:
SDK Integration
The NomadicML Python SDK provides a more streamlined integration experience for Python applications.
Installation
Basic Usage
Example: Educational Application
Here’s how you might integrate NomadicML into a driver education application:
Webhook Notifications
For real-time integrations, you can configure webhook notifications to be sent when specific events occur in NomadicML.
Setting Up Webhooks
Currently, webhook configuration is available through direct contact with NomadicML support. Contact support@nomadicml.com to set up webhooks for your account.
Webhook Events
Webhooks can be triggered for the following events:
video.uploaded
: Video upload completedvideo.analysis_started
: Analysis process beganvideo.analysis_completed
: Analysis process finishedvideo.analysis_failed
: Analysis process failedevent.detected
: New driving event detectedevent.high_severity
: High severity event detected
Webhook Payload
Webhook notifications are sent as HTTP POST requests with a JSON payload:
Webhook Security
Webhooks include a signature header (X-NomadicML-Signature
) that you can use to verify the authenticity of the request:
Data Export
For batch processing or integration with data warehouses, you can export data from NomadicML.
Export Formats
NomadicML supports the following export formats:
- JSON: Full data with all fields
- CSV: Tabular format for spreadsheet applications
- PDF: Formatted reports for sharing
- MP4: Video clips of specific events
Programmatic Export
You can use the API to programmatically export data:
Enterprise Integration Patterns
For enterprise environments, consider these integration patterns:
ETL Processes
Extract, Transform, Load (ETL) processes can be used to move NomadicML data into data warehouses:
- Extract: Pull event data from the API
- Transform: Convert to the target schema, enrich with business data
- Load: Insert into your data warehouse
Message Queues
For high-volume systems, use message queues to process NomadicML events:
- Set up webhooks to send events to a message queue (e.g., RabbitMQ, Kafka)
- Deploy consumers to process events asynchronously
- Implement retry logic for failed processing
Microservices Architecture
In a microservices architecture, create a dedicated service for NomadicML integration:
- Create a NomadicML service that handles API communication
- Expose internal endpoints for other services to request analysis
- Implement caching and rate limiting to optimize API usage
Authentication and Security
When integrating with the NomadicML platform, follow these security practices:
- API Key Management: Rotate keys regularly and use environment variables
- Input Validation: Validate all input before sending to the API
- Error Handling: Implement proper error handling and logging
- Rate Limiting: Respect API rate limits and implement backoff strategies
- Data Protection: Properly secure any stored video or analysis data