Create Assets

From MyMobileWorkers API
Jump to: navigation, search

Contents

Summary

An asset 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.

The 'create asset' method accepts an array of assets to be added to the system. If the 'update_existing' parameter is set, then any existing assets will be updated in the system. If set to false or not provided, then any asset where the serial number is not unique will be rejected.

When an asset is created or updated, a new asset history entry is also created in the system to keep track of the asset over time.

If 'validate_only' is set, the assets will only be validated but not actually inserted into the database. This can be used to check an entire dataset for errors before submitting.

Multi Part Form Data

Create Asset
URL https://base_url/api_path/version/assets
Type POST
Params: api_key required
file required
update_existing optional (default = false)
validate_only optional (default = false)
Response JSON

JSON As Body

Create Job - JSON
URL https://base_url/api_path/version/assets
Type POST
JSON
{key, validate_only(optional), update_existing(optional), assets[]}
required
Response JSON

JSON Contents

The JSON file is passed in the post as the "file"
Standard Fields
Field Expected Data Required
external_id varchar(45)
item_id {"name":"<itemName>"}
*nested JSON object
✓
serial_number varchar(45)
* must be unique
✓
description varchar(255)
location varchar(45)
job_id {"job_number":"<jobNumber>"}
*nested JSON object
customer_id {"name":"<customerName>"}
*nested JSON object
status_id {"status":"<statusName>"}
*nested JSON object
✓
branch_id {"name":"<branchName>"}
*nested JSON object
custom_fields JSON
Fields exclusive to JSON body format:
Standard Fields
Field Expected Data Required
key string - company api key ✓
update_existing boolean
validate_only boolean

Example Input

Multi Part Form Data

{
   "assets":[
      {
         "external_id":"sss32",
         "item_id":{
            "name":"Woo"
         },
         "serial_number":"serialNo456",
         "description":"describingwords",
         "location":"aPlace2",
         "job_id":{
            "job_number":"123"
         },
         "customer_id":{
            "name":"john"
         },
         "status_id":{
            "status":"test"
         },
         "branch_id":{
            "name":"DarrenDevTest"
         },
         "custom_fields":{
		"testFieldName1":"testFieldValue1",
		"testFieldName2":"testFieldValue2",
		"testFieldName3":"testFieldValue3"
	}
      }
   ]
}


JSON As Body

{
   "key":"darrenwebapi",
   "validate_only":"false",
   "update_existing":"true",
   "assets":[
      {
         "external_id":"sss32",
         "item_id":{
            "name":"Woo"
         },
         "serial_number":"serialNo456",
         "description":"describingwords",
         "location":"aPlace2",
         "job_id":{
            "job_number":"123"
         },
         "customer_id":{
            "name":"john"
         },
         "status_id":{
            "status":"test"
         },
         "branch_id":{
            "name":"DarrenDevTest"
         },
         "custom_fields":{
            "testFieldName1":"testFieldValue1",
            "testFieldName2":"testFieldValue2",
            "testFieldName3":"testFieldValue3"
         }
      }
   ]
}

Example Curl Requests

Multi Part Form Data

curl -F validate_only=false -F update_existing=true -F api_key=darren_web_api -F file=@/Users/user/Desktop/webAPICurling/create_asset.txt https://api.mymobileworkers.com:8181/api/1/assets

JSON As Body

curl -X POST -H "Content-Type: application/json" -d '{"key":"darrenwebapi", "validate_only":"false", "update_existing":"true", "assets":[{"external_id":"sss32","item_id":{"name":"Woo"},"serial_number":"serialNo456","description":"describingwords","location":"aPlace2","job_id":{"job_number":"123"},"customer_id":{"name":"john"},"status_id":{"status":"test"},"branch_id":{"name":"DarrenDevTest"},"custom_fields":{"testFieldName1":"testFieldValue1","testFieldName2":"testFieldValue2","testFieldName3":"testFieldValue3"}}]}' http://api.mymobileworkers.com:8080/api/1/assets

Responses

Example JSON

{
	"successful":
	[
		{"serial_number":"S0103"},
		{"serial_number":"S0245"}
	],
	"failed":
	[
		{
			"serial_number":"S0384",
			"errors": 
			[
				{
					"error_code":"ASV012",
					"error_msg":"Status id cannot be null."
				}
			]
		}
	]
}
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox