1. New Jobs can be created through the API using the function call
CreateNewJob(JobData As NewJob)
The following data types and whether they are mandatory or not are used
NewJob
JobOurReference As String (mandatory)
CustomerName As String (mandatory)
JobDate As String (non mandatory)
JobRequiredDate As String (non mandatory)
JobCustomerOrderNumber As String (non mandatory)
JobEstCost As String (non mandatory)
JobPriority As String (mandatory)
JobSalesPerson As String (non mandatory)
JobOurReferenceGroupName As String (non mandatory)
JobDeliveryAddress As String (non mandatory)
JobNotes As String (non mandatory)
JobInvoiceNumber As String (non manadatory)
If there is no Customer it will create one.
As a result the request body should be based on the following
<soapenv:Body>
<web:CreateNewJob>
<web:JobData>
<web:JobOurReference> JOB OUR REFERENCE </web:JobOurReference>
<web:CustomerName>CUSTOMER NAME</web:CustomerName>
<web:JobDate>JOB DATE (YYYY-MM-DD)</web:JobDate>
<web:JobRequiredDate> JOB REQUIRED DATE (YYYY-MM-DD)</</web:JobRequiredDate>
<web:JobCustomerOrderNumber>CUSTOMER ORDER NUMBER</web:JobCustomerOrderNumber>
<web:JobEstCost>ESTIMATED COST</web:JobEstCost>
<web:JobPriority>JOB PRIORITY</web:JobPriority>
<web:JobSalesPerson>SALES PERSON</web:JobSalesPerson>
<web:JobOurReferenceGroupName>JOB OUR REFERENCE GROUP NAME</web:JobOurReferenceGroupName>
<web: JobDeliveryAddress>JOB DELIVERY ADDRESS</web: JobDeliveryAddress>
<web:JobNotes>NOTES</web:JobNotes>
<web:JobInvoiceNumber>INVOICE NUMBER</web:JobInvoiceNumber>
</web:JobData>
</web:CreateNewJob>
</soapenv:Body>
The following example may aid in understanding
<soapenv:Body>
<web:CreateNewJob>
<web:JobData>
<web:JobOurReference>Job1234</web:JobOurReference>
<web:CustomerName>Arrow Ltd</web:CustomerName>
<web:JobDate>2014-12-23</web:JobDate>
<web:JobRequiredDate>2016-01-30</</web:JobRequiredDate>
<web:JobCustomerOrderNumber>Order Number 5590</web:JobCustomerOrderNumber>
<web:JobEstCost>1000</web:JobEstCost>
<web:JobPriority>2</web:JobPriority>
<web:JobSalesPerson>Fred Smith</web:JobSalesPerson>
<web:JobOurReferenceGroupName>30877</web:JobOurReferenceGroupName>
<web: JobDeliveryAddress>15 The Plaza</web: JobDeliveryAddress>
<web:JobNotes>This is part of the Plaza Job</web:JobNotes>
<web:JobInvoiceNumber>INV 70123</web:JobInvoiceNumber>
</web:JobData>
</web:CreateNewJob>
</soapenv:Body>
<web:CreateNewJobItem>
<web:JobItemData>
<web:JobOurReference>Job1234</web:JobOurReference>
<web:ProductName>Chair</web:ProductName>
<web:JobItemQty>1</web:JobItemQty>
<web:JobItemField1>User defined Field 1</web:JobItemField1>
<web:JobItemField2>User Defined Field 2</web:JobItemField2>
<web:JobItemInstructions>Please make these chairs in leather</web:JobItemInstructions>
<web:ScheduleName>Four week lead time schedule</web:ScheduleName>
</web:JobItemData>
</web:CreateNewJobItem>
</soapenv:Body>
3. New Jobs along with the Job Items can be created using the function call
CreateNewJobWithItems(JobData As NewJobWithItem)
The following data types are used
NewJobWithItem
JobOurReference As String (mandatory)
CustomerName As String (mandatory)
JobDate As String (non mandatory)
JobRequiredDate As String (non mandatory)
JobCustomerOrderNumber As String (non mandatory)
JobEstCost As String (non mandatory)
JobPriority As String (mandatory)
JobSalesPerson As String (non mandatory)
JobOurReferenceGroupName As String (non mandatory)
JobDeliveryAddress As String (non mandatory)
JobNotes As String (non mandatory)
JobItems As List(Of NewJobItemData) (non mandatory)
This function behaves the same as CreateNewJob (detailed above) if no JobItems are passed.
4. Jobs can be created or modified using
CreateOrModifyJob(JobData As NewJob)
The following data types and whether they are mandatory or not are used
Job
JobOurReference As String (mandatory)
CustomerName As String (mandatory)
JobDate As String (non mandatory)
JobRequiredDate As String (non mandatory)
JobCustomerOrderNumber As String (non mandatory)
JobEstCost As String (non mandatory)
JobPriority As String (mandatory)
JobSalesPerson As String (non mandatory)
JobOurReferenceGroupName As String (non mandatory)
JobDeliveryAddress As String (non mandatory)
JobNotes As String (non mandatory)
JobInvoiceNumber As String (non manadatory)
If there is no Customer it will create one.
As a result the request body should be based on the following
<soapenv:Body>
<web:CreateOrModifyJob>
<web:JobData>
<web:JobOurReference> JOB OUR REFERENCE </web:JobOurReference>
<web:CustomerName>CUSTOMER NAME</web:CustomerName>
<web:JobDate>JOB DATE (YYYY-MM-DD)</web:JobDate>
<web:JobRequiredDate> JOB REQUIRED DATE (YYYY-MM-DD)</</web:JobRequiredDate>
<web:JobCustomerOrderNumber>CUSTOMER ORDER NUMBER</web:JobCustomerOrderNumber>
<web:JobEstCost>ESTIMATED COST</web:JobEstCost>
<web:JobPriority>JOB PRIORITY</web:JobPriority>
<web:JobSalesPerson>SALES PERSON</web:JobSalesPerson>
<web:JobOurReferenceGroupName>JOB OUR REFERENCE GROUP NAME</web:JobOurReferenceGroupName>
<web: JobDeliveryAddress>JOB DELIVERY ADDRESS</web: JobDeliveryAddress>
<web:JobNotes>NOTES</web:JobNotes>
<web:JobInvoiceNumber>INVOICE NUMBER</web:JobInvoiceNumber>
</web:JobData>
</web:CreateOrModifyJob>
</soapenv:Body>
The following example may aid in understanding
<soapenv:Body>
<web:CreateOrModifyJob>
<web:JobData>
<web:JobOurReference>Job1234</web:JobOurReference>
<web:CustomerName>Arrow Ltd</web:CustomerName>
<web:JobDate>2014-12-23</web:JobDate>
<web:JobRequiredDate>2016-01-30</</web:JobRequiredDate>
<web:JobCustomerOrderNumber>Order Number 5590</web:JobCustomerOrderNumber>
<web:JobEstCost>1000</web:JobEstCost>
<web:JobPriority>2</web:JobPriority>
<web:JobSalesPerson>Fred Smith</web:JobSalesPerson>
<web:JobOurReferenceGroupName>30877</web:JobOurReferenceGroupName>
<web: JobDeliveryAddress>15 The Plaza</web: JobDeliveryAddress>
<web:JobNotes>This is part of the Plaza Job</web:JobNotes>
<web:JobInvoiceNumber>INV 70123</web:JobInvoiceNumber>
</web:JobData>
</web:CreateOrModifyJob>
</soapenv:Body>
5. Modifying a JobItem
A JobItem can be modified through the API using the function call
ModifyJobItem(JobNo as String, ProductNameToModify as String, JobItemData as NewJobItemData)