Unicode C++ MWS Inbound: Create Inbound Shipment

Back to Index

Creates an inbound shipment.

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

CURL Command

curl -X POST https://mws.amazonaws.com/FulfillmentInboundShipment/2010-10-01 \
  -d "AWSAccessKeyId=AWS_ACCESS_KEY_ID" \
  -d "Action=CreateInboundShipment" \
  -d "SellerId=MWS_SELLER_ID" \
  -d "SignatureVersion=2" \
  -d "Timestamp=CURRENT_DATE_TIME" \
  -d "Version=2010-10-01" \
  -d "Signature=MWS_SIGNATURE" \
  -d "SignatureMethod=HmacSHA256" \
  -d "ShipmentId=FBA0000001" \
  -d "InboundShipmentHeader.ShipmentName=SHIPMENT_NAME" \
  -d "InboundShipmentHeader.ShipFromAddress.Name=NAME" \
  -d "InboundShipmentHeader.ShipFromAddress.AddressLine1=ADDR_LINE1" \
  -d "InboundShipmentHeader.ShipFromAddress.City=Seattle" \
  -d "InboundShipmentHeader.ShipFromAddress.StateOrProvinceCode=WA" \
  -d "InboundShipmentHeader.ShipFromAddress.PostalCode=98121" \
  -d "InboundShipmentHeader.ShipFromAddress.CountryCode=US" \
  -d "InboundShipmentHeader.DestinationFulfillmentCenterId=ABE2" \
  -d "InboundShipmentHeader.ShipmentStatus=WORKING" \
  -d "InboundShipmentHeader.LabelPrepPreference=SELLER_LABEL" \
  -d "InboundShipmentHeader.IntendedBoxContentsSource=FEED" \
  -d "InboundShipmentItems.member.1.QuantityShipped=1" \
  -d "InboundShipmentItems.member.1.SellerSKU=SKU00001" \
  -d "InboundShipmentItems.member.1.PrepDetailsList.member.1.PrepInstruction=Taping" \
  -d "InboundShipmentItems.member.1.PrepDetailsList.member.1.PrepOwner=AMAZON" \
  -d "InboundShipmentItems.member.2.QuantityShipped=2" \
  -d "InboundShipmentItems.member.2.SellerSKU=SKU00002" \
  -d "InboundShipmentItems.member.2.PrepDetailsList.member.1.PrepInstruction=Taping" \
  -d "InboundShipmentItems.member.2.PrepDetailsList.member.1.PrepOwner=SELLER"

Unicode C++ Example

#include <CkRestW.h>
#include <CkXmlW.h>

void ChilkatSample(void)
    {
    CkRestW rest;
    bool success;

    //  URL: https://mws.amazonaws.com/FulfillmentInboundShipment/2010-10-01
    bool bTls = true;
    int port = 443;
    bool bAutoReconnect = true;
    success = rest.Connect(L"mws.amazonaws.com",port,bTls,bAutoReconnect);
    if (success != true) {
        wprintf(L"ConnectFailReason: %d\n",rest.get_ConnectFailReason());
        wprintf(L"%s\n",rest.lastErrorText());
        return;
    }

    rest.AddQueryParam(L"AWSAccessKeyId",L"AWS_ACCESS_KEY_ID");
    rest.AddQueryParam(L"Action",L"CreateInboundShipment");
    rest.AddQueryParam(L"SellerId",L"MWS_SELLER_ID");
    rest.AddQueryParam(L"SignatureVersion",L"2");
    rest.AddQueryParam(L"Version",L"2010-10-01");
    rest.AddQueryParam(L"SignatureMethod",L"HmacSHA256");
    rest.AddQueryParam(L"ShipmentId",L"FBA0000001");
    rest.AddQueryParam(L"InboundShipmentHeader.ShipmentName",L"SHIPMENT_NAME");
    rest.AddQueryParam(L"InboundShipmentHeader.ShipFromAddress.Name",L"NAME");
    rest.AddQueryParam(L"InboundShipmentHeader.ShipFromAddress.AddressLine1",L"ADDR_LINE1");
    rest.AddQueryParam(L"InboundShipmentHeader.ShipFromAddress.City",L"Seattle");
    rest.AddQueryParam(L"InboundShipmentHeader.ShipFromAddress.StateOrProvinceCode",L"WA");
    rest.AddQueryParam(L"InboundShipmentHeader.ShipFromAddress.PostalCode",L"98121");
    rest.AddQueryParam(L"InboundShipmentHeader.ShipFromAddress.CountryCode",L"US");
    rest.AddQueryParam(L"InboundShipmentHeader.DestinationFulfillmentCenterId",L"ABE2");
    rest.AddQueryParam(L"InboundShipmentHeader.ShipmentStatus",L"WORKING");
    rest.AddQueryParam(L"InboundShipmentHeader.LabelPrepPreference",L"SELLER_LABEL");
    rest.AddQueryParam(L"InboundShipmentHeader.IntendedBoxContentsSource",L"FEED");
    rest.AddQueryParam(L"InboundShipmentItems.member.1.QuantityShipped",L"1");
    rest.AddQueryParam(L"InboundShipmentItems.member.1.SellerSKU",L"SKU00001");
    rest.AddQueryParam(L"InboundShipmentItems.member.1.PrepDetailsList.member.1.PrepInstruction",L"Taping");
    rest.AddQueryParam(L"InboundShipmentItems.member.1.PrepDetailsList.member.1.PrepOwner",L"AMAZON");
    rest.AddQueryParam(L"InboundShipmentItems.member.2.QuantityShipped",L"2");
    rest.AddQueryParam(L"InboundShipmentItems.member.2.SellerSKU",L"SKU00002");
    rest.AddQueryParam(L"InboundShipmentItems.member.2.PrepDetailsList.member.1.PrepInstruction",L"Taping");
    rest.AddQueryParam(L"InboundShipmentItems.member.2.PrepDetailsList.member.1.PrepOwner",L"SELLER");

    rest.put_Host(L"mws.amazonaws.com");
    //  The AddMwsSignature method adds the Timestamp and Signature query params.
    rest.AddMwsSignature(L"POST",L"/FulfillmentInboundShipment/2010-10-01",L"mws.amazonaws.com",L"MWS_SECRET_KEY");

    const wchar_t *strResponseBody = rest.fullRequestFormUrlEncoded(L"POST",L"/FulfillmentInboundShipment/2010-10-01");
    if (rest.get_LastMethodSuccess() != true) {
        wprintf(L"%s\n",rest.lastErrorText());
        return;
    }

    CkXmlW xmlResponse;
    xmlResponse.LoadXml(strResponseBody);

    const wchar_t *CreateInboundShipmentResponse_xmlns = 0;
    const wchar_t *tagPath = 0;
    const wchar_t *ShipmentId = 0;
    const wchar_t *RequestId = 0;

    CreateInboundShipmentResponse_xmlns = xmlResponse.getAttrValue(L"xmlns");
    ShipmentId = xmlResponse.getChildContent(L"CreateInboundShipmentResult|ShipmentId");
    RequestId = xmlResponse.getChildContent(L"ResponseMetadata|RequestId");
    }

Sample XML Response Body

<?xml version="1.0" encoding="UTF-8" ?>
<CreateInboundShipmentResponse xmlns="http://mws.amazonaws.com/FulfillmentInboundShipment/2010-10-01/">
    <CreateInboundShipmentResult>
        <ShipmentId>FBA2F50GYX</ShipmentId>
    </CreateInboundShipmentResult>
    <ResponseMetadata>
        <RequestId>2a1455aa-c5f9-4993-9b18-dc10407e09ba</RequestId>
    </ResponseMetadata>
</CreateInboundShipmentResponse>