USA
									800 691 9120
								UK
									01225 704844
								We use cookies on our website to analyze website usage and to help secure the website against misuse. Advertising and functional cookies are not used in our site or our web application products.
By clicking “Accept Essential Cookies Only”, you consent to us placing these cookies.
Generate XML for table SavedSelect
Argument 0 : NEW or EDIT
Argument 1 : The SavedSelectID to retrieve
Returns XML for a new or existing SavedSelect record
Use NEW to create a new record. Use EDIT to retrieve an existing record.
	
    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=SavedSelectXML&arg0=EDIT&arg1=3"
                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
                
    Try
        ErrorMessage = ""
        Return w.WebCommandProcessorArray(_hash, _username, _db, _ip, "SavedSelectXML", {"EDIT", "3"}, _dns, _port, _scheme, _nonce, _noncedate)
    Catch ex As Exception
        ErrorMessage = ex.Message
        Return ""
    End Try
                        
    Set xml = CommandProcessor "SavedSelectXML", "EDIT", "3"
                        
    Dim xml As String = Server.API("SavedSelectXML", "EDIT", "3")