Customer Portal
1. Portal Overview
The customer portal allows subscription owners and collaborators to manage their SAAS instances directly from the website, without needing backend Odoo access.
2. Subscription List
URL:
/my/saas/subscriptions
Displays all subscriptions where the current user is the owner or an approved collaborator. Only running and building subscriptions are shown.
- Sortable by: name, type, start date, end date, state
- Paginated list view
3. Subscription Detail
URL:
/my/saas/subscriptions/<id>
Full subscription view with stats and management actions.
Available Information
- Subscription name, domain, and state
- Resource usage (storage, users)
- Action counts and commit counts
- Stage list
- Backup history
4. Portal Actions
Backup Management
| Action | Endpoint | Description |
|---|---|---|
| List Backups | portal_list_backups_json/<id> |
View all backup lines |
| Create Backup | portal_create_backup_json/<id> |
Trigger a new backup |
| Download Backup | download_backup/<line_id> |
Download a backup file |
| Restore Backup | restore_backup/<line_id> |
Restore from backup line |
| Restore from File | portal_restore_database_json/<id> |
Upload or URL restore |
Stage Management
| Action | Endpoint | Description |
|---|---|---|
| Create Stage | portal_create_stage_json/<id> |
Create a new stage (within limit) |
| View Stage | portal_my_saas_subscription_stage/<stage_id> |
Stage detail view |
Domain Management
| Action | Endpoint | Description |
|---|---|---|
| Add Domain | add_domain_json/<id> |
Add a custom customer domain |
| Remove Domain | remove_customer_domain/<id> |
Remove custom domain |
Git Integration
| Action | Endpoint | Description |
|---|---|---|
| Link Webhook | portal_my_saas_subscription_link_git_webhook/<id> |
Connect GitHub webhook |
| Unlink Webhook | portal_my_saas_subscription_unlink_git_webhook/<id> |
Disconnect webhook |
| Change Branch | portal_update_git_branch/<model>/<id> |
Switch deploy branch |
| List Commits | portal_my_saas_subscription_commits/<model>/<id> |
View commit history |
Other Actions
| Action | Endpoint | Description |
|---|---|---|
| Get Logins | portal_my_saas_subscription_logins/<model>/<id> |
Retrieve login credentials |
| Execute SQL | portal_my_saas_subscription_sql/<model>/<id> |
Run SQL queries |
| Code Server | code_server_action/<id> |
Create/manage code server |
| Manage Collaborators | sadeem_subscription_collaborator_actions/<id> |
Invite/remove team members |
| Update Request | portal_create_update_request_json/<id> |
Request limit increase |
| View Orders | portal_subscription_orders/<id> |
Related sale orders |
5. Collaborator Invite
URL:
/saas_collaborator_invite/<encrypted_token>
Public endpoint for accepting collaborator invitations. The token is encrypted with the collaborator UUID and timestamp.
- If the user has no portal account, one is created automatically
- After acceptance, the collaborator gains portal access to the subscription