Zoomed Image

The xAssets API - Method : specialgenerateworkorderslaunch

Summary

Generate work orders based on the provided XML parameters.

This function processes the XML to generate work orders for assets, categories, or locations.

Parameters

Parameter : XML

Parameter : Arguments

0
"queue" to queue the work orders, or leave blank to run immediately.

The XML should contain:

  • ToDate: The date until which work orders should be generated.
  • AssetID: (optional) A list of asset IDs to generate work orders for.
  • CategoryID: (optional) A list of category IDs to generate work orders for.
  • LocationID: (optional) A list of location IDs to generate work orders for.
  • Syntax and Examples

    Restful syntax with Microsoft Visual Basic

    Example 1

    
    	
        Imports System.Text
        Imports Newtonsoft.Json.Linq
        Public Module Module1
    
            Public Sub Main()
    
                Try
    
                    '   Enter your API key and company database name in these variables
    
                    Dim _db As String = "mycompany"
                    Dim apikey As String = "YOURAPIKEY"
    
                    '   Open a web client to login
    
                    Dim web As New System.Net.WebClient()
    
                    Dim urlroot as String = "https://" & _db & ".yourxassetsplatform.xassets.net/api"
                    Dim json As String = web.DownloadString(urlroot & "/api.ashx?apikey=" & apikey & "&database=" & _db & "&command=apilogon")
    
                    '   Check the login for errors
    
                    Dim o As JObject = JObject.Parse(json)
                    Dim e As String = GetResultFromJson(o, "error")
                    If e <> "" Then
                        Throw New Exception(e)
                    End If
    
                    '   Store the login hash, nonce and noncedate
    
                    Dim hash As String = GetResultFromJson(o, "hash")
                    Dim nonce As String = GetResultFromJson(o, "nonce")
                    Dim noncedate As Date = CDate(GetResultFromJson(o, "noncetime"))
    
                    If hash = "" Then
                        Throw New Exception("Unexpected error - a hash was not returned from the API logon process")
                    End If
    
                    Console.WriteLine("Logged on OK")
    
                    '   Open a new web client to perform the API call
    
                    web = New System.Net.WebClient()
    
                    '   Add the authorization header
    
                    web.Headers.Add("Authorization", "Bearer " & hash)
                    web.Headers.Add("Sec", _db & "|" & nonce & "|" & Format(noncedate, "dd-MMM-yyyy HH:mm:ss") & "|" & Format(noncedate, "fff"))
    
                    '   Perform the actual API call
    
                    Dim url as String = urlroot & "/api.ashx?command=SpecialGenerateWorkOrdersLaunch"
                    Dim data As String = web.DownloadString(url.ToString)
    
                    '   Parse and output the data
    
                    Dim ob As JObject = JObject.Parse(data)
                    Dim err As String = GetResultFromJson(ob, "error")
                    If err <> "" Then
                        Throw New Exception(err)
                    End If
                
                    Dim xml As String = GetResultFromJson(ob, "returncode")
    
                    Console.WriteLine(xml)
                    Console.WriteLine("Finished - Press enter to close")
                
                    Catch ex As Exception
                    Console.WriteLine("Error:" & ex.Message & " - Press enter to close")
                End Try
    
                Console.ReadLine()
    
            End Sub
    
            Private Function GetResultFromJson(o As JObject, sFind As String) As String
    
                For Each res As JObject In o.SelectTokens("data[*]")
                    If res("type").Value(Of String) = sFind Then
                        Return res("value").ToString
                    End If
                Next
    
                Return ""
    
            End Function
        End Module
                    
    
    

    SOAP Syntax with Microsoft Visual Basic

    Example 1

    
    
        Try
    
            ErrorMessage = ""
    
            Return w.WebSaveSpecial(_hash, _username, _db, _ip, "", "SpecialGenerateWorkOrdersLaunch", {}, False, _dns, _port, _scheme, _nonce, _noncedate)
    
        Catch ex As Exception
            ErrorMessage = ex.Message
            Return "
        End Try
    
                                
    
    

    AMSX Syntax

    Example 1

    
    
        SaveSpecial "SpecialGenerateWorkOrdersLaunch",""
                            
    
    

    XCS Syntax

    Example 1

    
    
        Dim ret as String = Server.SaveSpecial("SpecialGenerateWorkOrdersLaunch","")
        If ret = " Or ret.Substring(0, 8) = "special=" Then
            MsgBox("Save operation completed.", vbInformation, "Save Data")
        Else
            MsgBox("Save operation failed:" & ret, vbExclamation, "Save Data")
        End If
                            
    
    

    Download the Visual Studio API Samples Project

    Return to the API Index Page