Mercedes.VehicleManagement.API

<back to all web services

GetDataProcessRequest

Requires Authentication
The following routes are available for this service:
GET/v1/GetDataProcess/{ProcessId}
import Foundation
import ServiceStack

public class GetDataProcessRequest : IGet, Codable
{
    public var processId:Int

    required public init(){}
}

public class CurrentDataProcessResponse : DataProcessJob
{
    public var type:Int
    public var totalRecords:Int
    public var originalFileName:String
    public var dateStarted:String
    public var dateFinished:String
    public var dataProcessResultLogs:[DataProcessLog] = []
    public var failedCount:Int
    public var successCount:Int

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case type
        case totalRecords
        case originalFileName
        case dateStarted
        case dateFinished
        case dataProcessResultLogs
        case failedCount
        case successCount
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        type = try container.decodeIfPresent(Int.self, forKey: .type)
        totalRecords = try container.decodeIfPresent(Int.self, forKey: .totalRecords)
        originalFileName = try container.decodeIfPresent(String.self, forKey: .originalFileName)
        dateStarted = try container.decodeIfPresent(String.self, forKey: .dateStarted)
        dateFinished = try container.decodeIfPresent(String.self, forKey: .dateFinished)
        dataProcessResultLogs = try container.decodeIfPresent([DataProcessLog].self, forKey: .dataProcessResultLogs) ?? []
        failedCount = try container.decodeIfPresent(Int.self, forKey: .failedCount)
        successCount = try container.decodeIfPresent(Int.self, forKey: .successCount)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if type != nil { try container.encode(type, forKey: .type) }
        if totalRecords != nil { try container.encode(totalRecords, forKey: .totalRecords) }
        if originalFileName != nil { try container.encode(originalFileName, forKey: .originalFileName) }
        if dateStarted != nil { try container.encode(dateStarted, forKey: .dateStarted) }
        if dateFinished != nil { try container.encode(dateFinished, forKey: .dateFinished) }
        if dataProcessResultLogs.count > 0 { try container.encode(dataProcessResultLogs, forKey: .dataProcessResultLogs) }
        if failedCount != nil { try container.encode(failedCount, forKey: .failedCount) }
        if successCount != nil { try container.encode(successCount, forKey: .successCount) }
    }
}

public class DataProcessJob : Codable
{
    public var id:Int
    public var gasId:String
    public var dateCreated:String
    public var processedRecords:Int
    public var status:Int
    public var statusName:String
    public var fileName:String

    required public init(){}
}

public class DataProcessLog : Codable
{
    public var id:Int
    public var dataProcess_Id:Int
    public var rowNumber:Int
    public var failureReasonId:Int
    public var failureReason:String
    public var metaData:String
    public var metaData2:String
    public var hasFailed:Bool

    required public init(){}
}


Swift GetDataProcessRequest DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

GET /v1/GetDataProcess/{ProcessId} HTTP/1.1 
Host: uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk 
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"type":0,"totalRecords":0,"originalFileName":"String","dateStarted":"String","dateFinished":"String","dataProcessResultLogs":[{"id":0,"dataProcess_Id":0,"rowNumber":0,"failureReasonId":0,"failureReason":"String","metaData":"String","metaData2":"String","hasFailed":false}],"failedCount":0,"successCount":0,"id":0,"gasId":"String","dateCreated":"String","processedRecords":0,"status":0,"statusName":"String","fileName":"String"}