2017-10-20 3 views
1

FBA를 사용하는 Amazon 판매자입니다. 나는 MWS로 노는 것을 시작했다.Amazon MWS PHP API (주문)

첫번째 질문은 : API는 "아마존에 의해 보고서/이행/모든 주문"및 보고서/결제/날짜 범위 보고서 "

2에 대한 (주문 또는 보고서) 최고

나는 ... 물론 프로의 https://developer.amazonservices.co.uk/gp/mws/api.html?ie=UTF8&group=orders&section=orders&version=latest

에서 "ORDERS"에 대한 PHP 라이브러리를 다운로드

config.inc.php를에

을 blems 나는 모든 데이터를 설정하고 추가 :

//set_include_path(get_include_path() . PATH_SEPARATOR . '../../.'); 
$path = 'http://MYWEBSITE/amazon-mws/'; 
set_include_path(get_include_path() . PATH_SEPARATOR . $path); 

파일은 enter image description here

처럼 나는

<?php 

/** 
* List Orders Sample 
*/ 

require_once('.config.inc.php'); 

/************************************************************************ 
* Instantiate Implementation of MarketplaceWebServiceOrders 
* 
* AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY constants 
* are defined in the .config.inc.php located in the same 
* directory as this sample 
***********************************************************************/ 
// More endpoints are listed in the MWS Developer Guide 
// North America: 
//$serviceUrl = "https://mws.amazonservices.com/Orders/2013-09-01"; 
// Europe 
$serviceUrl = "https://mws-eu.amazonservices.com/Orders/2013-09-01"; 
// Japan 
//$serviceUrl = "https://mws.amazonservices.jp/Orders/2013-09-01"; 
// China 
//$serviceUrl = "https://mws.amazonservices.com.cn/Orders/2013-09-01"; 


$config = array (
    'ServiceURL' => $serviceUrl, 
    'ProxyHost' => null, 
    'ProxyPort' => -1, 
    'ProxyUsername' => null, 
    'ProxyPassword' => null, 
    'MaxErrorRetry' => 3, 
); 

$service = new MarketplaceWebServiceOrders_Client(
     AWS_ACCESS_KEY_ID, 
     AWS_SECRET_ACCESS_KEY, 
     APPLICATION_NAME, 
     APPLICATION_VERSION, 
     $config); 

/************************************************************************ 
* Uncomment to try out Mock Service that simulates MarketplaceWebServiceOrders 
* responses without calling MarketplaceWebServiceOrders service. 
* 
* Responses are loaded from local XML files. You can tweak XML files to 
* experiment with various outputs during development 
* 
* XML files available under MarketplaceWebServiceOrders/Mock tree 
* 
***********************************************************************/ 
$service = new MarketplaceWebServiceOrders_Mock(); 

/************************************************************************ 
* Setup request parameters and uncomment invoke to try out 
* sample for List Orders Action 
***********************************************************************/ 
// @TODO: set request. Action can be passed as MarketplaceWebServiceOrders_Model_ListOrders 
$request = new MarketplaceWebServiceOrders_Model_ListOrdersRequest(); 
$request->setSellerId(MERCHANT_ID); 
// object or array of parameters 
invokeListOrders($service, $request); 

/** 
    * Get List Orders Action Sample 
    * Gets competitive pricing and related information for a product identified by 
    * the MarketplaceId and ASIN. 
    * 
    * @param MarketplaceWebServiceOrders_Interface $service instance of MarketplaceWebServiceOrders_Interface 
    * @param mixed $request MarketplaceWebServiceOrders_Model_ListOrders or array of parameters 
    */ 

    function invokeListOrders(MarketplaceWebServiceOrders_Interface $service, $request) 
    { 
     try { 
     $response = $service->ListOrders($request); 

     echo ("Service Response\n"); 
     echo ("=============================================================================\n"); 

     $dom = new DOMDocument(); 
     $dom->loadXML($response->toXML()); 
     $dom->preserveWhiteSpace = false; 
     $dom->formatOutput = true; 
     echo $dom->saveXML(); 
     echo("ResponseHeaderMetadata: " . $response->getResponseHeaderMetadata() . "\n"); 

    } catch (MarketplaceWebServiceOrders_Exception $ex) { 
     echo("Caught Exception: " . $ex->getMessage() . "\n"); 
     echo("Response Status Code: " . $ex->getStatusCode() . "\n"); 
     echo("Error Code: " . $ex->getErrorCode() . "\n"); 
     echo("Error Type: " . $ex->getErrorType() . "\n"); 
     echo("Request ID: " . $ex->getRequestId() . "\n"); 
     echo("XML: " . $ex->getXML() . "\n"); 
     echo("ResponseHeaderMetadata: " . $ex->getResponseHeaderMetadata() . "\n"); 
    } 
} 

파일 "ListOrdersSample1을"테스트 테스트 용으로 사용하려고 시도합니다.

$service = new MarketplaceWebServiceOrders_Mock(); 

하지만 아무 일도 발생하지 않습니다. 경로가 config에서 올바 릅니까? 나는이

$serviceUrl = "https://mws-eu.amazonservices.com/Orders/2013-09-01"; 

내가 날짜를 변경해야 이해가 안 돼요?

시작하려면 작은 작업 예제가 필요합니다.

당신에게 그것은 당신이 달성하려고에 따라 달라집니다

답변

0
  1. 대단히 감사합니다. Orders API는 귀하가 직접 배송 할 수있는 것과 같은 주문으로 조치를 취할 필요가있는 경우 유용합니다 (FBA가 아닌 판매자가 처리 한 것).
    주로보고 용 데이터를 사용하는 경우 보고서 API가 더 유용합니다. 내가 사용한 주요 보고서 중 하나는 실제로 출하 된 후에 판매 데이터를 제공하기 때문에 _GET_AMAZON_FULFILLED_SHIPMENTS_DATA_입니다. 누군가가 무언가를 주문했기 때문에 실제로 물건을 얻을 수있는 것은 아닙니다. 신용 카드 거부 또는 주문 취소로 인해 주문이 실패하는 경우가 있습니다.

  2. 날짜는 사용중인 API의 버전입니다. 그것은 2013-09-01에 머물 것입니다. 각 유형의 요청에 대해 반환 된 데이터 유형을 확인하려면 스크래치 패드를 사용하는 것이 좋습니다. 또한 제공해야하는 매개 변수의 유형을 시각화하는 데 도움이됩니다. 예상 된 결과를 얻으 려합니다. 나는 항상 코딩하기 전에 여기서 시작한다. https://mws.amazonservices.co.uk/scratchpad/index.html (원하는 코드, .de 등으로 변경)

+0

안녕하세요. 고맙습니다. 스크래치 패드가 정상적으로 작동합니다. 당신은 바로 보고서 API를 사용해야합니다. 어떻게 파일을 준비했는지 말해 줄 수 있습니까? 나는 뭔가를 놓친 것 같아. 내가 사용하는 API는 중요하지 않습니다. 내가 그것을 작동하게하면 나는 쉽게 다른 곳으로 뛰어 갈 수있다. 당신은 "모의"가 적어도 나를 위해 일하지 않기 때문에 일하도록 우물을 조언 할 수 있겠습니까. :) 간단하고 작은 것으로 시작하는 것이 중요합니다.매일 그것을 사용하기 때문에 "아마존/모든 주문에 의한 보고서/이행"이 될 것입니다. 문안 인사 – awariat