API Documentation
Integrate Oytel Mobile eSIM services into your platform with our comprehensive API. Built for wholesale partners and enterprise customers.
Quick Start
1. Get API Credentials
Contact our wholesale team to receive your API credentials and access to our sandbox environment.
Request API Access2. Authentication
All API requests require authentication using your API key in the Authorization header.
Authorization: Bearer YOUR_API_KEY
SDKs & Libraries
Installation
npm install oytel-esim-sdk
Quick Start
import { OytelClient } from 'oytel-esim-sdk'; const client = new OytelClient({ apiKey: 'your-api-key', environment: 'production' // or 'sandbox' });
Example Usage
// Purchase an eSIM plan const order = await client.orders.create({ planSlug: 'eu-roam-50', termMonths: 1, customerEmail: 'customer@example.com', customerName: 'John Doe' }); // Get eSIM details const esim = await client.esims.get(order.esimId); console.log('QR Code:', esim.qrCodeUrl);
Key Features:
- • Automatic authentication handling
- • Built-in error handling and retries
- • TypeScript support (JavaScript SDK)
- • Webhook signature verification
- • Comprehensive test coverage
🚀Getting Started Guide
Complete walkthrough from API key generation to your first eSIM order.
Read the guide →Core API Endpoints
/api/v1/plans
Retrieve available eSIM plans with pricing and features.
{ "plans": [ { "id": "uk-massive-650", "name": "UK Massive 650", "description": "650GB UK data with 35GB roaming", "pricing": { "1_month": 29.95, "3_months": 28.46, "6_months": 26.96, "12_months": 26.36 }, "features": { "uk_data": "650GB", "roaming_data": "35GB", "validity_days": 30 } } ] }
/api/v1/esim/provision
Provision a new eSIM for a customer.
Request Body:
{ "plan_id": "uk-massive-650", "term_months": 1, "customer_email": "user@example.com", "customer_name": "John Doe" }
Response:
{ "success": true, "esim_id": "esim_123456", "iccid": "8944123456789", "qr_code_url": "https://...", "mobile_number": "+447123456789", "expires_at": "2024-02-15T10:30:00Z" }
/api/v1/esim/[esim_id]/status
Check eSIM status and usage information.
{ "esim_id": "esim_123456", "status": "active", "usage": { "data_used_mb": 1024, "data_limit_mb": 650000, "calls_made": 45, "sms_sent": 12 }, "expires_at": "2024-02-15T10:30:00Z" }
Webhooks
Receive real-time notifications about eSIM events in your system.
Supported Events
- •
esim.provisioned
- eSIM successfully created - •
esim.activated
- eSIM activated by customer - •
esim.expired
- eSIM reached expiry date - •
usage.threshold
- Data usage threshold reached
Webhook Payload
{ "event": "esim.provisioned", "timestamp": "2024-01-15T10:30:00Z", "data": { "esim_id": "esim_123456", "customer_email": "user@example.com", "plan_id": "uk-massive-650" } }
Rate Limits
- • Provisioning: 100 requests per hour
- • Status Checks: 1000 requests per hour
- • Plan Queries: Unlimited
- • Burst Limit: 10 requests per second
Note: Rate limits can be increased for enterprise customers. Contact our team for custom limits.
Best Practices
- • Implement exponential backoff for retries
- • Cache plan data to reduce API calls
- • Use webhooks for real-time updates
- • Store eSIM IDs for future reference
- • Handle errors gracefully with fallbacks
SDKs & Libraries
Need Help?
Our technical team is here to help you integrate successfully.
API Version: v1.0 • Base URL: https://api.oytel.online/v1 • Status: Operational