Feeds 関数概要

処理フロー

  • 1 ステップ1
  • 2 ステップ2
  • 3 ステップ3
  • 4 ステップ4
  • 5 ステップ5
  • 6 ステップ6
Step 利用関数 処理概要
ステップ1 SubmitFeed アップロードファイルを準備し、暗号化ヘッダーとファイルを関数を利用し、アップロードする。
ステップ2 GetFeedSubmissionList 関数を利用し処理状況を取得する。
ステップ3 処理状況チェック ステップ2で正常終了を確認し、次のステップに進む。
ステップ4 GetFeedSubmissionResult 関数を利用し、処理結果を取得する。
ステップ5 エラーチェック 処理結果で正常終了を確認する。エラー発生時には、次のステップに進む。
ステップ6 再アップロード アップロードファイルを修正し、再度、ステップ1に進む。

Feeds 関数一覧

オペレーション 概要
SubmitFeed Amazon MWSサイトにファイルをアップロードします。
GetFeedSubmissionList 過去90日間にアップロードされた一覧を取得します。
GetFeedSubmissionListByNextToken GetFeedSubmissionListで取得した情報を繰り返し取得する際に利用します。
GetFeedSubmissionCount 過去90日間にアップロードされた件数を取得します。
CancelFeedSubmissions アップロードしたファイル処理のキャンセルを行います。
GetFeedSubmissionResult アップロード処理結果を取得します。

Feeds 関数利用例

private void btnSubmitFeed_Click(object sender, RoutedEventArgs e)
{
    string SellerId = CommonValue.strMerchantId;
    string MarketplaceId = CommonValue.strMarketplaceId;
    string AccessKeyId = CommonValue.strAccessKeyId;
    string SecretKeyId = CommonValue.strSecretKeyId;
    string ApplicationVersion = CommonValue.strApplicationVersion;
    string ApplicationName = CommonValue.strApplicationName;
    string MWSAuthToken = CommonValue.strMWSAuthToken;
    string strbuff = string.Empty;
 
    MarketplaceWebServiceConfig config = new MarketplaceWebServiceConfig();
    config.ServiceURL = CommonValue.strServiceURL;
 
    MarketplaceWebServiceClient client = new MarketplaceWebServiceClient(
                                                        AccessKeyId,
                                                        SecretKeyId,
                                                        ApplicationName,
                                                        ApplicationVersion,
                                                        config);
    SubmitFeedRequest request = new SubmitFeedRequest();
    request.Merchant = SellerId;
    request.MarketplaceIdList = new IdList();
    request.MarketplaceIdList.Id = new List<string>(new string[] { MarketplaceId });
    request.MWSAuthToken = MWSAuthToken;
 
    request.FeedContent = System.IO.File.Open(txtFileName.Text, System.IO.FileMode.Open, System.IO.FileAccess.Read);
    request.ContentMD5 = MarketplaceWebServiceClient.CalculateContentMD5(request.FeedContent);
    request.FeedContent.Position = 0;
    request.FeedType = "_POST_FLAT_FILE_PRICEANDQUANTITYONLY_UPDATE_DATA_";
    SubmitFeedResponse response = client.SubmitFeed(request);
 
    if (response.IsSetSubmitFeedResult())
    {
        SubmitFeedResult submitFeedResult = response.SubmitFeedResult;
        if (submitFeedResult.IsSetFeedSubmissionInfo())
        {
            FeedSubmissionInfo feedSubmissionInfo = submitFeedResult.FeedSubmissionInfo;
            if (feedSubmissionInfo.IsSetFeedSubmissionId())
            {
                strbuff = "正常終了 レポートID:" + feedSubmissionInfo.FeedSubmissionId;
            }
            else
            {
                strbuff = "処理でエラーが発生しました。";
            }
        }
    }
    txSubmitFeedResult.Text = strbuff;
}

private void btnGetFeedSubmissionList_Click(object sender, RoutedEventArgs e)
{
    string SellerId = CommonValue.strMerchantId;
    string MarketplaceId = CommonValue.strMarketplaceId;
    string AccessKeyId = CommonValue.strAccessKeyId;
    string SecretKeyId = CommonValue.strSecretKeyId;
    string ApplicationVersion = CommonValue.strApplicationVersion;
    string ApplicationName = CommonValue.strApplicationName;
    string MWSAuthToken = CommonValue.strMWSAuthToken;
    string strbuff = string.Empty;
 
    MarketplaceWebServiceConfig config = new MarketplaceWebServiceConfig();
    config.ServiceURL = CommonValue.strServiceURL;
 
    MarketplaceWebServiceClient client = new MarketplaceWebServiceClient(
                                                        AccessKeyId,
                                                        SecretKeyId,
                                                        ApplicationName,
                                                        ApplicationVersion,
                                                        config);
    GetFeedSubmissionListRequest request = new GetFeedSubmissionListRequest();
    request.Merchant = SellerId;
    request.MWSAuthToken = MWSAuthToken;
    GetFeedSubmissionListResponse response = client.GetFeedSubmissionList(request);
    if ( response.IsSetGetFeedSubmissionListResult() )
    {
        GetFeedSubmissionListResult getFeedSubmissionListResult = response.GetFeedSubmissionListResult;
        if (getFeedSubmissionListResult.IsSetHasNext())
        {
            strbuff += "次のリストの有無:" + getFeedSubmissionListResult.HasNext + System.Environment.NewLine;
        }
        List<FeedSubmissionInfo> feedSubmissionInfoList = getFeedSubmissionListResult.FeedSubmissionInfo;
        foreach (FeedSubmissionInfo feedSubmissionInfo in feedSubmissionInfoList)
        {
            if (feedSubmissionInfo.IsSetFeedProcessingStatus())
            {
                strbuff += "レポートID:" + feedSubmissionInfo.FeedSubmissionId + System.Environment.NewLine;
            }
        }
    }
    txtGetFeedSubmissionList.Text = strbuff;
}

private void btnGetFeedSubmissionListByNext_Click(object sender, RoutedEventArgs e)
{
    string SellerId = CommonValue.strMerchantId;
    string MarketplaceId = CommonValue.strMarketplaceId;
    string AccessKeyId = CommonValue.strAccessKeyId;
    string SecretKeyId = CommonValue.strSecretKeyId;
    string ApplicationVersion = CommonValue.strApplicationVersion;
    string ApplicationName = CommonValue.strApplicationName;
    string MWSAuthToken = CommonValue.strMWSAuthToken;
    string strbuff = string.Empty;
    string strNextToken = string.Empty;
 
    MarketplaceWebServiceConfig config = new MarketplaceWebServiceConfig();
    config.ServiceURL = CommonValue.strServiceURL;
 
    MarketplaceWebServiceClient client = new MarketplaceWebServiceClient(
                                                        AccessKeyId,
                                                        SecretKeyId,
                                                        ApplicationName,
                                                        ApplicationVersion,
                                                        config);
    GetFeedSubmissionListRequest request = new GetFeedSubmissionListRequest();
    request.Merchant = SellerId;
    request.MWSAuthToken = MWSAuthToken;
    GetFeedSubmissionListResponse response = client.GetFeedSubmissionList(request);
    if (response.IsSetGetFeedSubmissionListResult())
    {
        GetFeedSubmissionListResult getFeedSubmissionListResult = response.GetFeedSubmissionListResult;
        if (getFeedSubmissionListResult.IsSetHasNext())
        {
            strNextToken = getFeedSubmissionListResult.NextToken;
            GetFeedSubmissionListByNextTokenRequest request1 = new GetFeedSubmissionListByNextTokenRequest();
            request1.Merchant = SellerId;
            request1.NextToken = strNextToken;
            request1.MWSAuthToken = MWSAuthToken;
 
            GetFeedSubmissionListByNextTokenResponse response1 = client.GetFeedSubmissionListByNextToken(request1);
            if (response1.IsSetGetFeedSubmissionListByNextTokenResult())
            {
                GetFeedSubmissionListByNextTokenResult getFeedSubmissionListByNextTokenResult = response1.GetFeedSubmissionListByNextTokenResult;
                List<FeedSubmissionInfo> feedSubmissionInfoList = getFeedSubmissionListByNextTokenResult.FeedSubmissionInfo;
                foreach (FeedSubmissionInfo feedSubmissionInfo in feedSubmissionInfoList)
                {
                    if (feedSubmissionInfo.IsSetFeedProcessingStatus())
                    {
                        strbuff += "レポートID:" + feedSubmissionInfo.FeedSubmissionId + System.Environment.NewLine;
                    }
                }
            }
        }
    }
    txtGetFeedSubmissionListByNext.Text = strbuff;
}

private void btnGetSubmissionCount_Click(object sender, RoutedEventArgs e)
{
    string SellerId = CommonValue.strMerchantId;
    string MarketplaceId = CommonValue.strMarketplaceId;
    string AccessKeyId = CommonValue.strAccessKeyId;
    string SecretKeyId = CommonValue.strSecretKeyId;
    string ApplicationVersion = CommonValue.strApplicationVersion;
    string ApplicationName = CommonValue.strApplicationName;
    string MWSAuthToken = CommonValue.strMWSAuthToken;
    string strbuff = string.Empty;
 
    MarketplaceWebServiceConfig config = new MarketplaceWebServiceConfig();
    config.ServiceURL = CommonValue.strServiceURL;
 
    MarketplaceWebServiceClient client = new MarketplaceWebServiceClient(
                                                        AccessKeyId,
                                                        SecretKeyId,
                                                        ApplicationName,
                                                        ApplicationVersion,
                                                        config);
    GetFeedSubmissionCountRequest request = new GetFeedSubmissionCountRequest();
    request.Merchant = SellerId;
    request.MWSAuthToken = MWSAuthToken;
 
    GetFeedSubmissionCountResponse response = client.GetFeedSubmissionCount(request);
    if (response.IsSetGetFeedSubmissionCountResult())
    {
        GetFeedSubmissionCountResult getFeedSubmissionCountResult = response.GetFeedSubmissionCountResult;
        if ( getFeedSubmissionCountResult.IsSetCount())
        {
            strbuff += "処理件数:" + getFeedSubmissionCountResult.Count;
        }
    }
    txtGetFeedSubmissionCount.Text = strbuff;
}

private void btnCancelFeedSubmission_Click(object sender, RoutedEventArgs e)
{
    string SellerId = CommonValue.strMerchantId;
    string MarketplaceId = CommonValue.strMarketplaceId;
    string AccessKeyId = CommonValue.strAccessKeyId;
    string SecretKeyId = CommonValue.strSecretKeyId;
    string ApplicationVersion = CommonValue.strApplicationVersion;
    string ApplicationName = CommonValue.strApplicationName;
    string MWSAuthToken = CommonValue.strMWSAuthToken;
    string strbuff = string.Empty;
 
    MarketplaceWebServiceConfig config = new MarketplaceWebServiceConfig();
    config.ServiceURL = CommonValue.strServiceURL;
 
    MarketplaceWebServiceClient client = new MarketplaceWebServiceClient(
                                                        AccessKeyId,
                                                        SecretKeyId,
                                                        ApplicationName,
                                                        ApplicationVersion,
                                                        config);
    CancelFeedSubmissionsRequest request = new CancelFeedSubmissionsRequest();
    request.Merchant = SellerId;
    request.MWSAuthToken = MWSAuthToken;
    IdList submissionIdList = new IdList();
    submissionIdList.Id.Add(txtCancelFeedSubmissionsSearch.Text);
    request.FeedSubmissionIdList = submissionIdList;
 
    CancelFeedSubmissionsResponse response = client.CancelFeedSubmissions(request);
    if (response.IsSetCancelFeedSubmissionsResult())
    {
        CancelFeedSubmissionsResult cancelFeedSubmissionsResult = response.CancelFeedSubmissionsResult;
        if (cancelFeedSubmissionsResult.IsSetCount())
        {
            List<FeedSubmissionInfo> feedSubmissionInfoList = cancelFeedSubmissionsResult.FeedSubmissionInfo;
            foreach (FeedSubmissionInfo feedSubmissionInfo in feedSubmissionInfoList)
            {
                strbuff += "キャンセル処理:" + feedSubmissionInfo.FeedSubmissionId;
            }
        }
    }
    txtCancelFeedSubmission.Text = strbuff;
}

private void btnGetFeedSubmissionResult_Click(object sender, RoutedEventArgs e)
{
    string SellerId = CommonValue.strMerchantId;
    string MarketplaceId = CommonValue.strMarketplaceId;
    string AccessKeyId = CommonValue.strAccessKeyId;
    string SecretKeyId = CommonValue.strSecretKeyId;
    string ApplicationVersion = CommonValue.strApplicationVersion;
    string ApplicationName = CommonValue.strApplicationName;
    string MWSAuthToken = CommonValue.strMWSAuthToken;
    string strbuff = string.Empty;
 
    MarketplaceWebServiceConfig config = new MarketplaceWebServiceConfig();
    config.ServiceURL = CommonValue.strServiceURL;
 
    MarketplaceWebServiceClient client = new MarketplaceWebServiceClient(
                                                        AccessKeyId,
                                                        SecretKeyId,
                                                        ApplicationName,
                                                        ApplicationVersion,
                                                        config);
    GetFeedSubmissionResultRequest request = new GetFeedSubmissionResultRequest();
    request.FeedSubmissionId = txtFeedSubmissionResultSearch.Text;
    request.Merchant = SellerId;
    request.MWSAuthToken = MWSAuthToken;
    request.FeedSubmissionResult = System.IO.File.Open("C:\tmp\SubmissionResult.xml", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.ReadWrite);
 
    GetFeedSubmissionResultResponse response = client.GetFeedSubmissionResult(request);
    if (response.IsSetGetFeedSubmissionResultResult())
    {
        strbuff = "処理が正常に完了しました。";
    }
    txtGetFeedSubmissionResult.Text = strbuff;
}

FeedTyple 指定引数

FeedType は、アップロードするファイルフォーマットを指定します。
利用Feed名 設定値 フォーマット
Product Feed _POST_PRODUCT_DATA_ XML
Relationships Feed _POST_PRODUCT_RELATIONSHIP_DATA_ XML
Single Format Item Feed _POST_ITEM_DATA_ XML
Shipping Override Feed _POST_PRODUCT_OVERRIDES_DATA_ XML
Product Images Feed _POST_PRODUCT_IMAGE_DATA_ XML
Pricing Feed _POST_PRODUCT_PRICING_DATA_ XML
Inventory Feed _POST_INVENTORY_AVAILABILITY_DATA_ XML
Order Acknowledgement Feed _POST_ORDER_ACKNOWLEDGEMENT_DATA_ XML
Order Fulfillment Feed _POST_ORDER_FULFILLMENT_DATA_ XML
FBA Shipment Injection Fulfillment Feed _POST_FULFILLMENT_ORDER_REQUEST_DATA_ XML
FBA Shipment Injection Cancellation Feed _POST_FULFILLMENT_ORDER_CANCELLATION _REQUEST_DATA XML
Order Adjustment Feed _POST_PAYMENT_ADJUSTMENT_DATA_ XML
Invoice Confirmation Feed _POST_INVOICE_CONFIRMATION_DATA_ XML
ACES 3.0 Data(Automotive Part Finder)Feed _POST_STD_ACES_DATA_ XML
Flat File Listings Feed _POST_FLAT_FILE_LISTINGS_DATA_ Tabデリミタ
Flat File Order Acknowledgement Feed _POST_FLAT_FILE_ORDER_ACKNOWLEDGEMENT_DATA_ Tabデリミタ
Flat File Order Fulfillment Feed _POST_FLAT_FILE_FULFILLMENT_DATA_ Tabデリミタ
Flat File FBA Shipment Injection Fulfillment Feed _POST_FLAT_FILE_FULFILLMENT_ORDER_REQUEST_DATA_ Tabデリミタ
Flat File FBA Shipment Injection Cancellation Feed _POST_FLAT_FILE_FULFILLMENT_ORDER_CANCELLATION _REQUEST_DATA_ Tabデリミタ
FBA Flat File Create Inbound Shipment Feed _POST_FLAT_FILE_FBA_CREATE_INBOUND_SHIPMENT_ Tabデリミタ
FBA Flat File Update Inbound Shipment Feed _POST_FLAT_FILE_FBA_UPDATE_INBOUND_SHIPMENT_ Tabデリミタ
FBA Flat File Shipment Notification Feed _POST_FLAT_FILE_FBA_SHIPMENT_NOTIFICATION_FEED_ Tabデリミタ
FBA Flat File Create Removal Feed _POST_FLAT_FILE_FBA_CREATE_REMOVAL_ Tabデリミタ
Flat File Order Adjustment Feed _POST_FLAT_FILE_PAYMENT_ADJUSTMENT_DATA_ Tabデリミタ
Flat File Invoice Confirmation Feed _POST_FLAT_FILE_INVOICE_CONFIRMATION_DATA_ Tabデリミタ
Flat File Inventory Loader Feed _POST_FLAT_FILE_INVLOADER_DATA_ Tabデリミタ
Flat File Music Loader File _POST_FLAT_FILE_CONVERGENCE_LISTINGS_DATA_ Tabデリミタ
Flat File Book Loader File _POST_FLAT_FILE_BOOKLOADER_DATA_ Tabデリミタ
Flat File Video Loader File _POST_FLAT_FILE_LISTINGS_DATA_ Tabデリミタ
Flat File Price and Quantity Update File _POST_FLAT_FILE_PRICEANDQUANTITYONLY _UPDATE_DATA_ Tabデリミタ
Product Ads Flat File Feed _POST_FLAT_FILE_SHOPZILLA_DATA_ Tabデリミタ
UIEE Inventory File _POST_UIEE_BOOKLOADER_DATA_ Universal Information Exchange Environment