Service Task API

API reference for service task operations in the Zync SDK.

Table of contents

  1. Getting Service Tasks
  2. Getting Service Task Details

Getting Service Tasks

Retrieve a list of service tasks associated with a specific job or module using the getServiceTasks() method:

val result = zync.serviceTasks.getServiceTasks(
    module = ZuperModule.JOB,
    moduleUid = "job_uid_123"
)

when (result) {
    is GetServiceTasksResult.Success -> {
        val tasks = result.serviceTasks
        println("Found ${tasks.size} service tasks")
        
        tasks.forEach { task ->
            println("Task: ${task.serviceTaskTitle}")
            println("Status: ${task.serviceTaskStatus}")
        }
    }
    is GetServiceTasksResult.Failure -> {
        println("Error: ${result.error.message}")
        when (result.error) {
            is ZyncError.Network -> {
                println("Check your internet connection")
            }
            is ZyncError.Error -> {
                result.error.code?.let { code ->
                    println("Error code: $code")
                }
            }
        }
    }
}
let result = try await zync.serviceTasks.getServiceTasks(
    module: ZuperModule.job,
    moduleUid: "job_uid_123"
)

switch onEnum(of: result) {
case .success(let success):
    let tasks = success.serviceTasks
    print("Found \(tasks.count) service tasks")
    
    for task in tasks {
        print("Task: \(task.serviceTaskTitle)")
        print("Status: \(task.serviceTaskStatus)")
    }
case .failure(let failure):
    print("Error: \(failure.error.message)")
    switch onEnum(of: failure.error) {
    case .network:
        print("Check your internet connection")
    case .error(let error):
        print("Error: \(error.message)")
        if let code = error.code {
            print("Error code: \(code)")
        }
    }
}

Getting Service Task Details

Retrieve detailed information for a specific service task, including status history, assignments, and related data:

val result = zync.serviceTasks.getServiceTaskDetail("service_task_uid_456")

when (result) {
    is GetServiceTaskDetailResult.Success -> {
        val taskDetail = result.serviceTaskDetail
        println("Task: ${taskDetail.serviceTaskTitle}")
        println("Status: ${taskDetail.serviceTaskStatus}")
    }
    is GetServiceTaskDetailResult.Failure -> {
        println("Error: ${result.error.message}")
    }
}
let result = try await zync.serviceTasks.getServiceTaskDetail(serviceTaskUid: "service_task_uid_456")

switch onEnum(of: result) {
case .success(let success):
    let taskDetail = success.serviceTaskDetail
    print("Task: \(taskDetail.serviceTaskTitle)")
    print("Status: \(taskDetail.serviceTaskStatus)")
case .failure(let failure):
    print("Error: \(failure.error.message)")
}

Copyright © 2025 Zuper Inc. All rights reserved. This software is proprietary and confidential.