wxc_sdk.telephony.jobs package

Jobs API

class wxc_sdk.telephony.jobs.StepExecutionStatus(*, id: int, startTime: datetime, endTime: datetime | None = None, lastUpdated: datetime, statusMessage: str, exitCode: str, name: str, timeElapsed: str)[source]

Bases: ApiModel

id: int

Unique identifier that identifies each step in a job.

start_time: datetime

Step execution start time.

end_time: datetime | None

Step execution end time.

last_updated: datetime

Last updated time for a step.

status_message: str

Displays status for a step.

exit_code: str

ExitCode for a step.

name: str

Step name.

time_elapsed: str

Time lapsed since the step execution started.

class wxc_sdk.telephony.jobs.JobExecutionStatus(*, id: int, startTime: datetime | None = None, endTime: datetime | None = None, lastUpdated: datetime, statusMessage: str | None = None, exitCode: str | None = None, createdTime: datetime, timeElapsed: str | None = None, stepExecutionStatuses: list[StepExecutionStatus] = None)[source]

Bases: ApiModel

id: int

Unique identifier that identifies each instance of the job.

start_time: datetime | None

Step execution start time.

end_time: datetime | None

Step execution end time.

last_updated: datetime

Last updated time post one of the step execution completion.

status_message: str | None

Displays status for overall steps that are part of the job.

exit_code: str | None

Exit code for a job.

created_time: datetime

Job creation time.

time_elapsed: str | None

Time lapsed since the job execution started.

step_execution_statuses: list[StepExecutionStatus]

Status of each step within a job.

class wxc_sdk.telephony.jobs.StartJobResponse(*, name: str | None = None, id: str, trackingId: str, sourceUserId: str, sourceCustomerId: str, targetCustomerId: str, instanceId: int, jobExecutionStatus: list[JobExecutionStatus], latestExecutionStatus: str, locationCustomizationsEnabled: bool | None = None, target: str, locationId: str, locationName: str | None = None, percentageComplete: int, deviceCount: int | None = None)[source]

Bases: ApiModel

name: str | None

Job name.

id: str

Unique identifier of the job.

tracking_id: str

Unique identifier to track the flow of HTTP requests.

source_user_id: str

Unique identifier to identify which user has run the job.

source_customer_id: str

Unique identifier to identify the customer who has run the job.

target_customer_id: str

Unique identifier to identify the customer for which the job was run.

instance_id: int

Unique identifier to identify the instance of the job.

job_execution_status: list[JobExecutionStatus]

Displays the most recent step’s execution status. Contains execution statuses of all the steps involve in the execution of the job.

latest_execution_status: str

Indicates the most recent status (STARTING, STARTED, COMPLETED, or FAILED) of the job at the time of invocation.

location_customizations_enabled: bool | None

indicates if all the devices within this location will be customized with new requested customizations(if set to true) or will be overridden with the one at organization level (if set to false or any other value). This field has no effect when the job is being triggered at organization level.

target: str

Indicates if the job was run at organization level (‘CUSTOMER’) or location (‘LOCATION’) level.

location_id: str

Unique location identifier for which the job was run.

location_name: str | None

name of location for which the job was run, only present for target LOCATION

percentage_complete: int

Displays job completion percentage

device_count: int | None

Count of number of devices rebuilt.

class wxc_sdk.telephony.jobs.JobErrorMessage(*, description: str, code: str | None = None, location: str | None = None, locationId: str | None = None)[source]

Bases: ApiModel

description: str

Error message.

code: str | None

Internal error code.

location: str | None

Message describing the location or point of failure.

location_id: str | None
class wxc_sdk.telephony.jobs.JobError(*, key: str, message: list[JobErrorMessage])[source]

Bases: ApiModel

key: str

HTTP error code.

message: list[JobErrorMessage]
class wxc_sdk.telephony.jobs.JobErrorItem(*, itemNumber: int, trackingId: str, error: JobError)[source]

Bases: ApiModel

item_number: int

Index of error number.

tracking_id: str

Unique identifier to track the HTTP requests.

error: JobError
class wxc_sdk.telephony.jobs.JobsApi(*, session: RestSession)[source]

Bases: ApiChild

Jobs API

base = 'telephony/config/jobs'
device_settings: DeviceSettingsJobsApi

API for device settings jobs

manage_numbers: ManageNumbersJobsApi

API for manage numbers jobs

apply_line_key_templates: ApplyLineKeyTemplatesJobsApi

API for apply line key template jobs

rebuild_phones: RebuildPhonesJobsApi

API for rebuild phone jobs

class wxc_sdk.telephony.jobs.DeviceSettingsJobsApi(*, session: RestSession, base: str | None = None)[source]

Bases: ApiChild

API for jobs to update device settings at the location and organization level

change(location_id: str | None, customization: DeviceCustomization, org_id: str | None = None) StartJobResponse[source]

Change device settings across organization or locations jobs.

Performs bulk and asynchronous processing for all types of device settings initiated by organization and system admins in a stateful persistent manner. This job will modify the requested device settings across all the devices. Whenever a location ID is specified in the request, it will modify the requested device settings only for the devices that are part of the provided location within an organization.

Returns a unique job ID which can then be utilized further to retrieve status and errors for the same.

Only one job per customer can be running at any given time within the same organization. An attempt to run multiple jobs at the same time will result in a 409 error response.

Running a job requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Location within an organization where changes of device settings will be applied to all the devices within it.

  • customization (DeviceCustomization) – customization. Atttribute custom_enabled Indicates if all the devices within this location will be customized with new requested customizations(if set to true) or will be overridden with the one at organization level (if set to false or any other value). This field has no effect when the job is being triggered at organization level.

  • org_id (str) – Apply change device settings for all the devices under this organization.

Returns:

information about the created job

Return type:

StartJobResponse

list(org_id: str | None = None, **params) Generator[StartJobResponse, None, None][source]

List change device settings jobs.

Lists all the jobs for jobType calldevicesettings for the given organization in order of most recent one to oldest one irrespective of its status.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • org_id (str) – Retrieve list of ‘calldevicesettings’ jobs for this organization.

  • params – optional parameters

Returns:

Generator of StartJobResponse instances

status(job_id: str, org_id: str | None = None) StartJobResponse[source]

Get change device settings job status.

Provides details of the job with jobId of jobType calldevicesettings.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve job details for this jobId.

  • org_id (str) – Retrieve job details for this org

Returns:

job details

Return type:

StartJobResponse

errors(job_id: str, org_id: str | None = None) Generator[JobErrorItem, None, None][source]

List change device settings job errors.

Lists all error details of the job with jobId of jobType calldevicesettings.

This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id – Retrieve job details for this jobId.

  • org_id – Retrieve list of jobs for this organization.

Returns:

base = 'telephony/config/jobs/devices/callDeviceSettings'
class wxc_sdk.telephony.jobs.NumberItem(*, locationId: str | None = None, numbers: list[str] | None = None)[source]

Bases: ApiModel

location_id: str | None

The source location of the numbers to be moved.

numbers: list[str] | None

Indicates the numbers to be moved from one location to another location.

class wxc_sdk.telephony.jobs.MoveNumberCounts(*, totalNumbers: int | None = None, numbersDeleted: int | None = None, numbersMoved: int | None = None, numbersFailed: int | None = None)[source]

Bases: ApiModel

total_numbers: int | None

Indicates the total number of phone numbers requested to be moved.

numbers_deleted: int | None

Indicates the total number of phone numbers successfully deleted.

numbers_moved: int | None

Indicates the total number of phone numbers successfully moved.

numbers_failed: int | None

Indicates the total number of phone numbers failed.

class wxc_sdk.telephony.jobs.NumberJob(*, id: str | None = None, name: str | None = None, jobType: str | None = None, trackingId: str | None = None, sourceUserId: str | None = None, sourceCustomerId: str | None = None, targetCustomerId: str | None = None, instanceId: int | None = None, jobExecutionStatus: list[JobExecutionStatus] | None = None, latestExecutionStatus: str | None = None, operationType: str | None = None, sourceLocationId: str | None = None, targetLocationId: str | None = None, sourceLocationName: str | None = None, targetLocationName: str | None = None, counts: MoveNumberCounts | None = None)[source]

Bases: ApiModel

id: str | None

Unique identifier of the job.

name: str | None

job name

job_type: str | None

Job type.

tracking_id: str | None

Unique identifier to track the flow of HTTP requests.

source_user_id: str | None

Unique identifier to identify which user has run the job.

source_customer_id: str | None

Unique identifier to identify the customer who has run the job.

target_customer_id: str | None

Unique identifier to identify the customer for which the job was run.

instance_id: int | None

Unique identifier to identify the instance of the job.

job_execution_status: list[JobExecutionStatus] | None
latest_execution_status: str | None

Indicates the most recent status (STARTING, STARTED, COMPLETED, FAILED) of the job at the time of invocation.

operation_type: str | None

Indicates operation type that was carried out.

source_location_id: str | None

Unique location identifier for which the job was run.

target_location_id: str | None

Unique location identifier for which the numbers have been moved.

source_location_name: str | None

The location name for which the job was run.

target_location_name: str | None

The location name for which the numbers have been moved.

counts: MoveNumberCounts | None

Job statistics.

class wxc_sdk.telephony.jobs.ErrorMessageObject(*, code: str | None = None, description: str | None = None, locationId: str | None = None)[source]

Bases: ApiModel

code: str | None
description: str | None
location_id: str | None
class wxc_sdk.telephony.jobs.ErrorObject(*, key: str | None = None, message: list[ErrorMessageObject] | None = None)[source]

Bases: ApiModel

key: str | None

HTTP error code.

message: list[ErrorMessageObject] | None
class wxc_sdk.telephony.jobs.ManageNumberErrorItem(*, item: str | None = None, itemNumber: int | None = None, trackingId: str | None = None, error: ErrorObject | None = None)[source]

Bases: ApiModel

item: str | None

Phone number

item_number: int | None

Index of error number.

tracking_id: str | None

Unique identifier to track the HTTP requests.

error: ErrorObject | None
class wxc_sdk.telephony.jobs.ManageNumbersJobsApi(*, session: RestSession, base: str | None = None)[source]

Bases: ApiChild

API for jobs to manage numbers

list(org_id: str | None = None, **params) Generator[NumberJob, None, None][source]

Lists all Manage Numbers jobs for the given organization in order of most recent one to oldest one irrespective of its status. The public API only supports initiating jobs which move numbers between locations. Via Control Hub they can initiate both the move and delete, so this listing can show both. This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Retrieve list of Manage Number jobs for this organization.

initiate_job(operation: str, target_location_id: str, number_list: List[NumberItem]) NumberJob[source]

Starts the numbers move from one location to another location. Although jobs can do both MOVE and DELETE actions internally, only MOVE is supported publicly. In order to move a number, For example, you can move from Cisco PSTN to Cisco PSTN, but you cannot move from Cisco PSTN to a location with Cloud Connected PSTN. This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • operation (str) – Indicates the kind of operation to be carried out.

  • target_location_id (str) – The target location within organization where the unassigned numbers will be moved from the source location.

  • number_list (list[NumberItem]) – Indicates the numbers to be moved from source to target locations.

status(job_id: str | None = None) NumberJob[source]

Returns the status and other details of the job. This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

job_id (str) – Retrieve job details for this jobId.

pause(job_id: str | None = None, org_id: str | None = None)[source]

Pause the running Manage Numbers Job. A paused job can be resumed or abandoned. This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • job_id (str) – Pause the Manage Numbers job for this jobId.

  • org_id (str) – Pause the Manage Numbers job for this organization.

resume(job_id: str | None = None, org_id: str | None = None)[source]

Resume the paused Manage Numbers Job. A paused job can be resumed or abandoned. This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • job_id (str) – Resume the Manage Numbers job for this jobId.

  • org_id (str) – Resume the Manage Numbers job for this organization.

abandon(job_id: str | None = None, org_id: str | None = None)[source]

Abandon the Manage Numbers Job. This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • job_id (str) – Abandon the Manage Numbers job for this jobId.

  • org_id (str) – Abandon the Manage Numbers job for this organization.

errors(job_id: str | None = None, org_id: str | None = None, **params) Generator[ManageNumberErrorItem, None, None][source]

Lists all error details of Manage Numbers job. This will not list any errors if exitCode is COMPLETED. If the status is COMPLETED_WITH_ERRORS then this lists the cause of failures. List of possible Errors: This API requires a full or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve the error details for this jobId.

  • org_id (str) – Retrieve list of jobs for this organization.

base = 'telephony/config/jobs/numbers'
class wxc_sdk.telephony.jobs.InitiateMoveNumberJobsBody(*, operation: str | None = None, targetLocationId: str | None = None, numberList: list[NumberItem] | None = None)[source]

Bases: ApiModel

operation: str | None

Indicates the kind of operation to be carried out.

target_location_id: str | None

The target location within organization where the unassigned numbers will be moved from the source location.

number_list: list[NumberItem] | None

Indicates the numbers to be moved from source to target locations.

class wxc_sdk.telephony.jobs.ApplyLineKeyTemplatesJobsApi(*, session: RestSession, base: str | None = None)[source]

Bases: ApiChild

apply(action: ApplyLineKeyTemplateAction, template_id: str | None = None, location_ids: list[str] | None = None, exclude_devices_with_custom_layout: bool | None = None, include_device_tags: list[str] | None = None, exclude_device_tags: list[str] | None = None, advisory_types: LineKeyTemplateAdvisoryTypes | None = None, org_id: str | None = None) ApplyLineKeyTemplateJobDetails[source]

Apply a Line key Template

Apply a Line Key Template or reset devices to their factory Line Key settings.

Line Keys also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display. A Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model. This API allows users to apply a line key template or apply factory default Line Key settings to devices in a set of locations or across all locations in the organization.

Applying a Line Key Template or resetting devices to their default Line Key configuration requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • action (PostApplyLineKeyTemplateRequestAction) – Line key Template action to perform.

  • template_id (str) – templateId is required for APPLY_TEMPLATE action.

  • location_ids (list[str]) – Used to search for devices only in the given locations.

  • exclude_devices_with_custom_layout (bool) – Indicates whether to exclude devices with custom layout.

  • include_device_tags (list[str]) – Include devices only with these tags.

  • exclude_device_tags (list[str]) – Exclude devices with these tags.

  • advisory_types (LineKeyTemplateAdvisoryTypes) – Refine search with advisories.

  • org_id (str) – Apply Line Key Template for this organization.

Return type:

ApplyLineKeyTemplateJobDetails

list(org_id: str | None = None) list[ApplyLineKeyTemplateJobDetails][source]

Get List of Apply Line Key Template jobs

Get the list of all apply line key templates jobs in an organization.

Line Keys also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display. A Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model. This API allows users to retrieve all the apply line key templates jobs in an organization.

Retrieving the list of apply line key templates jobs in an organization requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – Retrieve list of line key templates jobs in this organization.

Return type:

list[ApplyLineKeyTemplateJobDetails]

status(job_id: str, org_id: str | None = None) ApplyLineKeyTemplateJobDetails[source]

Get the job status of an Apply Line Key Template job

Get the status of an apply line key template job by its job ID.

Line Keys also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display. A Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model. This API allows users to check the status of an apply line key templates job by job ID in an organization.

Checking the the status of an apply line key templates job in an organization requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve job status for this jobId.

  • org_id (str) – Check a line key template job status in this organization.

Return type:

ApplyLineKeyTemplateJobDetails

errors(job_id: str, org_id: str | None = None) Generator[JobErrorItem, None, None][source]

Get job errors for an Apply Line Key Template job

GET job errors for an apply Line Key Template job in an organization.

Line Keys also known as Programmable Line Keys (PLK) are the keys found on either sides of a typical desk phone display. A Line Key Template is a definition of actions that will be performed by each of the Line Keys for a particular device model. This API allows users to retrieve all the errors of an apply line key templates job by job ID in an organization.

Retrieving all the errors of an apply line key templates job in an organization requires a full, user or read-only administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve job errors for this jobId.

  • org_id (str) – Retrieve list of errors for an apply line key template job in this organization.

base = 'telephony/config/jobs/devices/applyLineKeyTemplate'
class wxc_sdk.telephony.jobs.LineKeyTemplateAdvisoryTypes(*, moreSharedAppearancesEnabled: bool | None = None, fewSharedAppearancesEnabled: bool | None = None, moreMonitorAppearancesEnabled: bool | None = None)[source]

Bases: ApiModel

more_shared_appearances_enabled: bool | None

Refine search by warnings for More shared appearances than shared users. example: True

few_shared_appearances_enabled: bool | None

Refine search by warnings for Fewer shared appearances than shared users. example: True

more_monitor_appearances_enabled: bool | None

Refine search by warnings for More monitor appearances than monitors. example: True

class wxc_sdk.telephony.jobs.ApplyLineKeyTemplateJobDetails(*, name: str | None = None, id: str | None = None, trackingId: str | None = None, sourceUserId: str | None = None, sourceCustomerId: str | None = None, targetCustomerId: str | None = None, instanceId: int | None = None, jobExecutionStatus: list[JobExecutionStatus] | None = None, latestExecutionStatus: str | None = None, percentageComplete: int | None = None, updatedCount: int | None = None, advisoryCount: int | None = None)[source]

Bases: ApiModel

name: str | None

Job name.

id: str | None

Unique identifier of the job.

tracking_id: str | None

Unique identifier to track the flow of HTTP requests.

source_user_id: str | None

Unique identifier to identify which user has run the job.

source_customer_id: str | None

Unique identifier to identify the customer who has run the job.

target_customer_id: str | None

Unique identifier to identify the customer for which the job was run.

instance_id: int | None

Unique identifier to identify the instance of the job.

job_execution_status: list[JobExecutionStatus] | None

Displays the most recent step’s execution status. Contains execution statuses of all the steps involved in the execution of the job.

latest_execution_status: str | None

Indicates the most recent status (STARTING, STARTED, COMPLETED, FAILED) of the job at the time of invocation.

percentage_complete: int | None

Indicates the progress of the job.

updated_count: int | None

Number of job steps completed.

advisory_count: int | None

Number of job steps completed with advisories.

class wxc_sdk.telephony.jobs.RebuildPhonesJobsApi(*, session: RestSession, base: str | None = None)[source]

Bases: ApiChild

rebuild_phones_configuration(location_id: str, org_id: str | None = None) StartJobResponse[source]

Rebuild Phones Configuration

Rebuild all phone configurations for the specified location.

Rebuild phones jobs are used when there is a change in the network configuration of phones in a location, i.e. a change in the network configuration of devices in a location from public to private and vice-versa.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write.

Parameters:
  • location_id (str) – Unique identifier of the location.

  • org_id (str) – Rebuild phones for this organization.

Return type:

RebuildPhonesJob

list(org_id: str | None = None) list[StartJobResponse][source]

List Rebuild Phones Jobs

Get the list of all Rebuild Phones jobs in an organization.

Rebuild phones jobs are used when there is a change in the network configuration of phones in a location, i.e. a change in the network configuration of devices in a location from public to private and vice-versa.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:

org_id (str) – List of rebuild phones jobs in this organization.

Return type:

list[RebuildPhonesJob]

status(job_id: str, org_id: str | None = None) StartJobResponse[source]

Get the Job Status of a Rebuild Phones Job

Get the details of a rebuild phones job by its job ID.

Rebuild phones jobs are used when there is a change in the network configuration of phones in a location, i.e. a change in the network configuration of devices in a location from public to private and vice-versa.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve job status for this jobId.

  • org_id (str) – Check a rebuild phones job status in this organization.

Return type:

RebuildPhonesJob

errors(job_id: str, org_id: str | None = None) Generator[JobErrorItem, None, None][source]

Get Job Errors for a Rebuild Phones Job

Get errors for a rebuild phones job in an organization.

Rebuild phones jobs are used when there is a change in the network configuration of phones in a location, i.e. a change in the network configuration of devices in a location from public to private and vice-versa.

This API requires a full administrator auth token with a scope of spark-admin:telephony_config_read.

Parameters:
  • job_id (str) – Retrieve job errors for this jobId.

  • org_id (str) – Retrieve list of errors for a rebuild phones job in this organization.

Return type:

list[ItemObject]

base = 'telephony/config/jobs/devices/rebuildPhones'