Job Master (GJZJ28J)

The GJZJ28J function creates new Jobs in the Job Master and exports existing Job data. Rows are sent via JC_JobMaster_tbl, with the Job code, Customer code, estimator and project manager all referenced by their Jonas lookups.

WebMethod
GJZJ28J
5 sample payloads

Options overview

OptionPurpose
schemaThe JSON schema returned by Option: schema for Job Master.
templateAn empty Job Master template with every field present and blank.
downloadAn existing Job exported via Option: download.
scanValidate a Job payload before committing — the response lists any field-level errors.
updateOnce the scan is clean, switch Option to update to commit the Job(s).

Schema

The JSON schema returned by Option: schema for Job Master.

Job Master SchemaSOAP envelope
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<JonasAPIResponse xmlns="jonas.jonasportal.com/">
<JonasAPIResult>{"isAuthenticated":true,"isValid":true,"Data: {"$schema":"http://json-schema.org/draft-04/schema#","name":"Job Master Upload","type":"object","additionalProperties":false,"required":["WebMethod","Option","CompanyCode"],"properties":{"WebMethod":{"enum":["GJZJ28J"]},"Option":{"enum":["scan","update","schema","template","download"]},"CompanyCode":{"type":"string","pattern":"^[^a-z]*$","maxLength":2},"JC_JobMaster_tbl":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["JobNumber","CustomerCode"],"properties":{"JobNumber":{"type":"string","minLength":1,"maxLength":10,"pattern":"^[^a-z]*$"},"JobDescription1":{"type":"string","maxLength":30},"JobDescription2":{"type":"string","maxLength":30},"ServiceContractNumber":{"type":"string","maxLength":10},"CustomerCode":{"type":"string","minLength":1,"maxLength":10,"pattern":"^[^a-z]*$"},"HoldBackRetainagePercentage":{"type":"number","multipleOf":0.01,"maximum":99.99},"JobStatus":{"type":"string","enum":["Y","N","F"]},"JobStartingDate":{"type":"string","format":"date-time"},"EstimatedCompletionDate":{"type":"string","format":"date-time"},"ArchitectsHoldbackRetainagePercentage":{"type":"number","multipleOf":0.01,"maximum":99.99},"ContractValue":{"type":"number","multipleOf":0.01,"maximum":999999999.99},"BillToCustomerCode":{"type":"string","maxLength":10,"pattern":"^[^a-z]*$"},"SalesTaxGroup":{"type":"string","maxLength":7,"pattern":"^[^a-z]*$"},"JC_JobAddress_tbl":{"type":"object","additionalProperties":false,"properties":{"AddressLine1":{"type":"string","maxLength":30},"AddressLine2":{"type":"string","maxLength":30},"AddressLine3":{"type":"string","maxLength":30},"PostalZipCode":{"type":"string","maxLength":15,"pattern":"^[^a-z]*$"}}},"JC_JobSortCategories_tbl":{"type":"object","additionalProperties":false,"properties":{"SortCategory1":{"type":"string","maxLength":10,"pattern":"^[^a-z]*$"},"SortCategory2":{"type":"string","maxLength":10,"pattern":"^[^a-z]*$"},"SortCategory3":{"type":"string","maxLength":10,"pattern":"^[^a-z]*$"},"SortCategory4":{"type":"string","maxLength":10,"pattern":"^[^a-z]*$"},"SortCategory5":{"type":"string","maxLength":10,"pattern":"^[^a-z]*$"},"SortCategory6":{"type":"string","maxLength":10,"pattern":"^[^a-z]*$"},"SortCategory7":{"type":"string","maxLength":10,"pattern":"^[^a-z]*$"},"SortCategory8":{"type":"string","maxLength":10,"pattern":"^[^a-z]*$"},"SortCategory9":{"type":"string","maxLength":10,"pattern":"^[^a-z]*$"},"SortCategory10":{"type":"string","maxLength":10,"pattern":"^[^a-z]*$"}}},"JC_JobOtherOptions_tbl":{"type":"object","additionalProperties":false,"properties":{"SalesCategoryCode":{"type":"string","maxLength":10,"pattern":"^[^a-z]*$"},"TerritorySalespersonCode":{"type":"string","maxLength":5,"pattern":"^[^a-z]*$"}}}}}},"CopyGLIntegrationRulesFromJob":{"type":"string","pattern":"^[^a-z]*$","minLength":1,"maxLength":10},"CopyCostItemsFromJob":{"type":"string","pattern":"^[^a-z]*$","minLength":1,"maxLength":10}}}
</JonasAPIResult>
</JonasAPIResponse>
</soap:Body>
</soap:Envelope>

Template

An empty Job Master template with every field present and blank.

Job Master TemplateSOAP envelope
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<JonasAPIResponse xmlns="jonas.jonasportal.com/">
<JonasAPIResult>{"message":"Login Successful : UserID GJSYSTEM (User 6/10) ","Data: {"WebMethod":"GJZJ28J","Option":"template","CompanyCode":"","JC_JobMaster_tbl":[{"JobNumber":"","JobDescription1":"","CustomerCode":"","JC_JobAddress_tbl":{"AddressLine1":"","AddressLine2":"","AddressLine3":"","PostalZipCode":""},"JobStartingDate":"","EstimatedCompletionDate":"","SalesTaxGroup":"","JobDescription2":"","ContractValue":0,"ServiceContractNumber":"","HoldBackRetainagePercentage":0,"ArchitectsHoldbackRetainagePercentage":0,"BillToCustomerCode":"","JC_JobSortCategories_tbl":{"SortCategory1":"","SortCategory2":"","SortCategory3":"","SortCategory4":"","SortCategory5":"","SortCategory6":"","SortCategory7":"","SortCategory8":"","SortCategory9":"","SortCategory10":""},"JobStatus":"","JC_JobOtherOptions_tbl":{"SalesCategoryCode":"","TerritorySalespersonCode":""}}]}
</JonasAPIResult>
</JonasAPIResponse>
</soap:Body>
</soap:Envelope>

Download

An existing Job exported via Option: download.

Job Master DownloadSOAP envelope
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><JonasAPIResponse xmlns="jonas.jonasportal.com/"><JonasAPIResult>{"message":"Login Successful : UserID GJSYSTEM (User 7/10) ","Data: {"WebMethod":"GJZJ28J","Option":"download","CompanyCode":"JC","JC_JobMaster_tbl":[{"JobNumber":"000003","JobDescription1":"123456789012345678901234567890","CustomerCode":"AAAABAAA","JC_JobAddress_tbl":{"AddressLine1":"","AddressLine2":"","AddressLine3":"","PostalZipCode":""},"JobStartingDate":"2004-06-01T00:00:00Z","EstimatedCompletionDate":"2004-06-01T00:00:00Z","SalesTaxGroup":"PAPN","JobDescription2":"","ContractValue":100000.00,"ServiceContractNumber":"","HoldBackRetainagePercentage":10.00,"ArchitectsHoldbackRetainagePercentage":0,"BillToCustomerCode":"        11","JC_JobSortCategories_tbl":{"SortCategory1":"","SortCategory2":"","SortCategory3":"","SortCategory4":"","SortCategory5":"","SortCategory6":"","SortCategory7":"","SortCategory8":"","SortCategory9":"","SortCategory10":""},"JobStatus":"Y","JC_JobOtherOptions_tbl":{"SalesCategoryCode":"","TerritorySalespersonCode":""}}]}</JonasAPIResult></JonasAPIResponse></soap:Body></soap:Envelope>

Scan

Validate a Job payload before committing — the response lists any field-level errors.

Job Master Error ScanSOAP envelope
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:jon="jonas.jonasportal.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <jon:JonasAPI>
         <!--Optional:-->
         <jon:securityToken>fe02f84b459a4a317dd6080678bd8140</jon:securityToken>
         <!--Optional:-->
         <jon:username>****</jon:username>
         <!--Optional:-->
         <jon:password>****</jon:password>
         <!--Optional:-->
         <jon:apiParams>
         		{"WebMethod":"GJZJ28J","Option":"scan","CompanyCode":"JC","JC_JobMaster_tbl":[{"JobNumber":"*1003","JobDescription1":"Quebec Job","CustomerCode":"QUEBEC","JC_JobAddress_tbl":{"AddressLine1":"12552 Younge St","AddressLine2":"Richmond Hill","AddressLine3":"Ontario","PostalZipCode":"M4L 5P2"},"JobStartingDate":"2000-05-29T00:00:00Z","EstimatedCompletionDate":"2000-12-01T00:00:00Z","SalesTaxGroup":"","JobDescription2":"","ContractValue":0.00,"ServiceContractNumber":"1238","HoldBackRetainagePercentage":10.00,"ArchitectsHoldbackRetainagePercentage":0.00,"BillToCustomerCode":"        11","JC_JobSortCategories_tbl":{"SortCategory1":"JIM","SortCategory2":"ROBIN","SortCategory3":"CARL SMITH","SortCategory4":"LABOUR","SortCategory5":"","SortCategory6":"","SortCategory7":"","SortCategory8":"","SortCategory9":"","SortCategory10":""},"JobStatus":"Y","JC_JobOtherOptions_tbl":{"SalesCategoryCode":"","TerritorySalespersonCode":""}}]}
         </jon:apiParams>
      </jon:JonasAPI>
   </soapenv:Body>
</soapenv:Envelope>

Update

Once the scan is clean, switch Option to update to commit the Job(s).

Job Master UpdateSOAP envelope
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:jon="jonas.jonasportal.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <jon:JonasAPI>
         <!--Optional:-->
         <jon:securityToken>fe02f84b459a4a317dd6080678bd8140</jon:securityToken>
         <!--Optional:-->
         <jon:username>****</jon:username>
         <!--Optional:-->
         <jon:password>****</jon:password>
         <!--Optional:-->
         <jon:apiParams>
         		{"WebMethod":"GJZJ28J","Option":"update","CompanyCode":"JC","JC_JobMaster_tbl":[{"JobNumber":"*10003","JobDescription1":"Quebec Job","CustomerCode":"QUEBEC","JC_JobAddress_tbl":{"AddressLine1":"12552 Younge St","AddressLine2":"Richmond Hill","AddressLine3":"Ontario","PostalZipCode":"M4L 5P2"},"JobStartingDate":"2000-05-29T00:00:00Z","EstimatedCompletionDate":"2000-12-01T00:00:00Z","SalesTaxGroup":"","JobDescription2":"","ContractValue":0.00,"ServiceContractNumber":"1238","HoldBackRetainagePercentage":10.00,"ArchitectsHoldbackRetainagePercentage":0.00,"BillToCustomerCode":"        11","JC_JobSortCategories_tbl":{"SortCategory1":"JIM","SortCategory2":"ROBIN","SortCategory3":"CARL SMITH","SortCategory4":"LABOUR","SortCategory5":"","SortCategory6":"","SortCategory7":"","SortCategory8":"","SortCategory9":"","SortCategory10":""},"JobStatus":"Y","JC_JobOtherOptions_tbl":{"SalesCategoryCode":"","TerritorySalespersonCode":""}}]}
         </jon:apiParams>
      </jon:JonasAPI>
   </soapenv:Body>
</soapenv:Envelope>