Quickstart Guide¶
Get started with IOSetu in under 10 minutes. This guide will help you parse your first AL3 file and understand the output.
Prerequisites¶
- Docker installed on your system
- An AL3 file to test with (or use our examples)
Step 1: Pull the Docker Image¶
From AWS Marketplace (Recommended):
# Authenticate with ECR
aws ecr get-login-password --region us-east-1 | \
docker login --username AWS --password-stdin \
709825985650.dkr.ecr.us-east-1.amazonaws.com
# Pull the image
docker pull 709825985650.dkr.ecr.us-east-1.amazonaws.com/priya-io-systems/iosetu:latest
Or for testing:
docker pull priyaiosystems/iosetu:latest
Step 2: Start the Container¶
docker run -d \
--name iosetu \
-p 8080:8080 \
709825985650.dkr.ecr.us-east-1.amazonaws.com/priya-io-systems/iosetu:latest
Verify it's running:
curl http://localhost:8080/health
# Expected: OK
Step 3: Parse Your First AL3 File¶
Using cURL¶
curl -X POST \
--data-binary "@your-policy.al3" \
-H "Content-Type: application/octet-stream" \
http://localhost:8080/v1/parse
Using Python¶
import requests
with open('your-policy.al3', 'rb') as f:
response = requests.post(
'http://localhost:8080/v1/parse',
data=f.read(),
headers={'Content-Type': 'application/octet-stream'}
)
data = response.json()
print(f"Processing time: {data['processingTime']}")
print(f"Groups found: {len(data['data'])}")
Using Node.js¶
const fs = require('fs');
const axios = require('axios');
const fileData = fs.readFileSync('your-policy.al3');
axios.post('http://localhost:8080/v1/parse', fileData, {
headers: {'Content-Type': 'application/octet-stream'}
})
.then(response => {
console.log(`Processing time: ${response.data.processingTime}`);
console.log(`Groups found: ${Object.keys(response.data.data).length}`);
})
.catch(error => console.error(error));
Step 4: Understand the Response¶
Response Structure¶
{
"data": {
"1MHG": {
"Policy Number": "POL-123456",
"Effective Date": "2024-01-15",
...
},
"2TRG": {
"Transaction Type": "NB",
...
}
},
"processingTime": "1.234ms"
}
Response Headers¶
Check validation status:
curl -I -X POST --data-binary "@policy.al3" http://localhost:8080/v1/parse
# Headers:
# X-IOSetu-Validation-Status: true
# X-IOSetu-Error-Count: 0
# X-IOSetu-Warning-Count: 2
# X-Processing-Time: 1.234ms
Step 5: Try Different Output Formats¶
JSON (Default)¶
curl -X POST --data-binary "@policy.al3" \
-H "Accept: application/json" \
http://localhost:8080/v1/parse
Parquet (for Analytics)¶
curl -X POST --data-binary "@policy.al3" \
-H "Accept: application/x-parquet" \
http://localhost:8080/v1/parse > output.parquet
NDJSON (for Streaming)¶
curl -X POST --data-binary "@policy.al3" \
-H "Accept: application/x-ndjson" \
http://localhost:8080/v1/parse
CSV (for Excel)¶
curl -X POST --data-binary "@policy.al3" \
-H "Accept: text/csv" \
http://localhost:8080/v1/parse > output.csv
Step 6: Validate Without Full Parsing¶
For quick validation checks:
curl -X POST --data-binary "@policy.al3" \
http://localhost:8080/v1/validate
Response:
{
"valid": true,
"errors": [],
"warnings": [
{
"severity": "warning",
"message": "Optional field missing",
"groupCode": "1MHG",
"elementId": "OPFLD"
}
]
}
Troubleshooting¶
Container won't start¶
# Check logs
docker logs iosetu
# Verify port is not in use
lsof -i :8080
Authentication errors with ECR¶
# Ensure AWS CLI is configured
aws configure
# Verify ECR access
aws ecr describe-repositories --region us-east-1
Health check fails¶
# Wait 10-15 seconds for startup
sleep 15
curl http://localhost:8080/health
Next Steps¶
Integration Paths¶
- Real-Time API: See Real-Time API Integration for synchronous parsing
- Batch Processing: See Batch ETL Pipeline for high-volume workflows
- Data Lake: See Data Lake Integration for analytics pipelines
Deployment¶
- Production: Deploy to AWS ECS or Kubernetes
- API Reference: Read the API Guide for all endpoints
- Examples: Browse example outputs for different policy types
⏱️ Time to First Parse: < 5 minutes
📊 Supported Formats: JSON, Parquet, NDJSON, CSV
🔒 Data Security: Zero data exfiltration - runs entirely in your environment