Dokumen ini membahas endpoint tenant-scoped yang berjalan di tenant cluster context.Scope#
routes/tenant/billing.php
routes/tenant/integrations.php
routes/tenant/master-data.php
routes/tenant/taxonomy.php
app/Http/Controllers/Api/V1/Tenant/Billing/*
app/Http/Controllers/Api/V1/Tenant/Integration/*
app/Http/Controllers/Api/V1/Tenant/MasterData/*
Tenant Middleware and Cluster Flow#
Endpoint Matrix#
A. Tenant Billing (/api/v1/tenant/billing/*)#
Baseline middleware group:ability:tenant:access,platform:access
| Method | Path | Controller | Middleware Tambahan |
|---|
| GET | /subscription | SubscriptionController@show | - |
| GET | /entitlements | SubscriptionController@entitlements | - |
| PUT | /subscription/plan | SubscriptionController@changePlan | - |
| POST | /subscription/cancel | SubscriptionController@cancel | - |
| GET | /invoices | InvoiceController@index | - |
| GET | /invoices/{invoiceId} | InvoiceController@show | - |
| GET | /timeline | BillingTimelineController | - |
| GET | /addons | SubscriptionAddonController@index | - |
| POST | /addons | SubscriptionAddonController@store | subscription.active |
| PATCH | /addons/{addonId}/deactivate | SubscriptionAddonController@deactivate | - |
| PATCH | /addons/{addonId}/pause | SubscriptionAddonController@pause | - |
| PATCH | /addons/{addonId}/resume | SubscriptionAddonController@resume | - |
| PATCH | /addons/{addonId}/schedule-cancel | SubscriptionAddonController@scheduleCancel | - |
B. Tenant Integrations (/api/v1/tenant/integrations/*)#
ability:tenant:access,platform:access
| Method | Path | Controller | Middleware Tambahan |
|---|
| GET | /health | IntegrationAccessController@health | subscription.feature:api_access |
| POST | /orders | IntegrationAccessController@createOrder | subscription.feature:api_access, subscription.feature:max_monthly_orders, usage.track:max_monthly_orders |
| POST | /users/invite | IntegrationAccessController@inviteUser | subscription.feature:api_access, subscription.feature:max_users |
C. Tenant Master Data (/api/v1/tenant/master-data/*)#
ability:tenant:access,platform:access
| Method | Path | Controller | Tujuan |
|---|
| GET | /taxonomies | TaxonomyController@index | List taxonomy tenant |
| POST | /taxonomies | TaxonomyController@store | Create taxonomy custom |
| PUT | /taxonomies/{taxonomyId} | TaxonomyController@update | Update taxonomy custom |
| DELETE | /taxonomies/{taxonomyId} | TaxonomyController@destroy | Delete taxonomy custom |
Taxonomy Rule Flow#
Class Responsibility Map#
SubscriptionController: read/change/cancel subscription tenant.
SubscriptionAddonController: addon lifecycle tenant.
InvoiceController: invoice query tenant-scoped.
BillingTimelineController: timeline billing tenant.
IntegrationAccessController: API integration tenant dengan feature gate.
TaxonomyController: CRUD taxonomy tenant local.
TaxonomyObserver: rules domain lokal taxonomy.
HasTenantClusterConnection + TenantClusterResolver: resolve koneksi cluster otomatis.
Diubah pada 2026-03-03 22:25:30