Skip to main content

CloudonixSettings Model

The CloudonixSettings model stores per-organization Cloudonix CPaaS credentials and voice application configuration.

Table: cloudonix_settings
Model: App\Models\CloudonixSettings

Database Schema

ColumnTypeNullableDescription
idbigint unsignedNoPrimary key
organization_idbigint unsignedNoOne-to-one with organization
domain_uuidstringYesCloudonix domain UUID
domain_namestringYesCloudonix domain name
domain_api_keystringYesEncrypted API key
domain_requests_api_keystringYesEncrypted webhook auth key
webhook_base_urlstringYesOverride URL for webhooks
voice_application_idstringYesCloudonix voice app ID
voice_application_uuidstringYes
voice_application_namestringYes
no_answer_timeoutintYesDefault ring timeout
recording_formatstringYesPreferred recording format
cloudonix_packagestringYesfree_tier, standard, etc.
created_atdatetimeNo
updated_atdatetimeNo

Relationships

$settings->organization() → Organization

Methods

$settings->getCallbackUrl(): string
$settings->getCdrUrl(): string
$settings->getVoiceRouteUrl(): string
$settings->getMaskedDomainApiKey(): ?string
$settings->getMaskedDomainRequestsApiKey(): ?string
$settings->isConfigured(): bool
$settings->hasWebhookAuth(): bool
$settings->getEffectiveWebhookBaseUrlAttribute(): ?string
$settings->isWebhookUrlOverridden(): bool
$settings->getWebhookUrlDetails(): array

Usage Notes

  • API keys are encrypted at rest using Laravel's encryption.
  • The effective webhook base URL considers application-level overrides first.
  • Settings are updated through SettingsController::updateCloudonixSettings, which also syncs the voice application to Cloudonix.