2017-10-20 12 views
1

Je suis vendeur Amazon en utilisant FBA. J'ai commencé à jouer avec MWS. questionAmazon MWS PHP API (commandes)

1er est:

qui api est le meilleur (ordres ou rapports) pour "Rapports/Accomplissement par Amazon/Tous les ordres" et rapports/paiements/date rapports »

gamme 2ème

J'ai téléchargé PHP Library pour "commandes" de https://developer.amazonservices.co.uk/gp/mws/api.html?ie=UTF8&group=orders&section=orders&version=latest

... et bien sûr pro blèmes

dans config.inc.php Je mis en place toutes les données et en plus:

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

Les fichiers ressemblent enter image description here

et je teste le fichier "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"); 
    } 
} 

J'essaie d'utiliser pour tester

$service = new MarketplaceWebServiceOrders_Mock(); 

mais rien ne se passe. Le chemin est-il correct dans la configuration? Je ne comprends pas ce

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

Dois-je changer la date?

J'ai besoin d'un petit exemple de travail pour commencer.

Merci beaucoup

Répondre

0
  1. Cela dépend de ce que vous essayez d'accomplir. Je pense que l'API Orders est bénéfique si vous avez besoin de faire quelque chose de concret avec la commande comme l'expédier vous-même (marchand comblé plutôt que FBA).
    L'API de rapports est plus utile si vous utilisez principalement les données pour la création de rapports. L'un des principaux rapports que j'utilise est _GET_AMAZON_FULFILLED_SHIPMENTS_DATA_ car il donne les données de vente après leur expédition. Juste parce que quelqu'un a commandé quelque chose ne signifie pas qu'ils obtiendront réellement l'article. Parfois, les commandes échouent en raison de la carte de crédit refusée ou annulée rapidement, etc.

  2. La date est la version de l'API que vous utilisez. Cela resterait 2013-09-01. Je recommande fortement de jouer avec le bloc-notes pour voir ce type de données retournées pour chaque type de demande. Il aide également à visualiser le type de paramètres que vous devez fournir. pour obtenir les résultats attendus. Je commence toujours ici avant de coder quoi que ce soit. https://mws.amazonservices.co.uk/scratchpad/index.html (changement co.uk à ce que vous voulez, .de, etc.)

+0

HI. Je vous remercie. Le bloc-notes fonctionne correctement. Vous avez raison, je devrais utiliser l'API de rapports. Pourriez-vous me dire comment avez-vous préparé vos fichiers? Je pense que quelque chose me manque. Peu importe quelle API j'utilise. Si je le fais fonctionner je peux sauter à un autre facilement. Pourriez-vous nous dire de faire "faux" travailler au moins parce que ça ne marche pas aussi bien pour moi :). Il est important pour moi de commencer avec quelque chose de simple et de petit.Parfait serait "Rapports/Fulfillment par Amazon/Toutes les commandes" parce que je l'utilise tous les jours. Cordialement – awariat