Appearance
Subscriber - Portal Sign-In
Base URL:
https://your-domain.com
Opens the subscriber web portal already signed in, inside the mobile app's WebView. Payments and the live speed graph run on the portal's own pages, so the app uses this route to send the subscriber there without a second login.
This is a web route, not an API route: it lives at /mobile-subscriber-login (not under /api/v1), answers with redirects and HTML pages instead of JSON, and starts a normal portal session (a cookie) in the WebView.
Mobile Subscriber Login
Start the subscriber's portal session from their API token and redirect to a portal page.
| Property | Value |
|---|---|
| Endpoint | Mobile Subscriber Login |
| Method | GET |
| URL | /mobile-subscriber-login |
| Authentication | Bearer Token (Subscriber) |
Request Headers:
| Header | Value | Required |
|---|---|---|
Authorization | Bearer subscriber-token | Yes |
The token must be sent in the Authorization header. A token query parameter is ignored.
Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
to | string | No | pay opens /subscriber-portal/home and live-speed opens /subscriber-portal/live-graph. Any other value, or none, opens /subscriber-portal/home |
Request Body: None
Responses:
| Case | Answer |
|---|---|
Active subscriber (profile_status 2, an expired package included) | 302 to the chosen portal page, signed in |
| Active subscriber, and the ISP uses SMS two-factor login for subscribers | 302 to /self (the normal portal login, which asks for the code) |
| Missing, unknown, expired or revoked token | 302 to /self |
| Unexpected server error | 302 to /self |
Subscriber with any other profile_status (Registered, Disabled, Terminated) | 403 HTML page: "Your account isn't active. Please contact your ISP." |
| A staff (user) token | 403 HTML page: "This sign-in link is for subscribers." |
Field notes:
- Check
self_service.portal_sign_inin Subscriber Profile Details first: it istruewhen this route will sign the subscriber in. When it isfalse(or the field is missing on an older server), open the portal page directly and let the portal show its normal login. - Any earlier portal or panel login in the same WebView is ended first, so the session always belongs to the token's subscriber.
- No login SMS or email is sent and the last-login time is not changed; the API login already recorded the sign-in.
- The WebView must keep cookies: the portal session cookie is set on the redirect.
Code Examples:
jsx
import { WebView } from 'react-native-webview';
<WebView
source={{
uri: 'https://your-domain.com/mobile-subscriber-login?to=pay',
headers: { Authorization: 'Bearer your-auth-token' },
}}
sharedCookiesEnabled
/>