| POST | /ea/status | EA to call this method to update case statuses. |
|---|
import Foundation
import ServiceStack
public class EaStatusUpdateRequest : ILogRequest, IHasApiKey, Codable
{
// @DataMember(Name="type")
public var type:String
// @DataMember(Name="incident_reference")
public var incident_reference:String
// @DataMember(Name="message")
public var message:String
// @DataMember(Name="notificationMetaData")
public var notificationMetaData:NotificationMetaData
/**
* The API Key required for authentication
*/
// @ApiMember(Description="The API Key required for authentication", IsRequired=true)
public var apiKey:String
required public init(){}
}
public class NotificationMetaData : Codable
{
// @DataMember(Name="referenceNumber")
public var referenceNumber:String
// @DataMember(Name="incidentDateTime")
public var incidentDateTime:Date
// @DataMember(Name="serviceSpecification")
public var serviceSpecification:String
// @DataMember(Name="policyNumber")
public var policyNumber:String
// @DataMember(Name="memberName")
public var memberName:String
// @DataMember(Name="memberSurname")
public var memberSurname:String
// @DataMember(Name="memberIdNumber")
public var memberIdNumber:String
// @DataMember(Name="vehicleRegistration")
public var vehicleRegistration:String
// @DataMember(Name="vehicleMake")
public var vehicleMake:String
// @DataMember(Name="vehicleModel")
public var vehicleModel:String
// @DataMember(Name="incidentDescription")
public var incidentDescription:String
// @DataMember(Name="incidentTripLocationLat")
public var incidentTripLocationLat:Double
// @DataMember(Name="incidentTripLocationLong")
public var incidentTripLocationLong:Double
// @DataMember(Name="incidentCountry")
public var incidentCountry:String
// @DataMember(Name="incidentProvince")
public var incidentProvince:String
// @DataMember(Name="incidentTown")
public var incidentTown:String
// @DataMember(Name="incidentSuburb")
public var incidentSuburb:String
// @DataMember(Name="incidentStreetNumber")
public var incidentStreetNumber:String
// @DataMember(Name="incidentStreetName")
public var incidentStreetName:String
// @DataMember(Name="destinationDescription")
public var destinationDescription:String
// @DataMember(Name="destinationTripLocationLat")
public var destinationTripLocationLat:Double
// @DataMember(Name="destinationTripLocationLong")
public var destinationTripLocationLong:Double
// @DataMember(Name="destinationCountry")
public var destinationCountry:String
// @DataMember(Name="destinationProvince")
public var destinationProvince:String
// @DataMember(Name="destinationTown")
public var destinationTown:String
// @DataMember(Name="destinationSuburb")
public var destinationSuburb:String
// @DataMember(Name="destinationStreetNumber")
public var destinationStreetNumber:String
// @DataMember(Name="destinationStreetName")
public var destinationStreetName:String
// @DataMember(Name="serviceProviderName")
public var serviceProviderName:String
// @DataMember(Name="estimateArrivalDateAndTime")
public var estimateArrivalDateAndTime:Date
// @DataMember(Name="amount")
public var amount:Double
// @DataMember(Name="VAT")
public var VAT:Int
// @DataMember(Name="Quantity")
public var Quantity:Int
// @DataMember(Name="closedDateAndTime")
public var closedDateAndTime:Date
required public init(){}
}
public class ApiServiceResponse : IServiceResponse, Codable
{
public var Description:String
public var heading:String
public var wasSuccessful:Bool
//modelState:Object ignored. Type could not be extended in Swift
required public init(){}
}
Swift EaStatusUpdateRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /ea/status HTTP/1.1
Host: galaxymobile.api.dev.86degrees.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
type: String,
incident_reference: String,
message: String,
notificationMetaData:
{
referenceNumber: String,
incidentDateTime: 0001-01-01T00:00:00.0000000+00:00,
serviceSpecification: String,
policyNumber: String,
memberName: String,
memberSurname: String,
memberIdNumber: String,
vehicleRegistration: String,
vehicleMake: String,
vehicleModel: String,
incidentDescription: String,
incidentTripLocationLat: 0,
incidentTripLocationLong: 0,
incidentCountry: String,
incidentProvince: String,
incidentTown: String,
incidentSuburb: String,
incidentStreetNumber: String,
incidentStreetName: String,
destinationDescription: String,
destinationTripLocationLat: 0,
destinationTripLocationLong: 0,
destinationCountry: String,
destinationProvince: String,
destinationTown: String,
destinationSuburb: String,
destinationStreetNumber: String,
destinationStreetName: String,
serviceProviderName: String,
estimateArrivalDateAndTime: 0001-01-01T00:00:00.0000000+00:00,
amount: 0,
VAT: 0,
Quantity: 0,
closedDateAndTime: 0001-01-01T00:00:00.0000000+00:00
},
ApiKey: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Description: String,
Heading: String,
WasSuccessful: False,
ModelState: {}
}