mirror of
https://github.com/Silentely/eSIM-Tools.git
synced 2026-09-03 06:24:20 +08:00
- 重构 ARCHITECTURE.md,拆分未来架构到独立文件,修复 TypeScript 伪代码 - 修正 CLAUDE.md 模块结构图路径与实际代码一致 - 统一 README 中英文版快速开始步骤,补充环境变量配置 - 修复 TOKEN_REFRESH_FIX.md 未声明变量错误 - 统一修复文档格式模板,更新 reference 文件引用路径 - 优化 CORS_SOLUTION.md 标题语义和安全建议 - 补充 SECURITY.md CSP 配置上下文说明 - 调整 User_Guide.md 视频位置,补充扫码安装步骤
3.2 KiB
3.2 KiB
Simyo NL eSIM Tool - Technical Reference
A complete eSIM device change web tool built based on the Simyo ESIM V2.postman_collection.json Postman script.
📁 File Description
Main Files
src/simyo/simyo_modular.html- Simyo eSIM Device Change Tool (Production Version, Modular Architecture)tests/test_simyo_esim.html- Comprehensive Test Page (Development/Test Version)
🔧 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/"
};
💰 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)
📝 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 |
Document Version: 1.1.0 Last Updated: 2026-05-18 Maintainer: eSIM Tools Team