Difference between revisions of "Create Job Items"

From MyMobileWorkers API
Jump to: navigation, search
(→‎JSON Contents)
(→‎JSON As Body)
 
(17 intermediate revisions by 5 users not shown)
Line 2: Line 2:
 
== Summary ==
 
== Summary ==
  
−
Job items can only be added to a PODC job.
+
Job items can be created for any workflow type however for the data to be displayed on the device the correct screen needs to be enabled.
 +
 
 
A job item can be created via two different methods - either as multi-part form data with a JSON file attached and the API key as a parameter, or as JSON content on it's own, with the API key supplied within the JSON.
 
A job item can be created via two different methods - either as multi-part form data with a JSON file attached and the API key as a parameter, or as JSON content on it's own, with the API key supplied within the JSON.
  
Line 10: Line 11:
  
 
Returns a list of valid job items and a list of failed job items. Even if items are valid, they will not be created unless there are no failed items.
 
Returns a list of valid job items and a list of failed job items. Even if items are valid, they will not be created unless there are no failed items.
 +
 +
The replace existing parameter will remove all existing items from the job before the new collection of items is added.
  
 
==== Multi Part Form Data ====
 
==== Multi Part Form Data ====
Line 51: Line 54:
 
|-
 
|-
 
!  
 
!  
−
| JSON <br /> {key, job_number, validate_only(optional), update_existing(optional), items[]}  ||| required     
+
| JSON <br /> {key, job_number, validate_only(optional), update_existing(optional), replace_existing(optional), items[]}  ||| required     
 
|-
 
|-
 
! Response
 
! Response
Line 73: Line 76:
 
! expected_quantity
 
! expected_quantity
 
| int(4) || &#10003;
 
| int(4) || &#10003;
−
|-
 
−
! status
 
−
| varchar(45) - "collected" or "delivered"  || &#10003;
 
 
|-
 
|-
 
! other
 
! other
Line 82: Line 82:
 
! notes
 
! notes
 
| varchar(45) ||
 
| varchar(45) ||
 +
|-
 +
! barcodes
 +
| varchar(255) ||
 
|-
 
|-
 
|}
 
|}
Line 95: Line 98:
 
! key
 
! key
 
| string - company api key || &#10003;
 
| string - company api key || &#10003;
 +
|-
 +
! job_number
 +
| string - job number || &#10003;
 
|-
 
|-
 
! validate_only
 
! validate_only
 +
| boolean ||
 +
|-
 +
! update_existing
 +
| boolean ||
 +
|-
 +
! replace_existing
 
| boolean ||
 
| boolean ||
 
|-  
 
|-  
Line 110: Line 122:
 
"expected_quantity":"4",
 
"expected_quantity":"4",
 
"other":"test",
 
"other":"test",
−
"status":"COMPLETED",
 
 
"notes":"exampleNotes",
 
"notes":"exampleNotes",
−
"name":"darrenItem245"
+
"name":"darrenItem245",
 +
"barcodes":"barcode,barcode1"
 
}]}
 
}]}
 
</source>
 
</source>
Line 127: Line 139:
 
         "expected_quantity":"4",
 
         "expected_quantity":"4",
 
         "other":"test",
 
         "other":"test",
−
        "status":"COMPLETED",
 
 
         "notes":"exampleNotes",
 
         "notes":"exampleNotes",
−
         "name":"darrenItem"
+
         "name":"darrenItem",
 +
        "barcodes":"barcode,barcode1"
 +
      },
 +
      {
 +
        "type":"D",
 +
        "expected_quantity":"2",
 +
        "other":"testing1",
 +
        "notes":"noting",
 +
        "name":"Item",
 +
        "barcodes":"barcode2,barcode2"
 
       }
 
       }
 
   ]
 
   ]
Line 139: Line 159:
 
==== Multi Part Form Data ====
 
==== Multi Part Form Data ====
  
−
curl -F validate_only=false -F update_existing=true -F api_key=darrenwebapi -F job_number=123 -F file=@/Users/darrenatherton/Desktop/webAPICurling/create_job_item_stage.txt http://live.mymobileworkers.com:8080/api/1/jobs/job/items
+
<source lang="php">
 +
curl -F validate_only=false -F update_existing=true -F api_key=[YOUR_API_KEY] -F job_number=123 -F file=@/Users/darrenatherton/Desktop/webAPICurling/create_job_item_stage.txt http://api.mymobileworkers.com:8080/api/1/jobs/job/items
 +
</source>
  
 
==== JSON As Body ====
 
==== JSON As Body ====
  
−
curl -X POST -H "Content-Type: application/json" -d '{"key":"darrenwebapi","job_number":"123","items":[{"type":"C","expected_quantity":"4","other":"test","status":"COMPLETED","notes":"exampleNotes","name":"darrenItem"}]}' http://live.mymobileworkers.com:8080/api/1/jobs/job/items
+
<source lang="php">
 +
curl -X POST -H "Content-Type: application/json" -d '{"key":"YOUR_API_KEY","job_number":"123","items":[{"type":"C","expected_quantity":"4","other":"test","notes":"exampleNotes","name":"darrenItem"}]}' http://api.mymobileworkers.com:8080/api/1/jobs/job/items
 +
</source>
  
 
== Responses ==
 
== Responses ==
Line 172: Line 196:
 
         "type":"C",
 
         "type":"C",
 
         "notes":"notes",
 
         "notes":"notes",
−
       
+
        "barcodes":"barcode,barcode1"
 
       }
 
       }
 
   ]
 
   ]
 
}
 
}
 
</source>
 
</source>

Latest revision as of 09:26, 15 June 2020

Contents

[edit] Summary

Job items can be created for any workflow type however for the data to be displayed on the device the correct screen needs to be enabled.

A job item can be created via two different methods - either as multi-part form data with a JSON file attached and the API key as a parameter, or as JSON content on it's own, with the API key supplied within the JSON.

A job item may be created either by supplying freeform text for the 'name' field, or by supplying the name or external id of an existing part, which will then be linked from the items catalog to the new item.

This method is transactional. If one item fails validation, then no items will be created.

Returns a list of valid job items and a list of failed job items. Even if items are valid, they will not be created unless there are no failed items.

The replace existing parameter will remove all existing items from the job before the new collection of items is added.

[edit] Multi Part Form Data

Create Job item
URL http://:base_url/:api_path/:version/jobs/job/items
Type POST
Params: api_key required
validate_only required
file required
job_number required
Response JSON

[edit] JSON As Body

Create Job - JSON
URL http://:base_url/:api_path/:version/jobs/job/items
Type POST
JSON
{key, job_number, validate_only(optional), update_existing(optional), replace_existing(optional), items[]}
required
Response JSON

[edit] JSON Contents

The JSON file is passed in the post as the "file"
Field Expected Data Required
name OR external_id varchar(45) ✓
type "C","D"
* Collect/Deliver
✓
expected_quantity int(4) ✓
other varchar(45)
notes varchar(45)
barcodes varchar(255)
Fields exclusive to JSON body format:
Standard Fields
Field Expected Data Required
key string - company api key ✓
job_number string - job number ✓
validate_only boolean
update_existing boolean
replace_existing boolean

[edit] Example Input

[edit] Multi Part Form Data

{"items":[{
"type":"C",
"expected_quantity":"4",
"other":"test",
"notes":"exampleNotes",
"name":"darrenItem245",
"barcodes":"barcode,barcode1"
}]}

[edit] JSON As Body

{
   "key":"darrenwebapi",
   "job_number":"123",
   "items":[
      {
         "type":"C",
         "expected_quantity":"4",
         "other":"test",
         "notes":"exampleNotes",
         "name":"darrenItem",
         "barcodes":"barcode,barcode1"
      },
      {
         "type":"D",
         "expected_quantity":"2",
         "other":"testing1",
         "notes":"noting",
         "name":"Item",
         "barcodes":"barcode2,barcode2"
      }
   ]
}

[edit] Example Curl Requests

[edit] Multi Part Form Data

curl -F validate_only=false -F update_existing=true -F api_key=[YOUR_API_KEY] -F job_number=123 -F file=@/Users/darrenatherton/Desktop/webAPICurling/create_job_item_stage.txt http://api.mymobileworkers.com:8080/api/1/jobs/job/items

[edit] JSON As Body

curl -X POST -H "Content-Type: application/json" -d '{"key":"YOUR_API_KEY","job_number":"123","items":[{"type":"C","expected_quantity":"4","other":"test","notes":"exampleNotes","name":"darrenItem"}]}' http://api.mymobileworkers.com:8080/api/1/jobs/job/items

[edit] Responses

[edit] Example JSON

{
   "result":"failed",
   "failed":[
      {
         "item":{
            "name":"item2",
            "type":null,
            "notes":null,
         },
         "errors":[
            {
               "error_code":"JBI002",
               "error_message":"Job item type is null"
            }
         ]
      }
   ],
   "valid":[
      {
         "name":"item1",
         "type":"C",
         "notes":"notes",
         "barcodes":"barcode,barcode1"
      }
   ]
}
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox