Antel API

<back to all web services

OrderDetail

Requires Authentication
The following routes are available for this service:
POST/stock/orderDetail
import Foundation
import ServiceStack

public class OrderDetail : ApiServiceRequest
{
    public var orderNumber:String
    public var forOperator:Bool

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

    private enum CodingKeys : String, CodingKey {
        case orderNumber
        case forOperator
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        orderNumber = try container.decodeIfPresent(String.self, forKey: .orderNumber)
        forOperator = try container.decodeIfPresent(Bool.self, forKey: .forOperator)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if orderNumber != nil { try container.encode(orderNumber, forKey: .orderNumber) }
        if forOperator != nil { try container.encode(forOperator, forKey: .forOperator) }
    }
}

public class ApiServiceRequest : IServiceRequest, IHasApiKey, IHasDeviceInfo, Codable
{
    /**
    * The API Key required for authentication
    */
    // @ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)
    public var apiKey:String

    /**
    * Latitude of the user making this request
    */
    // @ApiMember(DataType="double", Description="Latitude of the user making this request")
    public var latitude:Double

    /**
    * Longitude of the user making this request
    */
    // @ApiMember(DataType="double", Description="Longitude of the user making this request")
    public var longitude:Double

    required public init(){}
}

public class OrderDetailResponse : ApiServiceResponse
{
    public var orderId:Int
    public var operatorName:String
    public var driverName:String
    public var companyName:String
    public var licensePlate:String
    public var orderNumber:String
    public var destinationDepot:String
    public var canClose:Bool
    public var canScan:Bool
    public var estimatedSeals:Int
    public var scannedSeals:Int
    public var status:String

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

    private enum CodingKeys : String, CodingKey {
        case orderId
        case operatorName
        case driverName
        case companyName
        case licensePlate
        case orderNumber
        case destinationDepot
        case canClose
        case canScan
        case estimatedSeals
        case scannedSeals
        case status
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        orderId = try container.decodeIfPresent(Int.self, forKey: .orderId)
        operatorName = try container.decodeIfPresent(String.self, forKey: .operatorName)
        driverName = try container.decodeIfPresent(String.self, forKey: .driverName)
        companyName = try container.decodeIfPresent(String.self, forKey: .companyName)
        licensePlate = try container.decodeIfPresent(String.self, forKey: .licensePlate)
        orderNumber = try container.decodeIfPresent(String.self, forKey: .orderNumber)
        destinationDepot = try container.decodeIfPresent(String.self, forKey: .destinationDepot)
        canClose = try container.decodeIfPresent(Bool.self, forKey: .canClose)
        canScan = try container.decodeIfPresent(Bool.self, forKey: .canScan)
        estimatedSeals = try container.decodeIfPresent(Int.self, forKey: .estimatedSeals)
        scannedSeals = try container.decodeIfPresent(Int.self, forKey: .scannedSeals)
        status = try container.decodeIfPresent(String.self, forKey: .status)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if orderId != nil { try container.encode(orderId, forKey: .orderId) }
        if operatorName != nil { try container.encode(operatorName, forKey: .operatorName) }
        if driverName != nil { try container.encode(driverName, forKey: .driverName) }
        if companyName != nil { try container.encode(companyName, forKey: .companyName) }
        if licensePlate != nil { try container.encode(licensePlate, forKey: .licensePlate) }
        if orderNumber != nil { try container.encode(orderNumber, forKey: .orderNumber) }
        if destinationDepot != nil { try container.encode(destinationDepot, forKey: .destinationDepot) }
        if canClose != nil { try container.encode(canClose, forKey: .canClose) }
        if canScan != nil { try container.encode(canScan, forKey: .canScan) }
        if estimatedSeals != nil { try container.encode(estimatedSeals, forKey: .estimatedSeals) }
        if scannedSeals != nil { try container.encode(scannedSeals, forKey: .scannedSeals) }
        if status != nil { try container.encode(status, forKey: .status) }
    }
}

public class ApiServiceResponse : IServiceResponse, Codable
{
    /**
    * Information about the response.
    */
    // @ApiMember(Description="Information about the response.", IsRequired=true)
    public var Description:String

    /**
    * Heading or summary of the response.
    */
    // @ApiMember(Description="Heading or summary of the response.", IsRequired=true)
    public var heading:String

    /**
    * Did the intended operation for this response complete successfully?
    */
    // @ApiMember(DataType="boolean", Description="Did the intended operation for this response complete successfully?", IsRequired=true)
    public var wasSuccessful:Bool

    public var responseStatus:ResponseStatus

    required public init(){}
}


Swift OrderDetail DTOs

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

HTTP + JSV

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

POST /stock/orderDetail HTTP/1.1 
Host: antel.api.dev.86degrees.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	orderNumber: String,
	forOperator: False,
	apiKey: String,
	latitude: 0,
	longitude: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	orderId: 0,
	operatorName: String,
	driverName: String,
	companyName: String,
	licensePlate: String,
	orderNumber: String,
	destinationDepot: String,
	canClose: False,
	canScan: False,
	estimatedSeals: 0,
	scannedSeals: 0,
	status: String,
	description: String,
	heading: String,
	wasSuccessful: False,
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}