1. Home
  2. Docs
  3. API Overview
  4. Documents – Job
  5. Edit Job

Edit Job

Edit the job for TASQ.

URL:

 https://jobapi.tasq.com.au/api/Job/EditJob

Supports:

POST.

Attribute Details:

Company Validate Info (object) must
Job Transaction Header (object)  
Job Transaction Header ID (Guid) must
Reference No (string) (50) optional
Job Type

Invoice/Credit Note/Order/Quote

(string) (20) must
Job Status (string) (20) optional
Transaction Date (date) must
Client ID (Guid) must
Client Purchase No (string) (40) optional
Job Category ID (Guid) optional
Has Approval (bool) optional
Due Date (date) If JobType is Invoice must; else optional
Sub Total (decimal) (18.6) optional
Tax Total (decimal) (18.6) optional
Total Amount (decimal) (18.6) optional
Memo (string) optional
Job Address (string) (200) optional
Job Address Line 2 (string) (200) optional
Job City (string) (200) optional
Job State (string) (200) optional
Job Postal Code (string) (50) optional
Job Country (string) (50) must
Job Contact Title (string) (50) optional
Job Contact First Name (string) (200) optional
Job Contact Last Name (string) (50) optional
Job Contact Phone (string) (50) optional
Job Contact Fax (string) (50) optional
Job Contact Mobile (string) (50) optional
Job Contact Email (string) (50) optional
Job Description (string) optional
Is Same As Job Address (bool) must
Billing Address (string) (200) optional
Billing Address Line 2 (string) (200) optional
Billing City (string) (200) optional
Billing State (string) (200) optional
Billing Postal Code (string) (50) optional
Billing Country (string) (50) must
Is Same As Job Contact (bool) must
Billing Contact Title (string) (50) optional
Billing Contact First Name (string) (200) optional
Billing Contact Last Name (string) (200) optional
Billing Contact Phone (string) (50) optional
Billing Contact Fax (string) (50) optional
Billing Contact Mobile (string) (50) optional
Billing Contact Email (string) (50) optional
Billing Memo (string) optional
Is Created By Recurring (bool) optional
Recurring Template ID (Guid) optional
Has Linked Doc (bool) optional
Is Show On PDF (bool) optional
Tax Inclusive (bool) optional
Is Deleted (bool) optional
Is Job Completed (bool) optional
Has Viewed (bool) optional
Create Time (date) optional
Last Modified Time (date) optional
  Closed Date (date)  

 

Job Transaction Detail (array) optional
Job Transactions Detail ID (Guid) optional
Job Transactions Header ID (Guid) optional
Quantity (decimal) (18,6) optional
Inventory ID (Guid) optional
Account ID (Guid) optional
Tax Code ID (Guid) optional
Description (string) optional
Unit Price (decimal) (18,6) optional
Discount (decimal) (5,2) optional
Amount (decimal) (18,6) optional
Is Deleted (bool) optional
Sort No (integer) optional
Has Exported To Q6 (bool) optional
Job Record Time ID        (Guid) optional

 

Job Schedule Date Time (array)  
Job Schedule Date Time ID (Guid) optional
Create Time UTC (date) optional
Job ID (Guid) optional
User ID (Guid) optional
Create Time (date) optional
Schedule Date From (date) optional
Schedule Date To (date) optional
Schedule Date From UTC (date) optional
Schedule Date To UTC (date) optional
 Estimate Hours (decimal)(18,2) optional
Memo (string) optional
Is Deleted (bool) optional

 

Job Tasks (array) optional
Job Task ID (Guid) optional
Job Transaction Header ID (Guid) optional
Job Task Create Time UTC (date) optional
Job Task Create Time date optional
Job Task Detail (string) optional
Job Task Due Date (date) optional
Job Task Assign To User ID (Guid) optional
Has Completed (bool) optional
Is Deleted (bool) optional
Has Viewed (bool) optional

 

 Job Record Time (array) optional
Job Record Time ID (Guid) optional
Job ID (Guid) optional
User ID (Guid) optional
Job Date (date) optional
Service Item ID (Guid) optional
Start Recording Date Time (date) optional
End Recording Date Time (date) optional
Start Recording Date Time UTC (date) optional
End Recording Date Time UTC (date) optional
On Break Time (decimal)(18,2) optional
Total Work Time (decimal)(18,2) optional
Has Added In Invoice (bool) optional
Is Deleted (bool) optional
Rounding By (string) (50) optional
    optional

 

 

Note (array) optional
Note ID (Guid) optional
Note Date Time UTC (date) optional
Note Description (string) optional
Is Deleted (bool) optional
Job ID (Guid) optional
User ID (Guid) optional

 

Photo (array) optional
Photo ID (Guid) optional
Photo Date Time UTC (date) optional
Photo Image (byte[]) optional
Is Deleted (bool) optional
Job ID (Guid) optional
Sort No (integer) optional
User ID (Guid) optional

 

Client Sign Off (array) optional
Client Sign Off ID (Guid) optional
Client Sign Off Date Time UTC (Guid) optional
Client Sign Off Image (byte[]) optional
Is Deleted (bool) optional
Job ID (Guid) optional
User ID (Guid) optional
Send From User ID (Guid) optional

 

Example JSON POST data:

{
        "CompanyValidateInfo": {
"ClientIP": null,
"LoginName": "testapi@tasq.com.au",
"MobileDeviceToken": null,
"Password": "test123.",
"WebApiTOKEN": "b3b777b0-c7af-458d-be64-b3d6d760177f"
},
    "JobTransactionHeader": {
        "JobTransactionHeaderID": null,
        "ReferenceNo": "JOB00000074",
        "JobType": "Invoice",
        "JobStatus": "Open",
        "TransactionDate": "2018-11-12T14:46:54.932",
        "ClientID": "f8ec9a3c-a76e-4447-9bc6-7a5a9fe42c52",
        "ClientPurchaseNo": "",
        "JobCategoryID": null,
        "HasApproval": null,
        "DueDate": "2020-11-27T00:00:00",
        "SubTotal": null,
        "TaxTotal": null,
        "TotalAmount": null,
        "Memo": "",
        "JobAddress": "",
        "JobAddressLine2": "",
        "JobCity": "",
        "JobState": "",
        "JobPostalCode": "",
        "JobCountry": "Australia",
        "JobContactTitle": "",
        "JobContactFirstName": "",
        "JobContactLastName": "",
        "JobContactPhone": "",
        "JobContactFax": "",
        "JobContactMobile": "",
        "JobContactEmail": "",
        "JobDescription": "",
        "IsSameAsJobAddress": false,
        "BillingAddress": "",
        "BillingAddressLine2": "",
        "BillingCity": "",
        "BillingState": "ACT",
        "BillingPostalCode": "",
        "BillingCountry": "Australia",
        "IsSameAsJobContact": false,
        "BillingContactTitle": "",
        "BillingContactFirstName": "",
        "BillingContactLastName": "",
        "BillingContactPhone": "",
        "BillingContactFax": "",
        "BillingContactMobile": "",
        "BillingContactEmail": "",
        "BillingMemo": "",
        "IsCreatedByRecurring": false,
        "RecurringTemplateID": null,
        "HasLinkedDoc": null,
        "IsShowOnPDF": false,
        "TaxInclusive": true,
        "IsDeleted": null,
        "IsJobCompleted": false,
        "HasViewed": null,
        "CreateTime": null,
        "LastModifiedTime": "0001-01-01T00:00:00",
        "ClosedDate": null,
        "ClientName": "1111122221"
    },
    "JobTransactionDetail": [
        {
            "JobTransactionsDetailID": null,
            "JobTransactionsHeaderID": null,
            "Quantity": 1.0,
            "InventoryID": "b20a5410-3d85-4dee-be84-2c541dfb2d02",
            "AccountID": null,
            "TaxCodeID": "a442f7fa-1210-4c5e-b6ab-26f0b57731aa",
            "Description": "10service1",
            "UnitPrice": 145.0,
            "Discount": 0.0,
            "Amount": 0.0,
            "IsDeleted": null,
            "SortNo": 0,
            "HasExportedToQ6": null,
            "JobRecordTimeID": null
        },
        {
            "JobTransactionsDetailID": null,
            "JobTransactionsHeaderID": null,
            "Quantity": 1.0,
            "InventoryID": "8c15a4b0-cea8-44d2-9bc1-35225f9a2d52",
            "AccountID": null,
            "TaxCodeID": "a442f7fa-1210-4c5e-b6ab-26f0b57731aa",
            "Description": "10service12",
            "UnitPrice": 145.0,
            "Discount": 0.0,
            "Amount": 0.0,
            "IsDeleted": null,
            "SortNo": 0,
            "HasExportedToQ6": null,
            "JobRecordTimeID": null
        }
    ],
    "JobScheduleDateTime": [
        {
            "JobScheduleDateTimeID": "3dff095f-5582-47ce-870f-7182ff4dcdba",
            "CreateTimeUTC": null,
            "JobID": "b98e6d62-1cd4-4cbe-a3bf-dcfa8b5bd8ef",
            "UserID": "5b57389d-fc71-41ba-9ee6-c222b9905f03",
            "CreateTime": null,
            "ScheduleDateFrom": "2018-11-12T17:46:00",
            "ScheduleDateTo": "2018-11-12T20:46:00",
            "ScheduleDateFromUTC": null,
            "ScheduleDateToUTC": null,
            "EstimateHours": 3.00,
            "Memo": "dfefefe",
            "IsDeleted": false
        }
    ],
    "JobTasks": [
        {
            "JobTaskID": "63a5dead-1116-4667-b9c5-b6221b68acb1",
            "JobTransactionHeaderID": "e0335e3d-d88f-4317-94db-381d6fefe8d5",
            "JobTaskCreateTimeUTC": null,
            "JobTaskCreateTime": null,
            "JobTaskDetail": "eeeee",
            "JobTaskDueDate": "2020-12-02T00:00:00",
            "JobTaskAssignToUserID": "5b57389d-fc71-41ba-9ee6-c222b9905f03",
            "HasCompleted": false,
            "IsDeleted": false,
            "HasViewed": null
        }
    ],
    "JobRecordTime": [
        {
            "JobRecordTimeID": "715f2655-2b8d-47da-b1a3-58bdd6a6ef62",
            "JobID": "c38cd0ef-6844-42f6-b1dc-f31bfd19ce6a",
            "UserID": "5b57389d-fc71-41ba-9ee6-c222b9905f03",
            "JobDate": "2018-11-30T00:00:00",
            "ServiceItemID": "9ea4e4fc-6f21-4dc2-a832-4d3901746850",
            "StartRecordingDateTime": "2018-11-30T01:01:00",
            "EndRecordingDateTime": "2018-11-30T02:01:00",
            "StartRecordingDateTimeUTC": null,
            "EndRecordingDateTimeUTC": null,
            "OnBreakTime": null,
            "TotalWorkTime": 0.98,
            "HasAddedInInvoice": true,
            "IsDeleted": false,
            "RoundingBy": "60Mins"
        }
    ],
    "Note": [
        {
            "NoteID": "2b64ccc6-46b8-43dd-a4e6-40ba0eb78f33",
            "NoteDateTimeUTC": "2018-11-12T06:48:00.3677107Z",
            "NoteDescription": "dddddd",
            "IsDeleted": false,
            "JobID": "98ff9295-6a7b-4568-bcb8-3d6f23c026c6",
            "UserID": "5b57389d-fc71-41ba-9ee6-c222b9905f03"
        }
    ],
    "Photo": [
        	"PhotoID": "00000000-0000-0000-0000-000000000000",
            "PhotoDateTimeUTC": "2018-11-12T07:06:07.8777901Z",
            "PhotoImage": "iVBORw0KGgoAAAANSUhEUgAABQUAAALdCAYAAACVygXMAAAgAElEQVR4nOzdDXAU553v+18IWCtebGQkAWMbZHuw1oIsCNiVUK4L2xqcEFWOUy6ym7MxTSVVtw5462TLxsVycra0WdVurg5lcCVVMWzVraTcOHty1lzXclNaTplRsNc3AjbCgqyQjRnbApvhRZIB86LFYHz76e6ZaY1m9IbQCOb7qRLMdD/99PP0gPn7P8/Ll75w6DZy+p+36IGfSb945Tn96Uzv2P6fbtTjsSf0wU8f18xEwQOv6M8/ekL/+K3S5PspG9v1N42N2rAkUdlv9OdPvy79xXOpcoGyTwaPH/iN/unex517ntE//WCLvveOc+ybT+vSDxak2vDr0j7t6q9dm1a8or8NXBdsx6Jk25xyPzijNcn+pF2XqS/ZnkOfh5e5v/2f6RDb6b/f6bz8m2DbzbUPD9AOAAAAAAAA3FQTct2Am+OMvvf0Rk1Z4f24ybj/npaAWvJ030Tfkif0i4elv/1t+yB1t2vTxnY34df3+sfTkn0L9JtAwqzqz57Qk067/nnvmWH2xbmfSaw9/ITWJBN8C7ShT0Jtgdb8hdOWXx/Ufrcti/Q3Su9Lu978tfTk4wuGl4g7/Rs9+7MzevIvnh4gmTkI51ltCLTdbes7B/Xm6RHWBwAAAAAAgBsyMdcNuDnSRuS……",
"IsDeleted": false,
            "JobID": "ac0688ca-8654-4a0a-a446-a687f9fceb72",
            "SortNo": 0,
            "UserID": "00000000-0000-0000-0000-000000000000"

    ],
    "ClientSignOff": [
      "ClientSignOffID": "3c3f92ab-4413-4102-ab1b-46c133165677",
      "ClientSignOffDateTimeUTC": "2018-11-12T15:23:44.9762246+08:00",
      "ClientSignOffImage": "QEA=",
      "IsDeleted": true,
      "JobID": "56efdea7-c2a2-4919-8b23-777f55f1d533",
      "UserID": "b752b6cb-f1d8-47d6-81cc-ba1db73a021d"

    ],
    "SendFromUserID": "548ee0a8-a383-4867-8e41-c86b2ce80ab6"
}
Return Value:
{
	ActionCode: 	(string)				"Create",
	ErrorMessage: (string),				"",
	IsSuccessed: 	(string)				"YES",
	RetrunData: 	(object)				{
JobTransactionHeaderID, "68953959-81fa-41d1-8e75-d993dd12e9d3"
ClientID, "12533987-546h-bt6d-5yhf-d546812e9d3"
ReferenceNo", JOB00000071"
}
}


C# Sample Code:

public static string EditJob (string Url ,string content)
        {
            string result = "";
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(Url);
            req.Method = "POST";
            req.ContentType = "application/json";

            #region Add Post Param
            byte[] data = Encoding.UTF8.GetBytes(content);
            req.ContentLength = data.Length;
            using (Stream reqStream = req.GetRequestStream())
            {
                reqStream.Write(data, 0, data.Length);
                reqStream.Close();
            }
            #endregion

            HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
            Stream stream = resp.GetResponseStream();
            using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
            {
                result = reader.ReadToEnd();
            }
            return result;
        }

Javascript:

  function EditJob () {
        $.ajax({
            type: "Post",
            url: " https://jobapi.tasq.com.au/api/Job/EditJob",
            data: {
               …
            },
            dataType: "json",
            success: function (data) {
                console.dir(data)
            },
            error: function (e) {
                console.dir(e)
            }
        });
    }

Java Sample Code:

private static void EditJob(String json){
    try {
        URL url = new URL("https://jobapi.tasq.com.au/api/Job/EditJob");
        HttpURLConnection con = (HttpURLConnection)url.openConnection();
        con.setRequestMethod("POST");
        con.setRequestProperty("Content-Type", "application/json; charset=utf-8");
        con.setRequestProperty("Accept", "application/json");
        con.setDoInput(true);
        con.setDoOutput(true);
        con.setUseCaches(false);
        con.setRequestProperty("Connection", "Keep-Alive");
        if (json != null){
            byte[] writeBytes = json.getBytes("utf-8");
            OutputStream outputStream = con.getOutputStream();
            outputStream.write(writeBytes,0, writeBytes.length);
            outputStream.flush();
            outputStream.close();
        }
        if (con.getResponseCode() == HttpURLConnection.HTTP_OK){
            InputStreamReader in = new InputStreamReader(con.getInputStream());
            BufferedReader br = new BufferedReader(in);
            StringBuilder response = new StringBuilder();
            String responseLine = null;
            while ((responseLine = br.readLine()) != null){
                response.append(responseLine.trim());
            }
            System.out.println(response.toString());
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

Swift Sample Code:

func EditJob ()
{
    let jobJSONData: JobJSONData = JobJSONData()
    let UrlString = TASQSampleCommonLibrary.TASQApiUrl + "Job/EditJob"
    let loginDetail: LoginDetail = LoginDetail()
    var parameters = [String:AnyObject]()
    var arrayData = [String:AnyObject]()

    arrayData ["WebApiTOKEN"] = TASQSampleCommonLibrary.TASQApiTOKEN as AnyObject?
    arrayData ["LoginName"] = loginDetail.LoginEmail! as AnyObject?
    arrayData ["Password"] = loginDetail.LoginPassword! as AnyObject?
    arrayData ["ClientIP"] = TASQSampleCommonLibrary.getIPAddresses() as AnyObject?
    arrayData ["MobileDeviceToken"] = TASQSampleCommonLibrary.getMobileDeviceToken() as AnyObject?
    
    parameters["CompanyValidateInfo"] = arrayData as AnyObject?

    jobJSONData.JobTransactionHeaderJSONData = getJobTransactionHeaderJsonData()
    jobJSONData.ClientSignOff = getClientSignOff()
    //As shown above
    jobJSONData.JobTransactionDetailJSONData = getJobTransactionDetailJSONData()
    jobJSONData.JobScheduleDateTimeJSONData = getJobScheduleDateTimeJSONData()
    jobJSONData.JobTasksJSONData = getJobTasksJSONData()
    jobJSONData.JobRecordTimeJSONData = getJobRecordTimeJSONData()
    jobJSONData.NoteJSONData = getNoteJSONData()
    jobJSONData.PhotoJSONData = getPhotoJSONData()
    
    parameters["JobTransactionHeader"] = jobJSONData.JobTransactionHeaderJSONData as AnyObject
    parameters["JobTransactionDetail"] =  jobJSONData.JobTransactionDetailJSONData as AnyObject
    parameters["JobScheduleDateTime"] =  jobJSONData.JobScheduleDateTimeJSONData as AnyObject
    parameters["JobTasks"] =  jobJSONData.JobTasksJSONData as AnyObject
    parameters["JobRecordTime"] =   jobJSONData.JobRecordTimeJSONData as AnyObject
    parameters["Note"] =  jobJSONData.NoteJSONData as AnyObject
    parameters["Photo"] =  jobJSONData.PhotoJSONData as AnyObject
    parameters["ClientSignOff"] =  jobJSONData.ClientSignOff as AnyObject
    parameters["SendFromUserID"] =  "" as AnyObject

    let request = NSMutableURLRequest(url: NSURL(string: UrlString)! as URL, cachePolicy: NSURLRequest.CachePolicy.reloadIgnoringLocalCacheData, timeoutInterval: 300)
    let jsonString = TASQSampleCommonLibrary.convertDictionaryToJSONData(dicData: parameters)
    print(jsonString)
    request.httpBody = jsonString.data(using: String.Encoding.utf8, allowLossyConversion: true)
    request.httpMethod = "POST"
    request.setValue("application/json", forHTTPHeaderField: "Content-Type")
    do {
        let config = URLSessionConfiguration.default
        let session = URLSession(configuration: config)
        let task = session.dataTask(with: request as URLRequest, completionHandler: {
            (data, response, error)  in
        })
        task.resume()
    }
}

 

 

How can we help?