Swift MWS Inbound: Get Transport Content

Back to Index

Returns current transportation information about an inbound shipment.

Documentation: http://docs.developer.amazonservices.com/en_US/fba_inbound/FBAInbound_GetTransportContent.html

CURL Command

curl -X POST https://mws.amazonaws.com/FulfillmentInboundShipment/2010-10-01 \
  -d "AWSAccessKeyId=AWS_ACCESS_KEY_ID" \
  -d "Action=GetTransportContent" \
  -d "MWSAuthToken=MWS_AUTH_TOKEN" \
  -d "SellerId=MWS_SELLER_ID" \
  -d "SignatureVersion=2" \
  -d "Timestamp=CURRENT_DATE_TIME" \
  -d "Version=2010-10-01" \
  -d "SignatureMethod=HmacSHA256" \
  -d "ShipmentId=FBAQ6QBP"

Swift Example


func chilkatTest() {
    let rest = CkoRest()
    var success: Bool

    //  URL: https://mws.amazonaws.com/FulfillmentInboundShipment/2010-10-01
    var bTls: Bool = true
    var port: Int = 443
    var bAutoReconnect: Bool = true
    success = rest.Connect("mws.amazonaws.com", port: port, tls: bTls, autoReconnect: bAutoReconnect)
    if success != true {
        print("ConnectFailReason: \(rest.ConnectFailReason.intValue)")
        print("\(rest.LastErrorText)")
        return
    }

    rest.AddQueryParam("AWSAccessKeyId", value: "AWS_ACCESS_KEY_ID")
    rest.AddQueryParam("Action", value: "GetTransportContent")
    rest.AddQueryParam("MWSAuthToken", value: "MWS_AUTH_TOKEN")
    rest.AddQueryParam("SellerId", value: "MWS_SELLER_ID")
    rest.AddQueryParam("SignatureVersion", value: "2")
    rest.AddQueryParam("Version", value: "2010-10-01")
    rest.AddQueryParam("SignatureMethod", value: "HmacSHA256")
    rest.AddQueryParam("ShipmentId", value: "FBAQ6QBP")

    rest.Host = "mws.amazonaws.com"
    //  The AddMwsSignature method adds the Timestamp and Signature query params.
    rest.AddMwsSignature("POST", uriPath: "/FulfillmentInboundShipment/2010-10-01", domain: "mws.amazonaws.com", mwsSecretKey: "MWS_SECRET_KEY")

    var strResponseBody: String? = rest.FullRequestFormUrlEncoded("POST", uriPath: "/FulfillmentInboundShipment/2010-10-01")
    if rest.LastMethodSuccess != true {
        print("\(rest.LastErrorText)")
        return
    }

    let xmlResponse = CkoXml()
    xmlResponse.LoadXml(strResponseBody)

    var GetTransportContentResponse_xmlns: String?
    var tagPath: String?
    var TrackingId: String?
    var CarrierName: String?
    var PackageStatus: String?
    var TransportStatus: String?
    var ShipmentType: String?
    var ShipmentId: String?
    var SellerId: String?
    var IsPartnered: String?
    var RequestId: String?

    GetTransportContentResponse_xmlns = xmlResponse.GetAttrValue("xmlns")
    TrackingId = xmlResponse.GetChildContent("GetTransportContentResult|TransportContent|TransportDetails|NonPartneredSmallParcelData|PackageList|member|TrackingId")
    CarrierName = xmlResponse.GetChildContent("GetTransportContentResult|TransportContent|TransportDetails|NonPartneredSmallParcelData|PackageList|member|CarrierName")
    PackageStatus = xmlResponse.GetChildContent("GetTransportContentResult|TransportContent|TransportDetails|NonPartneredSmallParcelData|PackageList|member|PackageStatus")
    TransportStatus = xmlResponse.GetChildContent("GetTransportContentResult|TransportContent|TransportResult|TransportStatus")
    ShipmentType = xmlResponse.GetChildContent("GetTransportContentResult|TransportContent|TransportHeader|ShipmentType")
    ShipmentId = xmlResponse.GetChildContent("GetTransportContentResult|TransportContent|TransportHeader|ShipmentId")
    SellerId = xmlResponse.GetChildContent("GetTransportContentResult|TransportContent|TransportHeader|SellerId")
    IsPartnered = xmlResponse.GetChildContent("GetTransportContentResult|TransportContent|TransportHeader|IsPartnered")
    RequestId = xmlResponse.GetChildContent("ResponseMetadata|RequestId")

}

Sample XML Response Body

<?xml version="1.0" encoding="utf-8" ?>
<GetTransportContentResponse xmlns="http://mws.amazonaws.com/FulfillmentInboundShipment/2010-10-01/">
    <GetTransportContentResult>
        <TransportContent>
            <TransportDetails>
                <NonPartneredSmallParcelData>
                    <PackageList>
                        <member>
                            <TrackingId>1Z6Y68W00342402864</TrackingId>
                            <CarrierName>UNITED PARCEL SERVICE INC</CarrierName>
                            <PackageStatus>SHIPPED</PackageStatus>
                        </member>
                    </PackageList>
                </NonPartneredSmallParcelData>
            </TransportDetails>
            <TransportResult>
                <TransportStatus>WORKING</TransportStatus>
            </TransportResult>
            <TransportHeader>
                <ShipmentType>SP</ShipmentType>
                <ShipmentId>FBAQ6QBP</ShipmentId>
                <SellerId>A135KKEKWF1J56</SellerId>
                <IsPartnered>false</IsPartnered>
            </TransportHeader>
        </TransportContent>
    </GetTransportContentResult>
    <ResponseMetadata>
        <RequestId>89a965c3-1af7-41e3-9152-44cf0affd34b</RequestId>
    </ResponseMetadata>
</GetTransportContentResponse>