Projects represent Mobile Data Studio project files that have been uploaded to Mobile Data Anywhere. They define the schema for data collected on the device, defining the user interface on the device, including validation and so on.
Projects when fetched via the API return a data record with the follow keys:
id
- a unique identifier for the project in the Mobile Data Anywhere system.name
- The name of the projectfilename
- The filename when the project was uploaded. This must not ever change, as it is used on the mobile devices to identify the project there.uid
- a unique identifier that is an attribute of the .ppc file. This must also remain the same, as it is used by the mobile devices to identify the project.Example JSON object:
{
"id": 123
"name": "Courier",
"uid": 14253646,
"filename": "Courier.ppc",
}
This method supports filtering of the following fields:
Param name | Description |
---|---|
filename optional |
Filter the list of projects to ones that have a filename that match the given Filename Validations:
|
device_id optional |
Filter the list of projects to ones that are linked to a device with the given Unit Id Validations:
|
This sends the project to a device, identified by its “Unit ID”. If the device is connected, it will be delivered immediately. Otherwise the project will be queued and sent to the device the next time it connects.
Future updates to a project are only sent to the device if the device is “linked” to the project. See the /api/v1/projects/:id/link API method.
Note: Sending a project to a device does not load the project on the device. The user may still require completing whatever session is in progress and returning to the project list. Only when the project is shown in the list highlighted will it be reloaded on the device the next time the user opens it.
Param name | Description |
---|---|
unit_id required |
The unit ID of the device Validations:
|
Return a list of devices linked to this project
Link one or more devices to a project.
The unit_id
parameter can be: * a Unit ID to link a single device. * an array of Unit ID’s to link multiple devices.
{ "status": "success", "message": "success", "result": [ DEVICE_ID_1, DEVICE_ID_2 ] }
Param name | Description |
---|---|
project_id required |
The Project ID of the project. Validations:
|
unit_id required |
The Unit ID of the device. Validations:
|
Link a project to all devices.
{ "status": "success", "message": "success", "result": [ DEVICE_ID_1, DEVICE_ID_2 ] }
Param name | Description |
---|---|
project_id required |
The Project ID of the project. Validations:
|
Re-deploy a project to all devices.
{ "status": "success", "message": "success", "result": [ DEVICE_ID_1, DEVICE_ID_2 ] }
Param name | Description |
---|---|
project_id required |
The Project ID of the project. Validations:
|
Unlink one or more devices from a project.
The unit_id
parameter can be: * a Unit ID to unlink a single device. * an array of Unit ID’s to unlink multiple devices. * a string of “all” to unlink all devices from the project.
{ "status": "success", "message": "success", "result": [ DEVICE_ID_1, DEVICE_ID_2 ] }
Param name | Description |
---|---|
project_id required |
The Project ID of the project. Validations:
|
unit_id required |
The unit ID of the device. Validations:
|
Unlink all devices from a project.
{ "status": "success", "message": "success", "result": [ DEVICE_ID_1, DEVICE_ID_2 ] }
Param name | Description |
---|---|
project_id required |
The Project ID of the project. Validations:
|
This method will return the XML Schema in a similar format to:
Example XML for a basic project:
<xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="ProjectDataSet">
<xs:element name="ProjectDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Project">
<xs:complexType>
<xs:sequence>
<xs:element name="UUID" type="xs:string"/>
<xs:element name="Date" type="xs:date"/>
<xs:element name="Created" type="xs:dateTime"/>
<xs:element name="Saved" type="xs:dateTime"/>
<xs:element name="UnitID" type="xs:string"/>
<xs:element name="JobNumber" type="xs:string"/>
<xs:element name="JobAssigned" type="xs:string"/>
<xs:element name="TransportandRate" type="xs:string"/>
<xs:element name="Material" type="xs:string"/>
<xs:element name="Courier" type="xs:string"/>
<xs:element name="Client" type="xs:string"/>
<xs:element name="PickUpAddress" type="xs:string"/>
<xs:element name="PickUpContactName" type="xs:string"/>
<xs:element name="PickUpPhone" type="xs:string"/>
<xs:element name="PickUpTime" type="xs:string"/>
<xs:element name="DeliveryAddress" type="xs:string"/>
<xs:element name="DeliveryContactName" type="xs:string"/>
<xs:element name="DeliveryPhone" type="xs:string"/>
<xs:element name="DeliveryTime" type="xs:string"/>
<xs:element name="DeliverySignature" type="xs:string"/>
<xs:element name="CostDollars" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
This changes the status of a project from Active to Archived to temporarily hide the project. An archived project can be changed back to active at any time using the unarchive endpoint: /api/v1/projects/:project_id/unarchive
Param name | Description |
---|---|
project_id required |
The Project ID Validations:
|
This changes the status of a project from Archived to Active.
Param name | Description |
---|---|
project_id required |
The Project ID Validations:
|
Param name | Description |
---|---|
project_id required |
The Project ID Validations:
|
next_sequential_id required |
The next sequential id Validations:
|
Param name | Description |
---|---|
project_id required |
The Project ID Validations:
|
initial_sequential_id required |
The new sequential id that will start the sequence Validations:
|
Param name | Description |
---|---|
project_id required |
The Project ID Validations:
|
Param name | Description |
---|---|
project_id required |
The Project ID Validations:
|
Param name | Description |
---|---|
project_id required |
The Project ID Validations:
|
new_project_name required |
New Project Name Validations:
|
Param name | Description |
---|---|
project_id required |
The Project ID Validations:
|
new_project_name required |
New Project Name Validations:
|