76 lines
3.1 KiB
Markdown
76 lines
3.1 KiB
Markdown
# RingLogix CPaaS / NetSapiens API
|
|
|
|
White-label phone service provider (VoIPSimplicity backend). RingLogix white-labels **NetSapiens** as their CPaaS platform.
|
|
|
|
## Base URL & Docs
|
|
|
|
```
|
|
https://api.ringlogix.com/pbx/v1/
|
|
```
|
|
|
|
API docs: `https://apidocs.ringlogix.com/` (public, no login). 238 endpoints across 42 categories. Single POST endpoint with `?object=&action=` routing.
|
|
|
|
## Authentication — OAuth2
|
|
|
|
**Endpoint:** `POST .../oauth2/token/`
|
|
|
|
```bash
|
|
curl -X POST "https://api.ringlogix.com/pbx/v1/oauth2/token/" \
|
|
-d "grant_type=password&client_id=$ID&client_secret=$SECRET&username=$USER&password=$PASS"
|
|
```
|
|
|
|
Success 200 returns: `access_token`, `refresh_token`, `domain`, `scope`, `token_type`.
|
|
|
|
## Critical distinctions (Jul 13, 2026)
|
|
|
|
### Reseller portal vs PBX domain vs email alias
|
|
|
|
| Layer | Example | Purpose |
|
|
|---|---|---|
|
|
| **Reseller portal login** | `itpropartner.simplelogin.net` | Manage customers, billing, support tickets |
|
|
| **PBX tenant domain** | `itpropartner.netsapiens.com` or similar | Where phone numbers, devices, subscribers live |
|
|
| **Email alias** | `gbrown@itpropartner.simplelogin.net` | SimpleLogin email forwarding — NOT a PBX domain |
|
|
|
|
The OAuth `username` parameter needs a **PBX subscriber login**, not the reseller portal login. The PBX domain is assigned by RingLogix and is usually a `netsapiens.com` subdomain. `itpropartner.simplelogin.net` is a SimpleLogin email alias — the API rejects it.
|
|
|
|
### OAuth scopes
|
|
|
|
| Scope | Access |
|
|
|---|---|
|
|
| Basic User | Single subscriber's own data |
|
|
| Office Manager | All subscribers in one domain |
|
|
| Reseller | **All domains under the account** |
|
|
|
|
One subscriber with Reseller scope can manage Forefront Wireless, VoIP Simplicity, and every customer domain through a single login.
|
|
|
|
## WebRTC
|
|
|
|
RingLogix (Jul 13, 2026): "Netsapiens doesn't offer a factory SDK, however it does support WebRTC so can use generic tools like **SIP.js** and **JsSIP**." No proprietary SDK.
|
|
|
|
## Auto-Provisioning Flow
|
|
|
|
1. Factory reset phone → DHCP discovery (Options 156/66/160/43)
|
|
2. MAC registration: `POST ?object=mac&action=create`
|
|
3. Device linking: `POST ?object=device&action=create`
|
|
4. Phone contacts NDP server → RingLogix pushes SIP config → phone auto-reboots
|
|
|
|
Provisioning server URL is set in RingLogix portal UI, NOT via API.
|
|
|
|
## Key endpoints
|
|
|
|
| Capability | Endpoint |
|
|
|---|---|
|
|
| List subscribers | `POST /?object=subscriber&action=read` |
|
|
| Count subscribers | `POST /?object=subscriber&action=count` |
|
|
| Create device | `POST /?object=device&action=create` (domain + MAC + model + user) |
|
|
| Read devices | `POST /?object=device&action=read` |
|
|
| Voicemail | `POST /?object=vmailnag&action=read/update/delete` |
|
|
| CDR | Export, schedule, purge available |
|
|
|
|
## Current state (Jul 13, 2026)
|
|
|
|
- Client ID `0-t1706-c284088-r284061` / Secret confirmed valid (OAuth endpoint returns 403, not 401)
|
|
- PBX subscriber `gbrown` rejected by API — likely not a PBX subscriber or wrong scope
|
|
- PBX domain unknown — `itpropartner.simplelogin.net` is NOT the PBX domain
|
|
- Support ticket open with RingLogix: asking for correct PBX domain, subscriber login, and Reseller scope assignment
|