안녕하세요 제가 주문 API를 사용하여 내 주문에 사용할 수있는 모든 순서를 나열했습니다 아마존 MWS에서 주문 상태를 업데이트 한 후 오류 "주문이 성취 될 수 없다", 는 지금은 피드를 사용하여을 발송 로 주문 상태를 업데이트하고 싶었다 API, In amazon Scratchpad Feed API를 사용하여 제품 상태를 업데이트하고 성공적으로 제출 한 다음 Feed-ID를 사용하여 제출 된 피드의 상태를 확인했는데 상태에는 오류가 없지만 이것을 부르는 경고.가
주문을 이행 할 수 없습니다. 자세한 내용은 판매자 지원부에 문의하십시오
배송 상태는 주문 상태와 다를 수 있습니다.
이 나는 상태와 공급 유형 _POST_ORDER_FULFILLMENT_DATA_ 인을 업데이트 사용하고 피드입니다 그리고 난 난 그냥 임의의 숫자를했다 그래서 아래에 제공해야하는지 잘 모릅니다, 나는이 MerchantFulfillmentID 있지만 사용하지 않고 시도, 이 문제를 해결할 수 있도록 도와주세요. 감사합니다.
<?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
*/
/**
* Submit Feed Sample
*/
include_once ('.config.inc.php');
// India
$serviceUrl = "https://mws.amazonservices.in";
$config = array (
'ServiceURL' => $serviceUrl,
'ProxyHost' => null,
'ProxyPort' => -1,
'MaxErrorRetry' => 3,
);
$service = new MarketplaceWebService_Client(
AWS_ACCESS_KEY_ID,
AWS_SECRET_ACCESS_KEY,
$config,
APPLICATION_NAME,
APPLICATION_VERSION);
$ship_date = date("c");
$feed = <<<EOD
<?xml version="1.0"?>
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
<Header>
<DocumentVersion>1.01</DocumentVersion>
<MerchantIdentifier>***********</MerchantIdentifier>
</Header>
<MessageType>OrderFulfillment</MessageType>
<Message>
<MessageID>1</MessageID>
<OrderFulfillment>
<AmazonOrderID>111-1111111-1111111</AmazonOrderID>
<FulfillmentDate>$ship_date</FulfillmentDate>
<FulfillmentData>
<CarrierName>Contact Us for Details</CarrierName>
<ShippingMethod>Standard</ShippingMethod>
</FulfillmentData>
<Item>
<AmazonOrderItemCode>70359459457611</AmazonOrderItemCode>
<Quantity>1</Quantity>
</Item>
</OrderFulfillment>
</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('************'));
// 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' => $marketplaceIdArray,
'FeedType' => '_POST_ORDER_FULFILLMENT_DATA_',
'FeedContent' => $feedHandle,
'PurgeAndReplace' => false,
'ContentMd5' => base64_encode(md5(stream_get_contents($feedHandle), true)),
'MWSAuthToken' => '<MWS Auth Token>', // Optional
);
rewind($feedHandle);
$request = new MarketplaceWebService_Model_SubmitFeedRequest($parameters);
/********* End Comment Block *********/
invokeSubmitFeed($service, $request);
//@fclose($feedHandle);
*
* @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");
}
}
echo(" ResponseHeaderMetadata: " . $response->getResponseHeaderMetadata() . "\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");
echo("ResponseHeaderMetadata: " . $ex->getResponseHeaderMetadata() . "\n");
}
}
위의 코드를 수정했습니다. 이것은 내 제출 피드 API에 포함 된 내용입니다.
실제 주문 하시겠습니까? 그렇다면 판매자 지원팀에 문의하십시오. 그러면 판매자 지원 담당자가 더 빨리 귀하를 도울 수 있습니다. – cartalot
예는 실제 주문입니다. –
하지만이 항목을 API가 아닌 수동으로 배송하고 싶습니다. –