Ich versuche, die Gebührenschätzung für eine bestimmte SKU mithilfe der Amazon MWS-API abzurufen. Ich habe die Beispieldateien und habe gelesen und gelesen, aber ich kann nicht herausfinden, wie man die SKU für die Einreichung spezifiziert.Einreichen einer Amazon MWS GetMyFeesEstimate API-Anfrage
Ich habe die Beispieldatei GetMyFeesEstimateSample.php gegen die Mock-Datei arbeiten, aber das ist die Antwortdatei, nicht wahr?
Hier ist, was ich habe, wie gebe ich den SellerSKU für die Anfrage?
<?php
/*******************************************************************************
* Copyright 2009-2016 Amazon Services. All Rights Reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
*
* You may not use this file except in compliance with the License.
* You may obtain a copy of the License at: http://aws.amazon.com/apache2.0
* This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*******************************************************************************
* PHP Version 5
* @category Amazon
* @package Marketplace Web Service Products
* @version 2011-10-01
* Library Version: 2016-06-01
* Generated: Fri Sep 16 11:49:32 PDT 2016
*/
/**
* Get My Fees Estimate Sample
*/
require_once('.config.inc.php');
/************************************************************************
* Instantiate Implementation of MarketplaceWebServiceProducts
*
* 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/Products/2011-10-01";
// Europe
//$serviceUrl = "https://mws-eu.amazonservices.com/Products/2011-10-01";
// Japan
//$serviceUrl = "https://mws.amazonservices.jp/Products/2011-10-01";
// China
//$serviceUrl = "https://mws.amazonservices.com.cn/Products/2011-10-01";
$config = array (
'ServiceURL' => $serviceUrl,
'ProxyHost' => null,
'ProxyPort' => -1,
'ProxyUsername' => null,
'ProxyPassword' => null,
'MaxErrorRetry' => 3,
);
$service = new MarketplaceWebServiceProducts_Client(
AWS_ACCESS_KEY_ID,
AWS_SECRET_ACCESS_KEY,
APPLICATION_NAME,
APPLICATION_VERSION,
$config);
/************************************************************************
* Uncomment to try out Mock Service that simulates MarketplaceWebServiceProducts
* responses without calling MarketplaceWebServiceProducts service.
*
* Responses are loaded from local XML files. You can tweak XML files to
* experiment with various outputs during development
*
* XML files available under MarketplaceWebServiceProducts/Mock tree
*
***********************************************************************/
// $service = new MarketplaceWebServiceProducts_Mock();
/************************************************************************
* Setup request parameters and uncomment invoke to try out
* sample for Get My Fees Estimate Action
***********************************************************************/
// @TODO: set request. Action can be passed as MarketplaceWebServiceProducts_Model_GetMyFeesEstimate
$request = new MarketplaceWebServiceProducts_Model_GetMyFeesEstimateRequest();
$request->setSellerId(MERCHANT_ID);
// object or array of parameters
invokeGetMyFeesEstimate($service, $request);
/**
* Get Get My Fees Estimate Action Sample
* Gets competitive pricing and related information for a product identified by
* the MarketplaceId and ASIN.
*
* @param MarketplaceWebServiceProducts_Interface $service instance of MarketplaceWebServiceProducts_Interface
* @param mixed $request MarketplaceWebServiceProducts_Model_GetMyFeesEstimate or array of parameters
*/
function invokeGetMyFeesEstimate(MarketplaceWebServiceProducts_Interface $service, $request)
{
try {
$response = $service->GetMyFeesEstimate($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 (MarketplaceWebServiceProducts_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");
}
}
Ich fand das, aber ich habe immer noch keine Ahnung, was zu tun ist. Sie würden denken, dass die Amazon-Proben ein Beispiel ASIN oder SKU enthalten würden; https://docs.developer.amazonservices.com/en_US/products/Products_GetMyFeesEstimate.html
Entschuldigung, der Screenshot stammt von der Amazon-Website, nicht meine Anfrage. Das ist der Teil, den ich zu verstehen versuche. Wie kann ich die Anfrage formulieren und einreichen? Ich werde mehrere Anfragen in einer Schleife ausführen. – Stuart
Ich bin kein PHP-Typ, aber das Endergebnis ist, einen POST zu MWS zu erzeugen. Sie können es manuell codieren und das SDK von Amazon einreichen oder verwenden. Wenn Sie sich den obigen PHP-Code ansehen, müssen Sie die Zeile auskommentieren: "* @param mixed $ request MarketWebServiceProducts_Model_GetMyFeesEstimate oder Array von Parametern" und setzen Sie Ihre Parameter dort hinein. Es ist mir etwas fremd. Schauen Sie sich stackoverflow für Beispiele an. Vielleicht dieses: http://stackoverflow.com/questions/37416063/fetch-product-from-amazon-mws-using-product-api – ScottG