85 lines
3.6 KiB
Markdown
85 lines
3.6 KiB
Markdown
# Service Integration API Reference (IT Pro Partner Portal)
|
|
|
|
Quick-reference for all external service APIs that the portal integrates with.
|
|
Each entry covers: API base URL, auth method, key endpoints relevant to the portal, and what's needed to connect.
|
|
|
|
## RingLogix CPaaS
|
|
|
|
- **API base:** `https://api.ringlogix.com/pbx/v1/`
|
|
- **Auth:** OAuth2 (client_id + client_secret)
|
|
- **Coverage:** Subscribers, DIDs, devices, auto attendants, call queues, feature plans
|
|
- **Skill references:** `sync_ringlogix.py` (sync engine already built), RingLogix API patterns in `references/ringlogix-netsapiens-api.md`
|
|
- **Needed:** OAuth client_id, client_secret, reseller username + password
|
|
|
|
## SyncroMSP
|
|
|
|
- **API docs:** `https://api-docs.syncromsp.com/` (Swagger, 30+ entities)
|
|
- **Auth:** API key from Admin Settings → API → Generate Key
|
|
- **Portal uses:** Customers, tickets, assets, invoices, contacts
|
|
- **Needed:** Syncro subdomain + API key
|
|
|
|
## Cloudflare
|
|
|
|
- **API docs:** `https://developers.cloudflare.com/api/`
|
|
- **Auth:** API token (Create in Dashboard → My Profile → API Tokens)
|
|
- **Portal uses:** Create zones, DNS records, SSL certificates, account management
|
|
- **Needed:** API token with Zone:Edit + DNS:Edit permissions
|
|
|
|
## RunCloud
|
|
|
|
- **API docs:** Built-in (nearly all dashboard tasks available via API)
|
|
- **Auth:** API key from RunCloud dashboard
|
|
- **Portal uses:** Create web apps, manage servers, SSL certificates, databases
|
|
- **Needed:** RunCloud API key
|
|
|
|
## Hetzner Cloud
|
|
|
|
- **API:** `https://api.hetzner.cloud/v1`
|
|
- **Auth:** API token (Read & Write)
|
|
- **Portal uses:** Server management (reboot, snapshot, status), provisioning
|
|
- **Needed:** Cloud API token (not Robot — Robot is for dedicated servers & auctions)
|
|
|
|
## Hudu
|
|
|
|
- **API:** `https://{instance}.hudu.com/api/v1/`
|
|
- **Auth:** `X-API-KEY` header or `Authorization: Bearer`
|
|
- **Portal uses:** READ only — pull articles, passwords, assets, procedures inline when viewing a customer or device
|
|
- **Needed:** Hudu instance URL + API key (generate in Admin → API Keys → View Documentation)
|
|
- **Note:** Internal KB only, not customer-facing. No write-back from portal.
|
|
|
|
## UniFi / Ubiquiti UDM Pro
|
|
|
|
- **API (official):** `https://developer.ui.com/` — API keys in Settings → API Keys
|
|
- **API (controller):** `https://{controller-ip}:443/api/s/default/stat/{health,device,user}`
|
|
- **Portal uses:** Device status, interface monitoring, connected clients, network topology, firmware version
|
|
- **Needed:** API key + UniFi controller hostname/IP
|
|
|
|
## Grandstream GDMS
|
|
|
|
- **API:** GDMS Developer API (apply for access through GDMS portal)
|
|
- **Auth:** API key from GDMS Developer access grant
|
|
- **Portal uses:** Device provisioning, firmware management, config templates, device status
|
|
- **Needed:** GDMS Developer account + API key
|
|
- **Caveat:** Reportedly "cryptic" API per community SDK maintainers. Will require hands-on debugging with the actual endpoints from the GDMS account.
|
|
|
|
## Stripe
|
|
|
|
- **API:** `https://api.stripe.com/v1/`
|
|
- **Auth:** Secret key (sk_live_*)
|
|
- **Portal uses:** Customers, subscriptions, payment methods, invoices, webhooks
|
|
- **Needed:** Stripe secret key (already used — one account with metadata tags per integration)
|
|
|
|
## Xero
|
|
|
|
- **API:** OAuth2
|
|
- **Portal uses:** Invoices, contacts, bank transactions, accounting sync
|
|
- **Needed:** Xero OAuth2 client_id + client_secret + tenant_id
|
|
|
|
## Wasabi S3
|
|
|
|
- **API:** AWS S3-compatible (boto3 / awscli)
|
|
- **Endpoint:** `https://s3.{region}.wasabisys.com`
|
|
- **Portal uses:** Backup upload, restore, listing, lifecycle management
|
|
- **Needed:** IAM access key + secret key (subuser, not root)
|
|
- **See:** `references/wasabi-iam-setup.md` for policy template and setup procedure
|