Environments
NotaryCam provides environment-specific base URLs for API integration. Your base URL will be provided by the NotaryCam team during integration setup.
Your specific {BASE_URL} will be provided by the NotaryCam team when your integration is set up. Use this URL for all API requests.
Configuration
// JavaScript
const BASE_URL = '{BASE_URL}'; // Provided by NotaryCam during setup
const api = new NotaryCamAPI(BASE_URL, {
partnerId: process.env.NOTARYCAM_PARTNER_ID,
apiKey: process.env.NOTARYCAM_API_KEY,
apiSecret: process.env.NOTARYCAM_API_SECRET
});
Environment Variables Template
# .env
NOTARYCAM_BASE_URL={BASE_URL}
NOTARYCAM_PARTNER_ID=your-partner-id
NOTARYCAM_API_KEY=your-api-key
NOTARYCAM_API_SECRET=your-api-secret
NOTARYCAM_DEPARTMENT_ID=your-department-id
NOTARYCAM_WORKFLOW_ID=your-workflow-id
Reading From Environment Variables
const BASE_URL = process.env.NOTARYCAM_BASE_URL;
const api = new NotaryCamAPI(BASE_URL, {
partnerId: process.env.NOTARYCAM_PARTNER_ID,
apiKey: process.env.NOTARYCAM_API_KEY,
apiSecret: process.env.NOTARYCAM_API_SECRET
});
Environment Features
- Full API access — All endpoints are available in every environment
- Separate credentials — Each environment uses its own API keys
- Isolated data — Data is isolated between environments
- Consistent behavior — The API works identically across all environments
Testing Strategy
Development Flow
Recommended Approach
-
Local Development
- Write code
- Unit tests
- Mock API responses
-
Integration Testing
- Test against your assigned environment
- End-to-end workflows
- Webhook testing
- Performance testing
-
Staging (Optional)
- Production-like environment
- Final validation
- Load testing
-
Production
- Live transactions
- Real users
- Monitoring active
Credentials
Each environment has its own set of credentials:
| Item | Description |
|---|---|
| Partner ID | Unique to your environment |
| API Key | Unique to your environment |
| API Secret | Unique to your environment |
| Department IDs | May differ per environment |
Data Isolation
- Data is isolated between environments
- User IDs are environment-specific
- Transaction IDs are environment-specific
Rate Limits
Rate limits may vary by environment and partner agreement.
Actual limits are communicated during integration setup.
Best Practices
✅ Do This
- Use environment variables — Store your base URL and credentials in environment variables
- Separate credentials — Never mix credentials between environments
- Test thoroughly — Complete all testing before going to production
- Monitor — Set up monitoring for your integration
- Avoid hardcoding — Always use environment variables for URLs and credentials
❌ Avoid This
- Mixing environments — Don't use credentials from one environment with another's URL
- Hardcoded URLs — Always use environment variables
- Shared credentials — Keep environment credentials separate
- Skipping testing — Never deploy untested code to production
Webhook Endpoints
Configure your webhook URLs to receive event notifications:
https://yourapp.com/webhooks/notarycam
Validate incoming webhooks using your configured Authorization header:
app.post('/webhooks/notarycam', async (req, res) => {
const authHeader = req.headers['authorization'];
if (authHeader !== process.env.NOTARYCAM_WEBHOOK_AUTH_TOKEN) {
return res.status(401).send('Unauthorized');
}
// Process webhook event...
});
Pre-Production Checklist
Before going to production:
- All features tested in your testing environment
- Webhooks working and verified
- Error handling implemented
- Production credentials obtained
- Monitoring configured
- Logging set up
- Security review completed
- Team trained
- Documentation updated
- Rollback plan ready
Common Questions
Q: Do I need separate credentials per environment?
A: Yes, each environment uses completely different API credentials.
Q: Are there differences in API behavior between environments?
A: No. The API works identically in all environments.
Q: How do I get my base URL?
A: Your base URL is provided by the NotaryCam team during integration setup. Contact your account representative if you need it.
Next Steps
- Quick Start Guide - Create your first transaction
- Your First Transaction - Detailed tutorial