10 KiB
Simyo NL eSIM Tool
A complete eSIM device change web tool built based on the Simyo ESIM V2.postman_collection.json Postman script.
🚀 Project Overview
This is a web application designed specifically for Simyo NL (Netherlands) users that allows existing Simyo subscribers to manage eSIM device changes directly through a browser, without using mobile apps or complex API tools.
Core Features
- ✅ Simyo Account Authentication Login
- ✅ eSIM Configuration Information Retrieval
- ✅ eSIM QR Code Generation and Display
- ✅ Device Replacement Support
- ✅ Installation Confirmation Function
- ✅ Responsive Design, Mobile Device Support
- ✅ Complete Error Handling and User Experience Optimization
📁 File Description
Main Files
simyo_complete_esim.html- Complete Simyo eSIM Device Change Tool (Production Version)test_simyo_esim.html- Comprehensive Test Page (Development/Test Version)Simyo ESIM V2.postman_collection.json- Original Postman Script (Reference Document)simyo.html- Original Simplified Version (Reference)
🔧 Technical Architecture
Frontend Technology Stack
- HTML5 - Semantic Structure
- CSS3 - Responsive Design, Bootstrap 5.3.0, Simyo Brand Colors
- JavaScript (ES6+) - Modern JavaScript Features
- Font Awesome 6.0.0 - Icon Library
API Integration
- Simyo Sessions API - User Authentication and Session Management
- Simyo eSIM API - eSIM Configuration Retrieval and Management
- QR Code API - QR Code Generation Service
Key API Endpoints
const apiEndpoints = {
login: "https://appapi.simyo.nl/simyoapi/api/v1/sessions",
getEsim: "https://appapi.simyo.nl/simyoapi/api/v1/esim/get-by-customer",
confirmInstall: "https://appapi.simyo.nl/simyoapi/api/v1/esim/reorder-profile-installed",
qrcode: "https://qrcode.show/"
};
🚦 Usage Process
Initial Registration and eSIM Installation
Step 1: Account Login
- Enter your Simyo phone number (06 prefix, 10 digits)
- Enter your Simyo account password
- Click "Login Account" for authentication
Step 2: Get eSIM Information
- Click "Get eSIM"
- The system will retrieve your eSIM configuration information from the Simyo server
- Display detailed information such as activation code, status, and associated number
Step 3: Generate eSIM QR Code
- Click "Generate QR Code"
- The system will create an LPA format activation code
- Generate a QR code for device scanning installation
- You can copy the LPA string or download the QR code image
Step 4: Confirm Installation (Optional)
- Only needed when the app cannot log in or when changing devices
- Click "Confirm Installation" to verify eSIM status
Device Replacement Process
This tool now supports the complete device replacement process, including verification code processing:
Method 1: Complete Device Replacement Using This Tool (Recommended)
-
Login Account
- Login with your Simyo phone number and password
-
Select Device Replacement
- After successful login, select the "Replace Device" option
-
Complete Device Replacement Process
- Step 2.1: Request Device Change - Notify the Simyo system that you want to replace your device
- Step 2.2: Send Verification Code (Optional) - Execute this step if you can receive SMS
- Step 2.3: Confirm Verification Code - Enter the 6-digit verification code received
-
Get eSIM Configuration
- After successful verification, automatically proceed to the eSIM retrieval step
- Generate a new QR code for the new device
-
Install eSIM on New Device
- Scan the generated QR code on the new device
- Or manually enter the LPA activation code
-
Confirm Installation
- Use the "Confirm Installation" function to verify eSIM status
- Signal will be restored quickly after successful confirmation
Method 2: Combined with APP Usage (Traditional Method)
-
Request device change in the Simyo APP
- Open the official Simyo APP
- Select "Replace Device"
- Fill in the received verification code
- Stay on the next interface, do not continue operating
-
Use This Tool to Generate QR Code
- Re-login to your Simyo account
- Select "Get eSIM Directly"
- Generate a new QR code
-
Install eSIM on New Device
- Scan the generated QR code on the new device
- Or manually enter the LPA activation code
- Enable the installed Simyo configuration
-
Confirm Installation (Recommended)
- Use the "Confirm Installation" function of this tool
- Signal will be restored quickly after successful confirmation
Verification Code Acquisition Instructions
- If you can receive SMS: Execute step 2.1 and then immediately execute step 2.2, the verification code will be sent to your phone
- If you cannot receive SMS: Only execute step 2.1, then contact Simyo customer service for "verification code when replacing eSIM device"
- Customer service may require: number, name, birthday, address, postal code
- Please prepare this information in advance, which can be found in the Simyo APP
💰 Number Preservation Service
Simyo offers number preservation service with details:
- Payee: ING BANK N.V.
- IBAN:
NL19INGB0007811670 - Amount: 10 Euro minimum
- Remarks: Your Simyo number (complete number starting with 06)
⚠️ Important Notes
Usage Precautions
- Netherlands Numbers Only - Only for Simyo NL (Netherlands) users
- Phone Number Format - Must be 10-digit number starting with 06
- eSIM Device Requirements - Ensure your device supports eSIM functionality
- Network Connection - Stable network connection required for API calls
Device Replacement Special Notes
- Please follow the process strictly when replacing devices
- Do not continue operating in the APP after requesting device change, immediately use this tool
- Non-native eSIM devices need to send
installandenablednotifications
System Requirements
- Modern Browser - Chrome 80+, Firefox 75+, Safari 13+, Edge 80+
- HTTPS Environment - Due to security restrictions, some features require HTTPS
- JavaScript Enabled - JavaScript must be enabled to work properly
🧪 Testing
Use test_simyo_esim.html for functional testing:
Test Categories
- Unit Tests - Phone number validation, API header generation, LPA format, UI components
- Integration Tests - Login process, eSIM retrieval, QR code generation, installation confirmation
- End-to-End Tests - Complete process, error handling, device replacement scenarios
- Performance Tests - API response time, memory usage monitoring
Running Tests
- Open
test_simyo_esim.html - Configure mock data (optional)
- Click "Run All Tests" or select specific test categories
- View test results and detailed logs
📝 Development Instructions
Core Component Architecture
// Global State Management
const appState = {
sessionToken: "", // Simyo session token
activationCode: "", // eSIM activation code
phoneNumber: "", // User phone number
password: "", // User password
currentStep: 1 // Current step
};
Main Function Description
mockValidatePhoneNumber()- Validate Dutch phone number formatcreateHeaders()- Generate Simyo API request headersshowSection(stepNumber)- Show specified stepshowStatus(element, message, type)- Show status informationgenerateQRCode(data)- Generate eSIM QR code
API Call Example
// Login Simyo Account
const response = await fetch('https://appapi.simyo.nl/simyoapi/api/v1/sessions', {
method: 'POST',
headers: createHeaders(false),
body: JSON.stringify({
phoneNumber: '0613123712',
password: 'your_password'
})
});
// Get eSIM Information
const esimResponse = await fetch('https://appapi.simyo.nl/simyoapi/api/v1/esim/get-by-customer', {
method: 'GET',
headers: createHeaders(true) // Include session token
});
🔄 Differences from Giffgaff Tool
| Feature | Simyo eSIM | Giffgaff eSIM |
|---|---|---|
| Authentication Method | Username/password login | OAuth 2.0 PKCE |
| MFA Verification | No additional verification | Email verification code |
| API Complexity | Relatively simple | GraphQL + REST |
| Number of Steps | 4-step process | 5-step process |
| Device Replacement | Dedicated process support | Through SIM swap |
| Number Preservation | 10 Euro minimum | According to normal plan |
🤝 Contribution Guidelines
Development Environment Setup
- Clone or download project files
- Run using local HTTP server (HTTPS recommended)
- Configure test data and API endpoints
Code Standards
- Use modern JavaScript syntax (ES6+)
- Follow semantic HTML structure
- Maintain CSS modularity and responsive design
- Add detailed error handling and user feedback
Testing Requirements
- New features must include corresponding test cases
- Ensure all existing tests pass
- Performance tests to ensure reasonable response times
🔗 Related Resources
📄 License
This project is developed based on the original Simyo Postman script for learning and personal use only. Please comply with Simyo's terms of service and API usage policy.
🙋♂️ Support
If you have questions or suggestions, please:
- First use the test page to verify functionality
- Check browser console error messages
- Confirm network connection and API availability
- Refer to Simyo official documentation
Disclaimer: This tool is developed solely for user convenience. Please ensure you understand the risks and consequences of eSIM conversion before use. The developer is not responsible for any losses caused by using this tool. Please ensure you have the right to use the related Simyo account and services.