Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * PHP Version 5
- *
- * @category Amazon
- * @package MarketplaceWebService
- * @copyright Copyright 2009 Amazon Technologies, Inc.
- * @link http://aws.amazon.com
- * @license http://aws.amazon.com/apache2.0 Apache License, Version 2.0
- * @version 2009-01-01
- */
- /*******************************************************************************
- * Marketplace Web Service PHP5 Library
- * Generated: Thu May 07 13:07:36 PDT 2009
- *
- */
- /**
- * Submit Feed Sample
- */
- include_once ('.config.inc.php');
- /************************************************************************
- * Uncomment to configure the client instance. Configuration settings
- * are:
- *
- * - MWS endpoint URL
- * - Proxy host and port.
- * - MaxErrorRetry.
- ***********************************************************************/
- // IMPORTANT: Uncomment the approiate line for the country you wish to
- // sell in:
- // United States:
- //$serviceUrl = "https://mws.amazonservices.com";
- // United Kingdom
- $serviceUrl = "https://mws.amazonservices.co.uk";
- // Germany
- //$serviceUrl = "https://mws.amazonservices.de";
- // France
- //$serviceUrl = "https://mws.amazonservices.fr";
- // Italy
- //$serviceUrl = "https://mws.amazonservices.it";
- // Japan
- //$serviceUrl = "https://mws.amazonservices.jp";
- // China
- //$serviceUrl = "https://mws.amazonservices.com.cn";
- // Canada
- //$serviceUrl = "https://mws.amazonservices.ca";
- $config = array (
- 'ServiceURL' => $serviceUrl,
- 'ProxyHost' => null,
- 'ProxyPort' => -1,
- 'MaxErrorRetry' => 3,
- );
- /************************************************************************
- * Instantiate Implementation of MarketplaceWebService
- *
- * 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
- ***********************************************************************/
- $service = new MarketplaceWebService_Client(
- AWS_ACCESS_KEY_ID,
- AWS_SECRET_ACCESS_KEY,
- $config,
- APPLICATION_NAME,
- APPLICATION_VERSION);
- /************************************************************************
- * Uncomment to try out Mock Service that simulates MarketplaceWebService
- * responses without calling MarketplaceWebService service.
- *
- * Responses are loaded from local XML files. You can tweak XML files to
- * experiment with various outputs during development
- *
- * XML files available under MarketplaceWebService/Mock tree
- *
- ***********************************************************************/
- // $service = new MarketplaceWebService_Mock();
- /************************************************************************
- * Setup request parameters and uncomment invoke to try out
- * sample for Submit Feed Action
- ***********************************************************************/
- // @TODO: set request. Action can be passed as MarketplaceWebService_Model_SubmitFeedRequest
- // object or array of parameters
- // Note that PHP memory streams have a default limit of 2M before switching to disk. While you
- // can set the limit higher to accomidate your feed in memory, it's recommended that you store
- // your feed on disk and use traditional file streams to submit your feeds. For conciseness, this
- // examples uses a memory stream.
- $feed = <<<EOD
- <?xml version="1.0" encoding="UTF-8 "?>
- <AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
- <Header>
- <DocumentVersion>1.01</DocumentVersion>
- <MerchantIdentifier>my_merchant_id</MerchantIdentifier>
- </Header>
- <MessageType>Product</MessageType>
- <PurgeAndReplace>true</PurgeAndReplace>
- <Message>
- <MessageID>1</MessageID>
- <OperationType>Insert</OperationType>
- <Product>
- <SKU>56789</SKU>
- <StandardProductID>
- <Type>ASIN</Type>
- <Value>B0EXAMPLEG</Value>
- </StandardProductID>
- <ProductTaxCode>A_GEN_NOTAX</ProductTaxCode>
- <DescriptionData>
- <Title>Example Product Title</Title>
- <Brand>Example Product Brand</Brand>
- <Description>This is an example product description.</Description>
- <BulletPoint>Example Bullet Point 1</BulletPoint>
- <BulletPoint>Example Bullet Point 2</BulletPoint>
- <MSRP currency="USD">99.99</MSRP>
- <Manufacturer>Example Product Manufacturer</Manufacturer>
- <ItemType>example-item-type</ItemType>
- </DescriptionData>
- <ProductData>
- <Health>
- <ProductType>
- <HealthMisc>
- <Ingredients>Example Ingredients</Ingredients>
- <Directions>Example Directions</Directions>
- </HealthMisc>
- </ProductType>
- </Health>
- </ProductData>
- </Product>
- </Message>
- </AmazonEnvelope>
- EOD;
- // Constructing the MarketplaceId array which will be passed in as the the MarketplaceIdList
- // parameter to the SubmitFeedRequest object.
- //$marketplaceIdArray = array("Id" => array('<Marketplace_Id_1>','<Marketplace_Id_2>'));
- // MWS request objects can be constructed two ways: either passing an array containing the
- // required request parameters into the request constructor, or by individually setting the request
- // parameters via setter methods.
- // Uncomment one of the methods below.
- /********* Begin Comment Block *********/
- // $feedHandle = @fopen('php://temp', 'rw+');
- // fwrite($feedHandle, $feed);
- // rewind($feedHandle);
- // $parameters = array (
- // 'Merchant' => MERCHANT_ID,
- // 'MarketplaceIdList' => array(MARKETPLACE_ID),
- // 'FeedType' => '_POST_ORDER_FULFILLMENT_DATA_',
- // 'FeedContent' => $feedHandle,
- // 'PurgeAndReplace' => false,
- // 'ContentMd5' => base64_encode(md5(stream_get_contents($feedHandle), true)),
- // );
- // rewind($feedHandle);
- // $request = new MarketplaceWebService_Model_SubmitFeedRequest($parameters);
- /********* End Comment Block *********/
- /********* Begin Comment Block *********/
- $feedHandle = @fopen('php://memory', 'rw+');
- fwrite($feedHandle, $feed);
- rewind($feedHandle);
- $request = new MarketplaceWebService_Model_SubmitFeedRequest();
- $request->setMerchant(MERCHANT_ID);
- $request->setMarketplaceIdList(array('Id'=>array(MARKETPLACE_ID)));
- $request->setFeedType('_POST_ORDER_FULFILLMENT_DATA_');
- $request->setContentMd5(base64_encode(md5(stream_get_contents($feedHandle), true)));
- rewind($feedHandle);
- $request->setPurgeAndReplace(false);
- $request->setFeedContent($feedHandle);
- rewind($feedHandle);
- /********* End Comment Block *********/
- invokeSubmitFeed($service, $request);
- @fclose($feedHandle);
- /**
- * Submit Feed Action Sample
- * Uploads a file for processing together with the necessary
- * metadata to process the file, such as which type of feed it is.
- * PurgeAndReplace if true means that your existing e.g. inventory is
- * wiped out and replace with the contents of this feed - use with
- * caution (the default is false).
- *
- * @param MarketplaceWebService_Interface $service instance of MarketplaceWebService_Interface
- * @param mixed $request MarketplaceWebService_Model_SubmitFeed or array of parameters
- */
- function invokeSubmitFeed(MarketplaceWebService_Interface $service, $request)
- {
- try {
- $response = $service->submitFeed($request);
- echo ("Service Response\n");
- echo ("=============================================================================\n");
- echo(" SubmitFeedResponse\n");
- if ($response->isSetSubmitFeedResult()) {
- echo(" SubmitFeedResult\n");
- $submitFeedResult = $response->getSubmitFeedResult();
- if ($submitFeedResult->isSetFeedSubmissionInfo()) {
- echo(" FeedSubmissionInfo\n");
- $feedSubmissionInfo = $submitFeedResult->getFeedSubmissionInfo();
- if ($feedSubmissionInfo->isSetFeedSubmissionId())
- {
- echo(" FeedSubmissionId\n");
- echo(" " . $feedSubmissionInfo->getFeedSubmissionId() . "\n");
- }
- if ($feedSubmissionInfo->isSetFeedType())
- {
- echo(" FeedType\n");
- echo(" " . $feedSubmissionInfo->getFeedType() . "\n");
- }
- if ($feedSubmissionInfo->isSetSubmittedDate())
- {
- echo(" SubmittedDate\n");
- echo(" " . $feedSubmissionInfo->getSubmittedDate()->format(DATE_FORMAT) . "\n");
- }
- if ($feedSubmissionInfo->isSetFeedProcessingStatus())
- {
- echo(" FeedProcessingStatus\n");
- echo(" " . $feedSubmissionInfo->getFeedProcessingStatus() . "\n");
- }
- if ($feedSubmissionInfo->isSetStartedProcessingDate())
- {
- echo(" StartedProcessingDate\n");
- echo(" " . $feedSubmissionInfo->getStartedProcessingDate()->format(DATE_FORMAT) . "\n");
- }
- if ($feedSubmissionInfo->isSetCompletedProcessingDate())
- {
- echo(" CompletedProcessingDate\n");
- echo(" " . $feedSubmissionInfo->getCompletedProcessingDate()->format(DATE_FORMAT) . "\n");
- }
- }
- }
- if ($response->isSetResponseMetadata()) {
- echo(" ResponseMetadata\n");
- $responseMetadata = $response->getResponseMetadata();
- if ($responseMetadata->isSetRequestId())
- {
- echo(" RequestId\n");
- echo(" " . $responseMetadata->getRequestId() . "\n");
- }
- }
- } catch (MarketplaceWebService_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");
- }
- }
Add Comment
Please, Sign In to add comment