Platform API

<back to all web services

LogDeviceStatus

Logs details of an event(crash,error,unexpected result) and the device status at the time of the event.

Requires Authentication
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Eros.Subtle.Canvara.WebAPIModel.ServiceModel

Namespace Global

    Namespace Eros.Subtle.Canvara.WebAPIModel.ServiceModel

        '''<Summary>
        '''Logs details of an event(crash,error,unexpected result) and the device status at the time of the event.
        '''</Summary>
        <Api(Description:="Logs details of an event(crash,error,unexpected result) and the device status at the time of the event.")>
        Public Partial Class LogDeviceStatus
            '''<Summary>
            '''Guid of the Appliance this Device is logging an event status for.
            '''</Summary>
            <ApiMember(DataType:="Guid", Description:="Guid of the Appliance this Device is logging an event status for.", IsRequired:=true, Name:="ApplianceId", ParameterType:="query")>
            Public Overridable Property ApplianceId As Guid

            '''<Summary>
            '''Guid representing the saved Device
            '''</Summary>
            <ApiMember(DataType:="Guid", Description:="Guid representing the saved Device", IsRequired:=true, Name:="DeviceId", ParameterType:="query")>
            Public Overridable Property DeviceId As Guid

            '''<Summary>
            '''The latitude the device was last located at.
            '''</Summary>
            <ApiMember(DataType:="double", Description:="The latitude the device was last located at.", IsRequired:=true, Name:="Latitude", ParameterType:="query")>
            Public Overridable Property Latitude As Double

            '''<Summary>
            '''The longitude the device was last located at.
            '''</Summary>
            <ApiMember(DataType:="double", Description:="The longitude the device was last located at.", IsRequired:=true, Name:="Longitude", ParameterType:="query")>
            Public Overridable Property Longitude As Double

            '''<Summary>
            '''Name of the event we're logging.
            '''</Summary>
            <ApiMember(DataType:="string", Description:="Name of the event we're logging.", Name:="EventName", ParameterType:="query")>
            Public Overridable Property EventName As String

            '''<Summary>
            '''Details of the event up to (255 char).
            '''</Summary>
            <ApiMember(DataType:="string", Description:="Details of the event up to (255 char).", Name:="EventDetail1", ParameterType:="query")>
            Public Overridable Property EventDetail1 As String

            '''<Summary>
            '''Details of the event up to (255 char).
            '''</Summary>
            <ApiMember(DataType:="string", Description:="Details of the event up to (255 char).", Name:="EventDetail2", ParameterType:="query")>
            Public Overridable Property EventDetail2 As String

            '''<Summary>
            '''Details of the event up to (255 char).
            '''</Summary>
            <ApiMember(DataType:="string", Description:="Details of the event up to (255 char).", Name:="EventDetail3", ParameterType:="query")>
            Public Overridable Property EventDetail3 As String

            '''<Summary>
            '''Details of the event up to (255 char).
            '''</Summary>
            <ApiMember(DataType:="string", Description:="Details of the event up to (255 char).", Name:="EventDetail4", ParameterType:="query")>
            Public Overridable Property EventDetail4 As String

            '''<Summary>
            '''Details of the event up to (255 char).
            '''</Summary>
            <ApiMember(DataType:="string", Description:="Details of the event up to (255 char).", Name:="EventDetail5", ParameterType:="query")>
            Public Overridable Property EventDetail5 As String

            '''<Summary>
            '''Details of the event up to (255 char).
            '''</Summary>
            <ApiMember(DataType:="string", Description:="Details of the event up to (255 char).", Name:="Orientation", ParameterType:="query")>
            Public Overridable Property Orientation As String

            '''<Summary>
            '''The device internet connection status.
            '''</Summary>
            <ApiMember(DataType:="string", Description:="The device internet connection status.", Name:="InternetConnectionStatus", ParameterType:="query")>
            Public Overridable Property InternetConnectionStatus As String

            '''<Summary>
            '''Unlimited text field for logging details of the event.
            '''</Summary>
            <ApiMember(DataType:="string", Description:="Unlimited text field for logging details of the event.", Name:="Log", ParameterType:="query")>
            Public Overridable Property Log As String

            '''<Summary>
            '''Date and Time of the event.
            '''</Summary>
            <ApiMember(DataType:="DateTime", Description:="Date and Time of the event.", Name:="Event", ParameterType:="query")>
            Public Overridable Property [Event] As Date

            '''<Summary>
            '''True if the device is in portrait mode.
            '''</Summary>
            <ApiMember(DataType:="bool", Description:="True if the device is in portrait mode.", Name:="IsInPortrait", ParameterType:="query")>
            Public Overridable Property IsInPortrait As Boolean

            '''<Summary>
            '''True if the device is in landscape mode.
            '''</Summary>
            <ApiMember(DataType:="bool", Description:="True if the device is in landscape mode.", Name:="IsInLandscape", ParameterType:="query")>
            Public Overridable Property IsInLandscape As Boolean

            '''<Summary>
            '''True if cellular data is enabled.
            '''</Summary>
            <ApiMember(DataType:="bool", Description:="True if cellular data is enabled.", Name:="CellularDataEnabled", ParameterType:="query")>
            Public Overridable Property CellularDataEnabled As Boolean

            '''<Summary>
            '''True if data roaming is enabled.
            '''</Summary>
            <ApiMember(DataType:="bool", Description:="True if data roaming is enabled.", Name:="DataRoamingEnabled", ParameterType:="query")>
            Public Overridable Property DataRoamingEnabled As Boolean

            '''<Summary>
            '''True if the network is available.
            '''</Summary>
            <ApiMember(DataType:="bool", Description:="True if the network is available.", Name:="IsNetworkAvailable", ParameterType:="query")>
            Public Overridable Property IsNetworkAvailable As Boolean

            '''<Summary>
            '''True if the device can send an sms.
            '''</Summary>
            <ApiMember(DataType:="bool", Description:="True if the device can send an sms.", Name:="CanSendSMS", ParameterType:="query")>
            Public Overridable Property CanSendSMS As Boolean

            '''<Summary>
            '''True if the battery is charging.
            '''</Summary>
            <ApiMember(DataType:="bool", Description:="True if the battery is charging.", Name:="BatteryCharging", ParameterType:="query")>
            Public Overridable Property BatteryCharging As Boolean

            '''<Summary>
            '''The amount of battery life left as a percentage.
            '''</Summary>
            <ApiMember(DataType:="int", Description:="The amount of battery life left as a percentage.", Name:="BatteryLevel", ParameterType:="query")>
            Public Overridable Property BatteryLevel As Integer

            '''<Summary>
            '''The Guid of a saved Media Object.
            '''</Summary>
            <ApiMember(DataType:="Guid", Description:="The Guid of a saved Media Object.", Name:="MediaFileId1", ParameterType:="query")>
            Public Overridable Property MediaFileId1 As Guid

            '''<Summary>
            '''The Guid of a saved Media Object.
            '''</Summary>
            <ApiMember(DataType:="Guid", Description:="The Guid of a saved Media Object.", Name:="MediaFileId2", ParameterType:="query")>
            Public Overridable Property MediaFileId2 As Guid
        End Class
    End Namespace
End Namespace

VB.NET LogDeviceStatus DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /xml/reply/LogDeviceStatus HTTP/1.1 
Host: pfapi.pstpf.com.au 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<LogDeviceStatus xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eros.Subtle.Canvara.WebAPIModel.ServiceModel">
  <ApplianceId>00000000-0000-0000-0000-000000000000</ApplianceId>
  <BatteryCharging>false</BatteryCharging>
  <BatteryLevel>0</BatteryLevel>
  <CanSendSMS>false</CanSendSMS>
  <CellularDataEnabled>false</CellularDataEnabled>
  <DataRoamingEnabled>false</DataRoamingEnabled>
  <DeviceId>00000000-0000-0000-0000-000000000000</DeviceId>
  <Event>0001-01-01T00:00:00</Event>
  <EventDetail1>String</EventDetail1>
  <EventDetail2>String</EventDetail2>
  <EventDetail3>String</EventDetail3>
  <EventDetail4>String</EventDetail4>
  <EventDetail5>String</EventDetail5>
  <EventName>String</EventName>
  <InternetConnectionStatus>String</InternetConnectionStatus>
  <IsInLandscape>false</IsInLandscape>
  <IsInPortrait>false</IsInPortrait>
  <IsNetworkAvailable>false</IsNetworkAvailable>
  <Latitude>0</Latitude>
  <Log>String</Log>
  <Longitude>0</Longitude>
  <MediaFileId1>00000000-0000-0000-0000-000000000000</MediaFileId1>
  <MediaFileId2>00000000-0000-0000-0000-000000000000</MediaFileId2>
  <Orientation>String</Orientation>
</LogDeviceStatus>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ResponseStatus xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
  <ErrorCode>String</ErrorCode>
  <Message>String</Message>
  <StackTrace>String</StackTrace>
  <Errors>
    <ResponseError>
      <ErrorCode>String</ErrorCode>
      <FieldName>String</FieldName>
      <Message>String</Message>
      <Meta xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringstring>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>String</d4p1:Value>
        </d4p1:KeyValueOfstringstring>
      </Meta>
    </ResponseError>
  </Errors>
  <Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:KeyValueOfstringstring>
      <d2p1:Key>String</d2p1:Key>
      <d2p1:Value>String</d2p1:Value>
    </d2p1:KeyValueOfstringstring>
  </Meta>
</ResponseStatus>