0

I am newbie to MWS and working on returned items. I have used Reports API .

    $marketplaceIdArray = array("Id" => array('$MARKETPLACE_ID'));        
    $t1 = date("c", time()-437*24*60*60);  
    $t2 = date("c", time()-1*24*60*60);  
    // @TODO: set request. Action can be passed as 
    MarketplaceWebService_Model_ReportRequest
    // object or array of parameters

    $parameters = array (
        'Merchant' => MERCHANT_ID,
        'MarketplaceIdList' => $marketplaceIdArray,
        'ReportType' => '_GET_FBA_FULFILLMENT_CUSTOMER_RETURNS_DATA_',
        'ReportOptions' => 'ShowSalesChannel=true'
      );

     $request = new MarketplaceWebService_Model_RequestReportRequest($parameters);
     $request = new MarketplaceWebService_Model_RequestReportRequest();  
     $request->setMarketplaceIdList($marketplaceIdArray);  
     $request->setStartDate($t1);  
     $request->setEndDate(t2);  
     $request->setMerchant(MERCHANT_ID);  
     $request->setReportType('_GET_FBA_FULFILLMENT_CUSTOMER_RETURNS_DATA_');   

     invokeRequestReport($service, $request);

the ouput was :

Service Response

    RequestReportResponse
        RequestReportResult
            ReportRequestInfo
                ReportRequestId
                    68409017536
                ReportType
                    _GET_FBA_FULFILLMENT_CUSTOMER_RETURNS_DATA_
                StartDate
                    2018-01-05T06:55:49Z
                EndDate
                    2018-01-05T06:55:49Z
                SubmittedDate
                    2018-01-05T06:55:49Z
                ReportProcessingStatus
                    _SUBMITTED_
        ResponseMetadata
            RequestId
                1ecdc803-b26c-47a2-af0e-e598a00d379d
        ResponseHeaderMetadata: RequestId: 1ecdc803-b26c-47a2-af0e-e598a00d379d, ResponseContext: 0KH8lyC6JDI3d4zFp8/qpB5ZmQJx/IVxWhOq4BLHsmELEaNWGUBNKvPZpghwlK2Q1TjAQiX5bls=, Timestamp: 2018-01-05T06:55:49.488Z

but how to fetch the fields like product name, quality, reson,SKU , etc ...,

Sree
  • 1
  • 4

1 Answers1

0

You have requested the report.

Now you can use that request ID to check when the report has finished running. (You can test it all here before writing the php code: https://mws.amazonservices.com/scratchpad/index.html )

Go to Reports and choose GetReportRequestList and type in your requestID. This will then tell you if the ReportProcessingStatus is done or still processing. When it is done you can then get the GeneratedReportId and request the GetReport using that id. That will then give you a CSV result with your returns for the given time period from the initial report request.

If all of that looks good then you will need to add steps in your PHP code to do all of that.

Once you have requested the report you will need to save the request id and periodically (depending on your order volume, maybe check every few seconds or every minute to see if the request is done. Then you would have something like this:

$reportId = $this->invokeGetReportList($service, $request);
$reportRequest = new MarketplaceWebService_Model_GetReportRequest();
$reportRequest->setMerchant(MERCHANT_ID);
$reportRequest->setReport(@fopen('php://memory', 'rw+'));
$reportRequest->setReportId($reportId);
$resultArray = $this->invokeGetReportAllOrderData($service, $reportRequest);
iMakeWebsites
  • 587
  • 3
  • 10