Objective-C MWS Inbound: List Inbound Shipments

Back to Index

Returns a list of inbound shipments based on criteria that you specify.

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

CURL Command

curl -X POST https://mws.amazonaws.com/FulfillmentInboundShipment/2010-10-01 \
  -d "AWSAccessKeyId=AWS_ACCESS_KEY_ID" \
  -d "Action=ListInboundShipments" \
  -d "MWSAuthToken=MWS_AUTH_TOKEN" \
  -d "SignatureVersion=2" \
  -d "Timestamp=CURRENT_DATE_TIME" \
  -d "Version=2010-10-01" \
  -d "Signature=MWS_SIGNATURE" \
  -d "SignatureMethod=HmacSHA256" \
  -d "ShipmentStatusList.member.1=WORKING" \
  -d "SellerId=MWS_SELLER_ID" \
  -d "LastUpdatedAfter=2015-10-02T12:00:54Z"
  -d "LastUpdatedBefore=2015-11-02T12:00:54Z" \
  -d "ShipmentStatusList.member.2=CLOSED" \
  -d "ShipmentIdList.member.1=FBA44JV8R" \
  -d "ShipmentIdList.member.2=FBA4X8YLS" \
  -d "ShipmentIdList.member.3=FBA4X9FML"

Objective-C Example

#import <CkoRest.h>
#import <NSString.h>
#import <CkoXml.h>

CkoRest *rest = [[CkoRest alloc] init];
BOOL success;

//  URL: https://mws.amazonaws.com/FulfillmentInboundShipment/2010-10-01
BOOL bTls = YES;
int port = 443;
BOOL bAutoReconnect = YES;
success = [rest Connect: @"mws.amazonaws.com" port: [NSNumber numberWithInt: port] tls: bTls autoReconnect: bAutoReconnect];
if (success != YES) {
    NSLog(@"%@%d",@"ConnectFailReason: ",[rest.ConnectFailReason intValue]);
    NSLog(@"%@",rest.LastErrorText);
    return;
}

[rest AddQueryParam: @"AWSAccessKeyId" value: @"AWS_ACCESS_KEY_ID"];
[rest AddQueryParam: @"Action" value: @"ListInboundShipments"];
[rest AddQueryParam: @"MWSAuthToken" value: @"MWS_AUTH_TOKEN"];
[rest AddQueryParam: @"SignatureVersion" value: @"2"];
[rest AddQueryParam: @"Version" value: @"2010-10-01"];
[rest AddQueryParam: @"SignatureMethod" value: @"HmacSHA256"];
[rest AddQueryParam: @"ShipmentStatusList.member.1" value: @"WORKING"];
[rest AddQueryParam: @"SellerId" value: @"MWS_SELLER_ID"];
[rest AddQueryParam: @"LastUpdatedAfter" value: @"2015-10-02T12:00:54Z"];
[rest AddQueryParam: @"LastUpdatedBefore" value: @"2015-11-02T12:00:54Z"];
[rest AddQueryParam: @"ShipmentStatusList.member.2" value: @"CLOSED"];
[rest AddQueryParam: @"ShipmentIdList.member.1" value: @"FBA44JV8R"];
[rest AddQueryParam: @"ShipmentIdList.member.2" value: @"FBA4X8YLS"];
[rest AddQueryParam: @"ShipmentIdList.member.3" value: @"FBA4X9FML"];

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"];

NSString *strResponseBody = [rest FullRequestFormUrlEncoded: @"POST" uriPath: @"/FulfillmentInboundShipment/2010-10-01"];
if (rest.LastMethodSuccess != YES) {
    NSLog(@"%@",rest.LastErrorText);
    return;
}

CkoXml *xmlResponse = [[CkoXml alloc] init];
[xmlResponse LoadXml: strResponseBody];

NSString *ListInboundShipmentsResponse_xmlns = 0;
int i;
int count_i;
NSString *tagPath = 0;
NSString *PostalCode = 0;
NSString *Name = 0;
NSString *CountryCode = 0;
NSString *StateOrProvinceCode = 0;
NSString *AddressLine1 = 0;
NSString *City = 0;
NSString *ShipmentId = 0;
NSString *ShipmentName = 0;
NSString *ShipmentStatus = 0;
NSString *LabelPrepType = 0;
NSString *DestinationFulfillmentCenterId = 0;
NSString *BoxContentsSource = 0;
int TotalUnits;
NSString *CurrencyCode = 0;
NSString *Value = 0;

ListInboundShipmentsResponse_xmlns = [xmlResponse GetAttrValue: @"xmlns"];
i = 0;
count_i = [[xmlResponse NumChildrenHavingTag: @"ListInboundShipmentsResult|ShipmentData|member"] intValue];
while (i < count_i) {
    xmlResponse.I = [NSNumber numberWithInt: i];
    PostalCode = [xmlResponse GetChildContent: @"ListInboundShipmentsResult|ShipmentData|member[i]|ShipFromAddress|PostalCode"];
    Name = [xmlResponse GetChildContent: @"ListInboundShipmentsResult|ShipmentData|member[i]|ShipFromAddress|Name"];
    CountryCode = [xmlResponse GetChildContent: @"ListInboundShipmentsResult|ShipmentData|member[i]|ShipFromAddress|CountryCode"];
    StateOrProvinceCode = [xmlResponse GetChildContent: @"ListInboundShipmentsResult|ShipmentData|member[i]|ShipFromAddress|StateOrProvinceCode"];
    AddressLine1 = [xmlResponse GetChildContent: @"ListInboundShipmentsResult|ShipmentData|member[i]|ShipFromAddress|AddressLine1"];
    City = [xmlResponse GetChildContent: @"ListInboundShipmentsResult|ShipmentData|member[i]|ShipFromAddress|City"];
    ShipmentId = [xmlResponse GetChildContent: @"ListInboundShipmentsResult|ShipmentData|member[i]|ShipmentId"];
    ShipmentName = [xmlResponse GetChildContent: @"ListInboundShipmentsResult|ShipmentData|member[i]|ShipmentName"];
    ShipmentStatus = [xmlResponse GetChildContent: @"ListInboundShipmentsResult|ShipmentData|member[i]|ShipmentStatus"];
    LabelPrepType = [xmlResponse GetChildContent: @"ListInboundShipmentsResult|ShipmentData|member[i]|LabelPrepType"];
    DestinationFulfillmentCenterId = [xmlResponse GetChildContent: @"ListInboundShipmentsResult|ShipmentData|member[i]|DestinationFulfillmentCenterId"];
    BoxContentsSource = [xmlResponse GetChildContent: @"ListInboundShipmentsResult|ShipmentData|member[i]|BoxContentsSource"];
    TotalUnits = [[xmlResponse GetChildIntValue: @"ListInboundShipmentsResult|ShipmentData|member[i]|EstimatedBoxContentsFee|TotalUnits"] intValue];
    CurrencyCode = [xmlResponse GetChildContent: @"ListInboundShipmentsResult|ShipmentData|member[i]|EstimatedBoxContentsFee|FeePerUnit|CurrencyCode"];
    Value = [xmlResponse GetChildContent: @"ListInboundShipmentsResult|ShipmentData|member[i]|EstimatedBoxContentsFee|FeePerUnit|Value"];
    CurrencyCode = [xmlResponse GetChildContent: @"ListInboundShipmentsResult|ShipmentData|member[i]|EstimatedBoxContentsFee|TotalFee|CurrencyCode"];
    Value = [xmlResponse GetChildContent: @"ListInboundShipmentsResult|ShipmentData|member[i]|EstimatedBoxContentsFee|TotalFee|Value"];
    i = i + 1;
}

Sample XML Response Body

<?xml version="1.0" encoding="utf-8" ?>
<ListInboundShipmentsResponse xmlns="http://mws.amazonaws.com/FulfillmentInboundShipment/2010-10-01/">
    <ListInboundShipmentsResult>
        <ShipmentData>
            <member>
                <ShipFromAddress>
                    <PostalCode>V5V 1A1</PostalCode>
                    <Name>jsowprni Devo CA20</Name>
                    <CountryCode>CA</CountryCode>
                    <StateOrProvinceCode>BC</StateOrProvinceCode>
                    <AddressLine1>Address Line 1</AddressLine1>
                    <City>Vancouver</City>
                </ShipFromAddress>
                <ShipmentId>FBAN4QNH</ShipmentId>
                <ShipmentName>FBA (8/27/12 1:55 PM)</ShipmentName>
                <ShipmentStatus>WORKING</ShipmentStatus>
                <LabelPrepType>NO_LABEL</LabelPrepType>
                <DestinationFulfillmentCenterId>YYZ1</DestinationFulfillmentCenterId>
            </member>
            <member>
                <ShipFromAddress>
                    <PostalCode>V5V 1A1</PostalCode>
                    <Name>Janani Arvind FBA QA</Name>
                    <CountryCode>CA</CountryCode>
                    <StateOrProvinceCode>BC</StateOrProvinceCode>
                    <AddressLine1>Address 1</AddressLine1>
                    <City>Vancouver</City>
                </ShipFromAddress>
                <ShipmentId>FBA1123</ShipmentId>
                <ShipmentName>Test MWS CA Shipment 1</ShipmentName>
                <ShipmentStatus>WORKING</ShipmentStatus>
                <LabelPrepType>NO_LABEL</LabelPrepType>
                <DestinationFulfillmentCenterId>RIC2</DestinationFulfillmentCenterId>
                <BoxContentsSource>NONE</BoxContentsSource>
                <EstimatedBoxContentsFee>
                    <TotalUnits>10</TotalUnits>
                    <FeePerUnit>
                        <CurrencyCode>USD</CurrencyCode>
                        <Value>0.10</Value>
                    </FeePerUnit>
                    <TotalFee>
                        <CurrencyCode>USD</CurrencyCode>
                        <Value>10.0</Value>
                    </TotalFee>
                </EstimatedBoxContentsFee>
            </member>
        </ShipmentData>
    </ListInboundShipmentsResult>
</ListInboundShipmentsResponse>