Я продавец Амазонки, использующий FBA. Я начал играть с MWS.
1-й вопрос:
Какой API-интерфейс лучше всего (заказы или отчеты) для отчетов «Отчеты / Выполнение Amazon / Все заказы» и Отчеты / Платежи / Диапазон дат «
второй
Я скачал PHP библиотеку для «ЗАКАЗЫ» из
https://developer.amazonservices.co.uk/gp/mws/api.html?ie=UTF8&группа = заказы&раздел = заказы&версия = последняя
… ну и конечно проблемы
в config.inc.php я настраиваю все данные и дополнительно:
//set_include_path(get_include_path() . PATH_SEPARATOR . '../../.');
$path = 'http://MYWEBSITE/amazon-mws/';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
и я тестирую файл «ListOrdersSample1»
<?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");
}
}
Я пытаюсь использовать для тестирования
$service = new MarketplaceWebServiceOrders_Mock();
но ничего не происходит
Правильный ли путь в конфиге?
Я этого не понимаю
$serviceUrl = "https://mws-eu.amazonservices.com/Orders/2013-09-01";
Должен ли я изменить дату?
Мне нужен маленький рабочий пример, чтобы начать.
большое спасибо
Это зависит от того, что вы пытаетесь достичь. Я думаю, что API заказов полезен, если вам нужно что-то сделать с заказом, например, отправить его самостоятельно (продавец выполнил, а не FBA).
API отчетов более полезен, если вы в основном используете данные для отчетов. Один из основных отчетов, которые я использую, _GET_AMAZON_FULFILLED_SHIPMENTS_DATA_
потому что он дает данные о продажах после того, как он действительно отправлен. То, что кто-то что-то заказал, не означает, что он действительно получит товар. Иногда заказы не выполняются из-за отказа в кредитной карте или из-за их быстрой отмены и т. Д.
Дата — это версия используемого вами API. Это останется 2013-09-01. Я бы настоятельно рекомендовал поиграть с блокнотом, чтобы увидеть данные такого типа, возвращаемые для каждого типа запроса. Это также помогает визуализировать, какие параметры вам нужно предоставить. чтобы получить ожидаемые результаты. Я всегда начинаю здесь, прежде чем что-то кодировать.
https://mws.amazonservices.co.uk/scratchpad/index.html (измените co.uk на то, что вы хотите, .de, и т. д.)
Других решений пока нет …