Data API

Read data from dynamics mobile portal

The Data API allows external systems to read data from a specific application area (tenant) via ODATA .

The Data API is intended for use by external systems for reporting and analysis purposes

It Data API has the following usage limits:

  • (soft limit) up to 10 request per minute

  • (hard limit) up to 6Mb per request can be returned as a response

  • the maximum size of the data consumed per month is limited to 100GB per month (This is a tenant specific limit, which can be increased by purchasing higher tenant tier subscription)

The DATA API usage requires External Consumer Subscription. Please contact our sales teams via sales@dynamicsmobile.com. The External Consumer Subscription allows external systems to read data from a single tenant where the Data API limits and tenant specific limits applies.

The DATA API allow access to all data entities stored in the tenant. The actual data and entities stored within the tenant depends on the actual apps instralled in the tenant.

You can explore the available data entities by using the Schema Explorer from the tenant.

1. Login into your tenant

  1. Go to ADM app

  2. Go to Apps by using the left-side menu

  3. Select a backend app from the list ( BIZES, MOBFL, ALRT, etc. )

  4. Click "Schema Explorer" from the top right corner

  5. You will see the list of the supported entities within the selected app

  6. Click over an entity to expand the fields

You can use the same entity and fields names to extract the entities data via the Data API

The Data API is exposed to internet and can be called via HTTPS requests by sending and receiving JSON payload.

Allows external consumers to read entity records by providing filter expressions

GET https://api.portal.dynamicsmobile.com/livelink/entity/:appArea/:appCode/:entity/query

The API method requires the consumer to provide application and entity in the path The application parameter an application code for application, which is installed in the corresponding application area. The entity parameters must be an entity name for entity within the application. For example the consumer can read the Mobile Events by providing application: MOBFL and entity: GeoLocationEvent See MOBFL/Entities for documentation of entities supported by the Mobile Fleet application.

Path Parameters

NameTypeDescription

appCode*

string

The unique code of the backend app , e.g. MOBFL

entity*

string

The name of the entity from the given app

appArea

string

the unique identifier of the application area

Query Parameters

NameTypeDescription

$filter

string

$top

integer

maximum number of records to be returned. The default value is 500.

$orderby

string

$expand

string

ODATA expand expression. Check the expand paths for each entity in the documentation for more info about the available expands

$apply

String

Grouping and aggregating expression: $apply=groupby(refDocumentNo), aggregate(amount with sum as totalAmount,* with count as count) The example will group the records by field refDocumentNo and will include totalAmount and count aggregated fields

Headers

NameTypeDescription

x-api-key*

string

The secret api key obtained from the Dynamics Mobile Portal via

[
 {
    'DMS_ROWID':'123',
    'name':'Reason 1'
  },
 {
    'DMS_ROWID':'456',
    'name':'Reason 2'
 },
 {
   'DMS_ROWID':'789',
   'name':'Reason 3'
 }
]
var request = require('request');
var filter=`'dateCreated ge '2020-04-01 00:00:00' and dateCreated le '2021-04-31 23:59:59'`;
var sorting = `dateCreated desc`;
var options = {
  'method': 'POST',
  'url': `https://api.portal.dynamicsmobile.com/livelink/entity/myapparea/MOBFL/GeoLocationEvent/query?$filter=${filter}&$orderby=${sorting}`,
  'headers': {
    'x-api-key': '12321313'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
 const jsonResponse = response.body;
 const arrayOfMobileEntities = JSON.parse(jsonResponse);
 for(const eventIndex in arrayOfMobileEntities ){
    const event = arrayOfMobileEntities[eventIndex];
    console.log(`new mobile event on ${event.DMS_DATEMODIFIED}` ); 
 }  
 //parse reponse and obtain the value if the uploadPath field.
 //use it to upload the packet content via PUT request
});

Check out the following additional pages:

pageMOBFL Entities

Last updated

Dynamics Mobile provided by Mobile Affairs Ltd. | 1712 Sofia, Bulgaria, Alexander Malinov 51 | sales@dynamicsmobile.com