Environments
GoRoute provides two environments: Test and Production. Use Test for development and integration testing, then switch to Production when you're ready to go live.
Environment Overview
| Aspect | Test Environment | Production Environment |
|---|---|---|
| Base URL | https://app.goroute.ai/peppol-api | https://app.goroute.ai/peppol-api |
| Peppol Network | Peppol Test Network (ACC) | Peppol Production Network |
| Real Invoices | ❌ No | ✅ Yes |
| Billing | Free (unlimited) | Per-invoice pricing |
| SMP | smp-test.goroute.ai | smp.goroute.ai |
| AP Endpoint | ap-test.goroute.ai | ap.goroute.ai |
Identifying Your Environment
Your API key determines which environment you're using:
curl -X GET https://app.goroute.ai/peppol-api/peppol/version \
-H "X-API-Key: YOUR_API_KEY"
Response:
{
"version": "1.0.0",
"environment": "test", // or "production"
"peppol_network": "acc", // or "prod"
"peppol_ap_id": "POP000991"
}
Test Environment
Purpose
- Develop and test your integration
- Validate invoice formats
- Test webhook handling
- No real invoices are transmitted
Test Participants
Use these test participants for development:
| Peppol ID | Description | Capabilities |
|---|---|---|
9915:phase4test | GoRoute Test Receiver | Invoice, Credit Note |
0088:5060012349998 | OpenPeppol Test | Invoice |
9959:testparticipant | Generic Test | Invoice, Credit Note, Order |
Test Flow
Your System → GoRoute (Test) → Peppol ACC Network → Test Receivers
Invoices sent in test mode are delivered to the test SMP/AP infrastructure. You can receive them back if you're registered as a test receiver.
Production Environment
Purpose
- Send real invoices to real businesses
- Receive production invoices
- Full compliance and legal validity
Prerequisites
Before going to production:
- ✅ Complete integration testing
- ✅ Pass all validation scenarios
- ✅ Configure production webhooks
- ✅ Set up error handling
- ✅ Request production API key
Production Flow
Your System → GoRoute (Prod) → Peppol Production Network → Real Recipients
Invoices sent in production are legally binding documents. Ensure your integration is thoroughly tested before switching.
Switching Environments
Step 1: Request Production Access
Contact GoRoute to enable production access:
- Go to Settings → Production Access
- Complete the production readiness checklist
- Submit for review
- Receive production API key (usually within 24 hours)
Step 2: Update Configuration
Update your application configuration:
# Development
GOROUTE_API_KEY = os.environ.get("GOROUTE_TEST_API_KEY")
# Production
GOROUTE_API_KEY = os.environ.get("GOROUTE_PROD_API_KEY")
Step 3: Verify Production Connection
curl -X GET https://app.goroute.ai/peppol-api/peppol/version \
-H "X-API-Key: YOUR_PRODUCTION_API_KEY"
Confirm "environment": "production" in the response.
Environment Variables
Recommended setup for multiple environments:
# .env.development
GOROUTE_API_KEY=pk_goroute_test_abc123
GOROUTE_ENVIRONMENT=test
# .env.production
GOROUTE_API_KEY=pk_goroute_prod_xyz789
GOROUTE_ENVIRONMENT=production
Best Practices
Development Workflow
1. Local Development → Test Environment
2. Staging/QA → Test Environment
3. Production → Production Environment
Environment-Specific Webhooks
Configure different webhook URLs per environment:
| Environment | Webhook URL |
|---|---|
| Test | https://staging.yourapp.com/webhooks/goroute |
| Production | https://yourapp.com/webhooks/goroute |
Data Isolation
- Test and production data are completely isolated
- Organizations created in test don't exist in production
- You must re-register participants for production
Frequently Asked Questions
Can I use test API keys in production?
No. Test API keys only work with the Peppol test network. Production requires a production API key.
Are test invoices legally binding?
No. Test invoices are not transmitted on the production Peppol network and have no legal effect.
How do I test receiving invoices?
- Register a test participant in the test SMP
- Send a test invoice to your participant ID
- The invoice will be delivered to your webhook
Can I switch back to test after going production?
Yes. You can maintain both test and production API keys. Use test for ongoing development while production handles real traffic.