Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(VBScript) GeoOp - Create JobCreate a new job.
Dim fso, outFile Set fso = CreateObject("Scripting.FileSystemObject") 'Create a Unicode (utf-16) output text file. Set outFile = fso.CreateTextFile("output.txt", True, True) ' This example assumes the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. ' This example also assumes an OAuth2 access token was previously fetched. ' and saved in a JSON file. ' First get our previously obtained access token. ' {"access_token":"e6dqdG....mzjpT04w==","token_type":"Bearer","expires_in":2592000,"owner_id":999236} ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.JsonObject") set jsonToken = CreateObject("Chilkat.JsonObject") success = jsonToken.LoadFile("qa_data/tokens/geoop.json") ' This example assumes we previously obtained an access token ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.OAuth2") set oauth2 = CreateObject("Chilkat.OAuth2") oauth2.AccessToken = jsonToken.StringOf("access_token") ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.Rest") set rest = CreateObject("Chilkat.Rest") ' Connect to GeoOp.. ' Note: The same REST object, once connected, can be used for many requests. ' The bAutoReconnect argument allows it to automatically reconnect as required for any subsequent request. bAutoReconnect = 1 success = rest.Connect("api.geoop.com",443,1,bAutoReconnect) If (success <> 1) Then outFile.WriteLine(rest.LastErrorText) WScript.Quit End If ' Provide the authentication credentials (i.e. the access token) success = rest.SetAuthOAuth2(oauth2) ' Set the X-Version header. success = rest.AddHeader("X-Version","1.0") ' To create a new user, we must build and send the following JSON: ' { ' "jobs": [ ' { ' "priority": 2, ' "title": "Deliver More Donuts", ' "description": "Deliver more donuts to the cafe.", ' "client": { ' "id": 9571218 ' }, ' "account": { ' "id": 39409 ' }, ' "status": { ' "id": 675900 ' }, ' "address": { ' "line1": "1732 Pennsylvania Avenue NW", ' "city": "Washington", ' "postcode": "20006", ' } ' } ' ] ' } ' ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.JsonObject") set jsonJob = CreateObject("Chilkat.JsonObject") success = jsonJob.UpdateInt("jobs[0].priority",2) success = jsonJob.UpdateString("jobs[0].title","Deliver More Donuts") success = jsonJob.UpdateString("jobs[0].description","Deliver more donuts to the cafe.") success = jsonJob.UpdateInt("jobs[0].client.id",9571218) success = jsonJob.UpdateInt("jobs[0].account.id",39409) success = jsonJob.UpdateInt("jobs[0].status.id",675900) success = jsonJob.UpdateString("jobs[0].address.line1","1732 Pennsylvania Avenue NW") success = jsonJob.UpdateString("jobs[0].address.city","Washington") success = jsonJob.UpdateString("jobs[0].address.postcode","20006") ' Examine the JSON we're about to send... jsonJob.EmitCompact = 0 outFile.WriteLine(jsonJob.Emit()) success = rest.AddHeader("Content-Type","application/json") jsonJob.EmitCompact = 1 responseBody = rest.FullRequestString("POST","/jobs",jsonJob.Emit()) If (rest.LastMethodSuccess <> 1) Then outFile.WriteLine(rest.LastErrorText) WScript.Quit End If ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.JsonObject") set json = CreateObject("Chilkat.JsonObject") json.EmitCompact = 0 ' If the response status code did not indicate success, then see what happened.. If (rest.ResponseStatusCode <> 200) Then outFile.WriteLine("Request Header: ") outFile.WriteLine(rest.LastRequestHeader) outFile.WriteLine("----") outFile.WriteLine("Response StatusCode = " & rest.ResponseStatusCode) outFile.WriteLine("Response StatusLine: " & rest.ResponseStatusText) outFile.WriteLine("Response Header:") outFile.WriteLine(rest.ResponseHeader) success = json.Load(responseBody) outFile.WriteLine(json.Emit()) WScript.Quit End If success = json.Load(responseBody) ' Show the full JSON response.. outFile.WriteLine(json.Emit()) ' The success JSON looks like this: ' { ' "result": "success", ' "jobs": [ ' { ' "id": 17639811, ' "reference": "1001", ' "startTime": null, ' "endTime": null, ' "priority": 2, ' "title": "Deliver More Donuts", ' "description": "Deliver more donuts to the cafe.", ' "jobNumber": null, ' "deleted": false, ' "type": "normal", ' "created": "2016-10-31T13:36:47+00:00", ' "modified": "2016-10-31T13:36:47+00:00", ' "client": { ' "id": 9571218 ' }, ' "billingClient": null, ' "status": { ' "id": 675900 ' }, ' "account": { ' "id": 39409 ' }, ' "address": { ' "line1": "1732 Pennsylvania Avenue NW", ' "line2": "", ' "city": "Washington", ' "postcode": "20006", ' "latitude": 38.8990534, ' "longitude": -77.0401866 ' }, ' "metadata": { ' "visitsCount": 0, ' "assignedVisitsCount": 0, ' "unassignedVisitsCount": 0, ' "partsCount": 0, ' "chargesCount": 0, ' "timersCount": 0, ' "notesCount": 0, ' "parcelsCount": 0, ' "paymentsCount": 0, ' "documentsCount": 0 ' } ' } ' ], ' "metadata": { ' "receivedItemsCount": 1, ' "validItems": [ ' 0 ' ], ' "invalidItems": [ ' ] ' } ' } ' outFile.Close |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.