Source code for wxc_sdk.telephony.location.emergency_services

from typing import Optional

from wxc_sdk.api_child import ApiChild
from wxc_sdk.base import ApiModel

__all__ = ['LocationEmergencyServicesApi', 'LocationEmergencyCallNotification', 'LocationCallNotificationOrganization']


[docs] class LocationCallNotificationOrganization(ApiModel): #: When true sends an email to the specified email address when a call is made from this location to emergency #: services. emergency_call_notification_enabled: Optional[bool] = None #: Send an emergency call notification email for all locations. allow_email_notification_all_location_enabled: Optional[bool] = None #: When `emergencyCallNotificationEnabled` is true, the emergency notification email is sent to the specified email #: address. email_address: Optional[str] = None
[docs] class LocationEmergencyCallNotification(ApiModel): #: When true sends an email to the specified email address when a call is made from this location to emergency #: services. emergency_call_notification_enabled: Optional[bool] = None #: When `emergencyCallNotificationEnabled` is true, the emergency notification email is sent to the specified email #: address. email_address: Optional[str] = None #: All locations at organization level organization: Optional[LocationCallNotificationOrganization] = None def update(self) -> dict: """ Date for update :meta private: """ return self.model_dump(mode='json', by_alias=True, exclude_unset=True, exclude={'customer'})
[docs] class LocationEmergencyServicesApi(ApiChild, base='telephony/config/locations'): """ Emergency Call Notifications can be enabled at the organization level, allowing specified email addresses to receive email notifications when an emergency call is made. Once activated at the organization level, individual locations can configure this setting to direct notifications to specific email addresses. To comply with U.S. Public Law 115-127, also known as Kari’s Law, any call that's made from within your organization to emergency services must generate an email notification. Viewing these organization settings requires a full or read-only administrator auth token with a scope of `spark-admin:telephony_config_read`. Modifying these organization settings requires a full administrator auth token with a scope of `spark-admin:telephony_config_write`. """
[docs] def read_emergency_call_notification(self, location_id: str, org_id: str = None) -> LocationEmergencyCallNotification: """ Get a Location Emergency Call Notification Get location emergency call notification. Emergency Call Notifications can be enabled at the organization level, allowing specified email addresses to receive email notifications when an emergency call is made. Once activated at the organization level, individual locations can configure this setting to direct notifications to specific email addresses. To comply with U.S. Public Law 115-127, also known as Kari’s Law, any call that's made from within your organization to emergency services must generate an email notification. To retrieve location call notifications requires a full, user or read-only administrator or location administrator auth token with a scope of `spark-admin:telephony_config_read`. :param location_id: Retrieve Emergency Call Notification attributes for this location. :type location_id: str :param org_id: Retrieve Emergency Call Notification attributes for the location in this organization. :type org_id: str :rtype: :class:`LocationEmergencyCallNotification` """ params = {} if org_id is not None: params['orgId'] = org_id url = self.ep(f'{location_id}/emergencyCallNotification') data = super().get(url, params=params) r = LocationEmergencyCallNotification.model_validate(data) return r
[docs] def update_emergency_call_notification(self, location_id: str, setting: LocationEmergencyCallNotification, org_id: str = None): """ Update a location emergency call notification. Once settings enabled at the organization level, the configured email address will receive emergency call notifications for all locations; for specific location customization, users can navigate to Management > Locations, select the Calling tab, and update the Emergency Call Notification settings. Emergency Call Notifications can be enabled at the organization level, allowing specified email addresses to receive email notifications when an emergency call is made. Once activated at the organization level, individual locations can configure this setting to direct notifications to specific email addresses. To comply with U.S. Public Law 115-127, also known as Kari’s Law, any call that's made from within your organization to emergency services must generate an email notification. To update location call notification requires a full, user or location administrator auth token with a scope of `spark-admin:telephony_config_write`. :param location_id: Update Emergency Call Notification attributes for this location. :type location_id: str :param setting: new settings :type setting: LocationEmergencyCallNotification :param org_id: Update Emergency Call Notification attributes for a location in this organization. :type org_id: str :rtype: None """ params = org_id and {'orgId': org_id} or None body = setting.update() url = self.ep(f'{location_id}/emergencyCallNotification') super().put(url, params=params, json=body)