The SOAP API provides programmatic access to the doForms portal. These APIs enable you add, update and delete information used by your portal.

The doForms REST API documentation can be found here.

Enabling Web Services


Most of the web services work with the specified forms designed in the doForms portal. Others work with the dispatching, tracking and support data related items - lookup tables for example.

Each published Project / Form may be assigned a Web Service ID (WSID), and password for the services to work. This is done via the Manage Integrations Web  Services page.

Each service may be enabled and disabled based on the activities planned so you can manage which services should be in use.

These services are quota based, please see the section under Quota Limits section

Quota Limits


LimitType
50Get data requests (retrieving a form data record) per mobile license per WSID
50Dispatch requests (sending a dispatch) per mobile license per WSID
100GPS track point requests (reading a GPS track) per mobile license
1,000,000Total lookup table write operations (uploading a lookup table) per account
1,000,000Total lookup table read operations (downloading a lookup table) per account

Quota limits are based on daily usage starting at midnight UTC.

Note that during the 7 days immediately following the creation of a WSID, we provide higher limits on "Get data requests" to permit adequate testing of your software.

The lookup table limits are measured in read and write operations, not in number of rows. A good rule of thumb is that the number of read or write operations is approximately 4 X number of rows X number of fields. So a lookup table with 10,000 records and 10 fields would use approximately 400,000 write operations to upload.

Customers requiring higher use limits should contact support@doForms.com.

We reserve the right to change these limits at any time with or without notice in order to maintain the performance and reliability of the doForms website.

Connecting to a Web Service


Detailed instructions on how to connect to a SOAP web service are beyond the scope of this manual. The doForms web services follow the W3C SOAP Specification Version 1.2 (http://www.w3.org/TR/soap/). We recommend using a tool such as soapUI (http://www.soapui.org/) for exploring and testing a doForms web service.

You can get a quick view of your doForms data for a specific WSID by using the address listed under URL on the Manage > Integrations > Web services page. Note that this address does not provide any control of format or the number of records to return, and performance may be poor for large forms.

The doForms web service can be accessed at the following addresses:

SITEURL
Production (recommended)https://wss-dot-mydoForms-hrd.appspot.com/wss?wsdl
Beta

https://betawss-dot-mydoforms-hrd.appspot.com/wss?wsdl

Reading Submission Data


Most users of the doForms web services use them to retrieve data records submitted from mobile devices so that these data records can be integrated into another information system.

In many case this process centers around one method: "getUnReadData". This method is used for reading data records that have not been previously read by your client application. The "DataFormat" argument determines if data is returned in CSV, JSON or XML.

The "NumberOfRec" argument determines how many records are returned with each request. We strongly recommend making this value less than 100 for reliability. An empty response will be returned when there are no more data records to read.

In the simplest case, this method is used with the "isAutoUpdate" argument equal to "1". Doing so automatically removes any record that is read with the getUnReadData from the unread data queue so it will not be re-read with subsequent calls of this method. In other cases, you may want to have more control over when a record is marked as read. For example if integrity checks are performed on each returned record. In this case, use the getUnReadData method with the "isAutoUpdate" argument equal to "0". Then use the markUnReadDataAsRead method to manually mark successfully read records from the unread record queue.

The "read" value is saved with the record. This means that it is not possible to use multiple WSIDs for a single form in order to receive multiple streams of the same submissions. Once a record is marked as "read" by one WSID, the record will not be returned by any other WSID.

In doForms there is a distinction between a record that is newly submitted by a mobile device to the doForms website and a previously submitted record that is edited on the doForms website. The getUnReadData method reads both newly submitted records and edited records.

If you need more control over which records are read, consider using the getRecordKeyByReceivedDateRange and getDataByRecordKey methods which will enable you to identify and get specific records based on the date:time in UTC when a record was received by the doForms website. Alternatively, use the getRecordKeyByDateRange method if you want to do this based on the "Date_Created" which is the date:time that the record was created on the mobile device (not recommended).

With all of the "get" methods above, you may also want to delete data records from the doForms website after they have been read. In this case, use the "deleteDataByRecordKey" method . Note that even if the record is to be deleted, it must also be marked as "read" using markUnReadDataAsRead to avoid an error if using the getUnReadData method.

Downloading Media Files

The output of the web services contains the URL address for each attached media file. If you wish to download media files, request them directly using the provided URL.

Integration Tips / Best Practices

Managing Lookup Data


Lookup data can be managed using the following methods:

METHODDESCRIPTION
addLookupTableData

Create a lookup table, including the column structure. Once set, the column structure can't be changed. This method should only be called once for each lookup table.

appendLookupTableData2

Add records to an existing lookup table. Set the COMPLETE parameter to 1 on the last batch of records to append. The changes will not be sent to the app until a COMPLETE = 1.

deleteLookupTableData

Clear the data from an existing lookup table. If not all records could be deleted in a single request, the hasMoreRecords node will contain "true". Continue calling deleteLookupTableData until hasMoreRecords = "false".

updateLookupTableData

A convenience method that deletes records from the lookup table and then appends records. This method may return an error if not all records could be cleared in a single request. In this case use deleteLookupTableData and appendLookupTableData2 individually.

Current Service Methods


Please note the latest method may have a number appended to its name. This is the revision of the method due to deprecation or changes to the interface. Deprecated methods are listed at the end of this document.

NAMEDESCRIPTION
addLookupTableDataAdd a new lookup table. Note that this method is subject to the Quota Limits described above.
appendLookupTableData2

Append new rows to an existing lookup table. Note that this method is subject to the Quota Limits described

above.

checkValidWebserviceVerify that a WSID is valid.
deleteDataDelete data records by the RecordId.
deleteDataByRecordKeyDelete data records by the RecordKey.
deleteDispatchDelete dispatch records based RecordKey.
deleteLookupTableDataDelete all rows in an existing lookup table.
getDataByRecordKey9Get the detail of a data record with the specified RecordKey in a specified format.
getFormRecordCountGet the total number of data records for a specific WSID.
getFormTemplate2Get the form structure in XML format for a specific WSID.
getGPSTrackingPoints

Get all the tracking points that are within a certain date range (created on the mobile unit) for a specific mobile unit. Note that this method is subject to the Quota Limits described above.

getLookupTableDataGet the content of a lookup table. Note that this method is subject to the Quota Limits described above.
getLookupTableList

Get a list of all lookup tables in the account. Includes only the Lookup Table key, name, description and the column list.

getMobileUnitsGet a list of all the mobile units in an account.
getRecordKeyByDateRangeGet a list of the RecordKeys in a WSID that were created in a given date range. (Date_Created)
getRecordKeyByEditedDateRangeGet a list of the RecordKeys in a WSID that were edited in a given date range.
getRecordKeyByReceivedDateRange

Get a list of the RecordKeys in a WSID that were received in a given date range. (Date_Received)

getUnReadDataGet data records that have not been previously read. See description under Reading Data. Note that this method is subject to the Quota Limits described above.
getWsIDList2Get a list of active WSIDs in an account that use the provided password.
listDispatchGet a list of dispatch record headers based on status. Includes only RecordKey, MobileNumber, Date Completed, and Date Submitted.
markUnReadDataAsReadMark data records as "read" to remove the them from the next request to getUnReadData.
submissionDispatch2Send a dispatch record for a specific WSID. Note that this method is subject to the Quota Limits described above.
updateLookupTableDataUpdate an existing lookup table. Note that this method is subject to the Quota Limits described above.

Service Methods


getWsIDList2

Return the list of active WSIDs for an account which match the password.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="services.wss.portal.doForms.mdt.com">
<soapenv:Header/>
<soapenv:Body>
<ser:getWsIDList2>
<arg0_java_lang_String>[Account Name]</arg0_java_lang_String>
<arg1_java_lang_String>[WS Password]</arg1_java_lang_String>
<arg2_int>[ResponseFormat]</arg2_int>
</ser:getWsIDList2>
</soapenv:Body>
</soapenv:Envelope>

Where:

getFormTemplate2

Get the form structure in XML format.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="services.wss.portal.doForms.mdt.com">
<soapenv:Header/>
<soapenv:Body>
<ser:getFormTemplate2>
<arg0_java_lang_String>[WS ID]</arg0_java_lang_String>
<arg1_java_lang_String>[Password]</arg1_java_lang_String>
</ser:getFormTemplate2>
</soapenv:Body>
</soapenv:Envelope>

checkValidWebservice

Check if a WSID is valid or not.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="services.wss.portal.doForms.mdt.com">
<soapenv:Header/>
<soapenv:Body>
<ser:checkValidWebservice>
<arg0_java_lang_String>[WS ID]</arg0_java_lang_String>
<arg1_java_lang_String>[Password]</arg1_java_lang_String>
</ser:checkValidWebservice>
</soapenv:Body>
</soapenv:Envelope>

Returns:

getFormRecordCount

Get the total records for a specific WSID.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="services.wss.portal.doForms.mdt.com">
<soapenv:Header/>
<soapenv:Body>
<ser:getFormRecordCount>
<arg0_java_lang_String>[WS ID]</arg0_java_lang_String>
<arg1_java_lang_String>[Password]</arg1_java_lang_String>
</ser:getFormRecordCount>
</soapenv:Body>
</soapenv:Envelope>

Returns:

getUnReadData

Download records that have not been previously downloaded, including new records. Note that this method is subject to the quota limits.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="services.wss.portal.doForms.mdt.com">
<soapenv:Header/>
<soapenv:Body>
<ser:getUnReadData>
<arg0_java_lang_String>[WS ID]</arg0_java_lang_String>
<arg1_java_lang_String>[Password]</arg1_java_lang_String>
<arg2_int>[DataFormat]</arg2_int>
<arg3_int>[NumberOfRec]</arg3_int>
<arg4_int>[isAutoUpdate]</arg4_int>
</ser:getUnReadData>
</soapenv:Body>
</soapenv:Envelope>

Where:

Returns:

markUnReadDataAsRead

Mark the unread data as "read" to remove the corresponding record from the getUnReadData call

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="services.wss.portal.doForms.mdt.com">
<soapenv:Header/>
<soapenv:Body>
<ser:markUnReadDataAsRead>
<arg0_java_lang_String>[RecordKey]</arg0_java_lang_String>
</ser:markUnReadDataAsRead>
</soapenv:Body>
</soapenv:Envelope>

Where:

getRecordKeyByReceivedDateRange

Return a list of the RecordKeys in a given received date range which is the date:time that the record is received by the website.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="services.wss.portal.doForms.mdt.com">
<soapenv:Header/>
<soapenv:Body>
<ser:getRecordKeyByReceivedDateRange>
<arg0_java_lang_String>[WS ID]</arg0_java_lang_String>
<arg1_java_lang_String>[Password]</arg1_java_lang_String>
<arg2_java_lang_String>[From Date]</arg2_java_lang_String>
<arg3_java_lang_String>[To Date]</arg3_java_lang_String>
</ser:getRecordKeyByReceivedDateRange>
</soapenv:Body>
</soapenv:Envelope>

Where:

getRecordKeyByEditedDateRange

Return a list of the RecordKeys in a given date range when the records are edited.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="services.wss.portal.doForms.mdt.com">
<soapenv:Header/>
<soapenv:Body>
<ser:getRecordKeyByEditedDateRange>
<arg0_java_lang_String>[WS ID]</arg0_java_lang_String>
<arg1_java_lang_String>[Password]</arg1_java_lang_String>
<arg2_java_lang_String>[From Date]</arg2_java_lang_String>
<arg3_java_lang_String>[To Date]</arg3_java_lang_String>
</ser:getRecordKeyByEditedDateRange>
</soapenv:Body>
</soapenv:Envelope>

Where:

getRecordKeyByDateRange

Return a list of the RecordKeys in a given submitted date range.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="services.wss.portal.doForms.mdt.com">
<soapenv:Header/>
<soapenv:Body>
<ser:getRecordKeyByDateRange>
<arg0_java_lang_String>[WS ID]</arg0_java_lang_String>
<arg1_java_lang_String>[Password]</arg1_java_lang_String>
<arg2_java_lang_String>[From Date]</arg2_java_lang_String>
<arg3_java_lang_String>[To Date]</arg3_java_lang_String>
</ser:getRecordKeyByDateRange>
</soapenv:Body>
</soapenv:Envelope>

Where:

getDataByRecordKey9

Get the detail of a record with the specified RecordKey in a specified format. Note that this method is subject to the Use Limits described above.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="services.wss.portal.doForms.mdt.com">
<soapenv:Header/>
<soapenv:Body>
<ser:getDataByRecordKey9>
<arg0_java_lang_String>[WS ID]</arg0_java_lang_String>
<arg1_java_lang_String>[Password]</arg1_java_lang_String>
<arg2_java_lang_String>[RecordKey]</arg2_java_lang_String>
<arg3_int>[ResponseFormat]</arg3_int>
<arg4_int>[DatetimeFormat]</arg4_int>
<arg5_int>[OptionFormat]</arg5_int>
</ser:getDataByRecordKey9>
</soapenv:Body>
</soapenv:Envelope>

Where:

submissionDispatch2

Send a record to a device as a Dispatch.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="services.wss.portal.doForms.mdt.com">
<soapenv:Header/>
<soapenv:Body>
<ser:submissionDispatch2>
<arg0_java_lang_String>[WS ID]</arg0_java_lang_String>
<arg1_java_lang_String>[Password]</arg1_java_lang_String>
<arg2_java_lang_String>[recordsToSubmit]</arg2_java_lang_String>
</ser:submissionDispatch>
</soapenv:Body>
</soapenv:Envelope>

Where:

Example [recordsToSubmit]:

"@mobileNumber","string_question","integer_question","decimal_question","date_question","Time_question","Date_Time_question","select_multiple_question","select_one_question","geopoint_question","barcode_question"@END_LINE;"0909707606","sent using wss to the mobile device 0909707606 #9","11","12.5","2012-07-06","23:59:59","2012-07-21T23:59:59","option_a option_c","option_3","10.687 106.23 5420","898777907"


listDispatch

Return a list of Records headers based on status, only included RecordKey, and base header fields(MobileNumber, Date Completed, Date Submitted).

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="services.wss.portal.doForms.mdt.com">
<soapenv:Header/>
<soapenv:Body>
<ser:listDispatch>
<arg0_java_lang_String>[WS ID]</arg0_java_lang_String>
<arg1_java_lang_String>[Password]</arg1_java_lang_String>
<arg2_int>[DispatchStatus]</arg2_int>
<arg3_int>[ResponseFormat]</arg3_int>
</ser:listDispatch>
</soapenv:Body>
</soapenv:Envelope>

Where:

deleteDataByRecordKey

Delete data records by RecordKey.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="services.wss.portal.doForms.mdt.com">
<soapenv:Header/>
<soapenv:Body>
<ser:deleteDataByRecordKey>
<arg0_java_lang_String>[RecordKeys]</arg0_java_lang_String>
</ser:deleteDataByRecordKey>
</soapenv:Body>
</soapenv:Envelope>

Where:

Returns:

deleteData

Delete records by the RecordId.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="services.wss.portal.doForms.mdt.com">
<soapenv:Header/>
<soapenv:Body>
<ser:deleteData>
<arg0_java_lang_String>[Record IDs]</arg0_java_lang_String>
</ser:deleteData>
</soapenv:Body>
</soapenv:Envelope>

Where:

Returns:

deleteDispatch

Deletes Dispatch records based on RecordKeys.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="services.wss.portal.doForms.mdt.com">
<soapenv:Header/>
<soapenv:Body>
<ser:deleteDispatch>
<arg0_java_lang_String>[WS ID]</arg0_java_lang_String>
<arg1_java_lang_String>[Password]</arg1_java_lang_String>
<arg2_java_lang_String>[RecordKeys]</arg2_java_lang_String>
<arg3_int>[ResponseFormat]</arg3_int>
</ser:deleteDispatch>
</soapenv:Body>
</soapenv:Envelope>

Where:

getLookupTableList

Return the Lookup Table list that includes only the Lookup Table key, name, description and the column list.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="services.wss.portal.doForms.mdt.com">
<soapenv:Header/>
<soapenv:Body>
<ser:getLookupTableList>
<arg0_java_lang_String>[ACCOUNT NAME]</arg0_java_lang_String>
<arg1_java_lang_String>[EMAIL]</arg1_java_lang_String>
<arg2_java_lang_String>[PASSWORD]</arg2_java_lang_String>
<arg3_int>[ResponseFormat]</arg3_int>
</ser:getLookupTableList>
</soapenv:Body>
</soapenv:Envelope>

Where:

An example of a reponse in CSV format:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Root version="1.0">
    <StatusCode>200</StatusCode>
    <ErrorMessage>Success</ErrorMessage>
    <Data>
        <error_message/>
        <error_code/>
        <Result>
            <![CDATA[key, tableName, description, columnsName
                aglteWRvZm9ybXNyFQsSDkxvb2t1cFRhYmxlTXN0GIIGDA,"DS1","Sample Table 1","STATION,STATION_NAME,ELEVATION,LATITUDE,LONGITUDE,DATE,HLY-CLDH-NORMAL,Completeness Flag,HLY-HTDH-NORMAL,Completeness Flag"
                aglteWRvZm9ybXNyFQsSDkxvb2t1cFRhYmxlTXN0GJEGDA,"DS2","Sample Table 2","STATION,STATION_NAME,ELEVATION,LATITUDE,LONGITUDE,DATE,HLY-CLDH-NORMAL,Completeness Flag,HLY-HTDH-NORMAL,Completeness Flag"]]>
    </Data>
</Root>


getLookupTableData

Get the content of a Lookup Table. Note that this method is subject to the Use Limits described above.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="services.wss.portal.doForms.mdt.com">
<soapenv:Header/>
<soapenv:Body>
<ser:getLookupTableData>
<arg0_java_lang_String>[ACCOUNT NAME]</arg0_java_lang_String>
<arg1_java_lang_String>[EMAIL]</arg1_java_lang_String>
<arg2_java_lang_String>[PASSWORD]</arg2_java_lang_String>
<arg3_java_lang_String>[LU KEY]</arg3_java_lang_String>
<arg4_int>[OFFSET]</arg4_int>
<arg5_int>[LIMIT]</arg5_int>
<arg6_int>[ResponseFormat]</arg6_int>
</ser:getLookupTableData>
</soapenv:Body>
</soapenv:Envelope>

Where:

An example of a reponse in CSV format

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Root version="1.0">
    <StatusCode>200</StatusCode>
    <ErrorMessage>Success</ErrorMessage>
    <Data>
        <error_message/>
        <error_code/>
        <Result>
            <![CDATA["STATION","STATION_NAME","ELEVATION","LATITUDE","LONGITUDE","DATE","HLY-CLDH-NORMAL","Completeness Flag","HLY-HTDH-NORMAL","Completeness Flag" "GHCND:USW00003947","KANSAS CITY INTERNATIONAL AIRPORT MO US","306.3","39.2972","-94.7306","20100101 00:00","0","C","375","C" "GHCND:USW00003947","KANSAS CITY INTERNATIONAL AIRPORT MO US","306.3","39.2972","-94.7306","20100101 01:00","0","C","380","C" "GHCND:USW00003947","KANSAS CITY INTERNATIONAL AIRPORT MO US","306.3","39.2972","-94.7306","20100101 02:00","0","C","384","C"]]>
        </Result>
    </Data>
</Root>

addLookupTableData

Add a new Lookup Table. Note that this method is subject to the Use Limits described above.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="services.wss.portal.doForms.mdt.com">
<soapenv:Header/>
<soapenv:Body>
<ser:addLookupTableData>
<arg0_java_lang_String>[ACCOUNT NAME]</arg0_java_lang_String>
<arg1_java_lang_String>[EMAIL]</arg1_java_lang_String>
<arg2_java_lang_String>[PASSWORD]</arg2_java_lang_String>
<arg3_java_lang_String>[LU NAME]</arg3_java_lang_String>
<arg4_java_lang_String>[DESCRIPTION]</arg4_java_lang_String>
<arg5_java_lang_String>[DATA SOURCE]</arg5_java_lang_String>
<arg6_int>[ResponseFormat]</arg6_int>
</ser:addLookupTableData>
</soapenv:Body>
</soapenv:Envelope>

Where:

An example DATA SOURCE parameter:

"STATION","STATION_NAME","ELEVATION","LATITUDE","LONGITUDE","DATE","HLY-CLDH-NORMAL","Completeness Flag","HLY-HTDH-NORMAL","Completeness Flag"@END_LINE;"GHCND:USW00003947","KANSAS CITY INTERNATIONAL AIRPORT MO US","306.3","39.2972","-94.7306","20100101 00:00","0","C","375","C"@END_LINE; "GHCND:USW00003947","KANSAS CITY INTERNATIONAL AIRPORT MO US","306.3","39.2972","-94.7306","20100101 01:00","0","C","380","C"

updateLookupTableData

Update an existing Lookup Table. Note that this method is subject to the Use Limits described above.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="services.wss.portal.doForms.mdt.com">
<soapenv:Header/>
<soapenv:Body>
<ser:updateLookupTableData>
<arg0_java_lang_String>[ACCOUNT NAME]</arg0_java_lang_String>
<arg1_java_lang_String>[EMAIL]</arg1_java_lang_String>
<arg2_java_lang_String>[PASSWORD]</arg2_java_lang_String>
<arg3_java_lang_String>[LU NAME]</arg3_java_lang_String>
<arg4_java_lang_String>[DESCRIPTION]</arg4_java_lang_String>
<arg5_java_lang_String>[LU KEY]</arg5_java_lang_String>
<arg6_java_lang_String>[DATA SOURCE]</arg6_java_lang_String>
<arg7_int>[ResponseFormat]</arg7_int>
</ser:updateLookupTableData>
</soapenv:Body>
</soapenv:Envelope>

An example DATA SOURCE:

"STATION","STATION_NAME","ELEVATION","LATITUDE","LONGITUDE","DATE","HLY-CLDH-NORMAL","Completeness Flag","HLY-HTDH-NORMAL","Completeness Flag"@END_LINE;"GHCND:USW00003947","KANSAS CITY INTERNATIONAL AIRPORT MO US","306.3","39.2972","-94.7306","20100101 00:00","0","C","375","C"@END_LINE; "GHCND:USW00003947","KANSAS CITY INTERNATIONAL AIRPORT MO US","306.3","39.2972","-94.7306","20100101 01:00","0","C","380","C"

appendLookupTableData2

Append new rows to an existing Lookup Table. Note that this method is subject to the Use Limits described above.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="services.wss.portal.doForms.mdt.com">
<soapenv:Header/>
<soapenv:Body>
<ser:appendLookupTableData2>
<arg0_java_lang_String>[ACCOUNT NAME]</arg0_java_lang_String>
<arg1_java_lang_String>[EMAIL]</arg1_java_lang_String>
<arg2_java_lang_String>[PASSWORD]</arg2_java_lang_String>
<arg3_java_lang_String>[LU NAME]</arg3_java_lang_String>
<arg4_java_lang_String>[DESCRIPTION]</arg4_java_lang_String>
<arg5_java_lang_String>[LU KEY]</arg5_java_lang_String>
<arg6_java_lang_String>[DATA SOURCE]</arg6_java_lang_String>
<arg7_int>[RESPONSE FORMAT]</arg7_int>
<arg8_int>[COMPLETE]</arg8_int>
</ser:appendLookupTableData2>
</soapenv:Body>
</soapenv:Envelope>

Where:

An example DATA SOURCE:

"STATION","STATION_NAME","ELEVATION","LATITUDE","LONGITUDE","DATE","HLY-CLDH-NORMAL","Completeness Flag","HLY-HTDH-NORMAL","Completeness Flag"@END_LINE; "GHCND:USW00003947","KANSAS CITY INTERNATIONAL AIRPORT MO US","306.3","39.2972","-94.7306","20100101 00:00","0","C","375","C"@END_LINE; "GHCND:USW00003947","KANSAS CITY INTERNATIONAL AIRPORT MO US","306.3","39.2972","-94.7306","20100101 01:00","0","C","380","C"

deleteLookupTableData

Delete all rows of an existing Lookup Table.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="services.wss.portal.doForms.mdt.com">
<soapenv:Header/>
<soapenv:Body>
<ser:deleteLookupTableData>
<arg0_java_lang_String>[ACCOUNT NAME]</arg0_java_lang_String>
<arg1_java_lang_String>[EMAIL]</arg1_java_lang_String>
<arg2_java_lang_String>[PASSWORD]</arg2_java_lang_String>
<arg3_java_lang_String>[LU KEY]</arg3_java_lang_String>
<arg4_int>[ResponseFormat]</arg4_int>
</ser:deleteLookupTableData>
</soapenv:Body>
</soapenv:Envelope>

Where:

getMobileUnits

Get a list of all the mobile units connected to an account.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="services.wss.portal.doForms.mdt.com">
<soapenv:Header/>
<soapenv:Body>
<ser:getMobileUnits>
<arg0_java_lang_String>>[ACCOUNT NAME]</arg0_java_lang_String>
<arg1_java_lang_String>>[EMAIL]</arg1_java_lang_String>
<arg2_java_lang_String>[PASSWORD]</</arg2_java_lang_String>
<arg3_int>[ResponseFormat]</arg3_int>
</ser:getMobileUnits>
</soapenv:Body>
</soapenv:Envelope>

Where:

getGPSTrackingPoints

Get all the tracking points that are within a certain date range (created and received on the mobile devices) for a specific mobile unit.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="services.wss.portal.doForms.mdt.com">
<soapenv:Header/>
<soapenv:Body>
<ser:getGPSTrackingPoints>
<arg0_java_lang_String>[ACCOUNT NAME]</arg0_java_lang_String>
<arg1_java_lang_String>[EMAIL]</arg1_java_lang_String>
<arg2_java_lang_String>[PASSWORD]</arg2_java_lang_String>
<arg3_java_lang_String>[MOBILE KEY]</arg3_java_lang_String>
<arg4_java_lang_String>["FROM" DATE]</arg4_java_lang_String>
<arg5_java_lang_String>["TO" DATE]</arg5_java_lang_String>
<arg6_int>[ResponseFormat]</arg6_int>
</ser:getGPSTrackingPoints>
</soapenv:Body>
</soapenv:Envelope>

Where:

Deprecated Methods


Although deprecated methods remain in the API, their use is discouraged, and deprecation indicates that the feature may be removed in the future.

Features are deprecated rather than immediately removed in order to provide backward compatibility, and to allow time to bring existing code into compliance with the new standard.

The following methods are deprecated:

Sample Code


Please note these sample are not meant for production use. Review the documentation before adapting any code listed here for your own use.

Javahttps://download-dot-mydoforms-hrd.appspot.com/support/doForms_WS_Java_Sample.zip
VB.Nethttps://beta-dot-mydoforms-hrd.appspot.com/support/doForms_WS_VBNet_Sample.zip
PHPhttps://beta-dot-mydoforms-hrd.appspot.com/support/doForms_WS_PHP_Sample.zip