2017-09-08 12 views
11

Tôi đã tạo ra các loại repricer của riêng mình nhưng giá không được cập nhật trên mặt Amazon.XML đã gửi tốt cho Amazon MWS nhưng giá không được cập nhật

Mã của tôi có vẻ hoạt động tốt dựa trên phản hồi từ Amazon sau khi gửi. Tôi hy vọng một người nào đó ở đây biết thêm về lý do tại sao nó không thực sự cập nhật giá cả.

Đây là XML nộp:

<?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>MERCHANTID</MerchantIdentifier> 
    </Header> 
    <MessageType>Price</MessageType> 
    <Message> 
     <MessageID>1</MessageID> 
     <Price> 
      <SKU>mysku</SKU> 
      <StandardPrice currency="USD">350.50</StandardPrice> 
     </Price> 
    </Message> 
</AmazonEnvelope> 

Heres phản ứng:

GetFeedSubmissionResultResponse{}(ResponseMetadata: <Element_?/ResponseMetadata_0x7fee61f74248>, GetFeedSubmissionResultResult: <Element_?/GetFeedSubmissionResultResult_0x7fee61f74248>, AmazonEnvelope: 
{'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance', 'xsi:noNamespaceSchemaLocation': 'amzn-envelope.xsd'}, DocumentVersion: '1.02', MerchantIdentifier: 'M_EXAMPLE_1234', Header: '\n\t', MessageType: 'ProcessingReport', MessageID: '1', DocumentTransactionID: '4200000000', StatusCode: 'Complete', MessagesProcessed: '1', MessagesSuccessful: '1', MessagesWithError: '0', MessagesWithWarning: '0', ProcessingSummary: '\n\t\t\t', ProcessingReport: '\n\t\t', Message: '\n\t') 

Tôi không biết nếu thể hiện mã của tôi sẽ giúp đỡ trong trường hợp này kể từ khi tôi nhận được một phản ứng thành công từ Amazon. Dưới đây là phân biệt:

... 

# Provide credentials. 
conn = MWSConnection(
    aws_access_key_id=AWS_ACCESS_KEY_ID, 
    aws_secret_access_key=AWS_SECRET_ACCESS_KEY, 
    Merchant=AMZ_SELLER_ID 
) 

# Get the service resource 
sqs = boto3.resource('sqs') 

# Get the queue 
queue = sqs.get_queue_by_name(QueueName=SQS_QUEUE_NAME) 

for index, message in enumerate(queue.receive_messages(MaxNumberOfMessages=10)): 

    ... 

    import time 
    from jinja2 import Environment, PackageLoader 

    env = Environment(loader=PackageLoader('repricer', 'xml_templates'), trim_blocks=True, lstrip_blocks=True) 
    template = env.get_template('_POST_PRODUCT_PRICING_DATA_.xml') 

    class Message(object): 
     def __init__(self, s, price): 
      self.SKU = s 
      self.PRICE = round(price, 2) 
      self.CURRENCY = USD_CURRENCY 

    feed_messages = [ 
     Message(sku.sku, new_price), 
    ] 

    namespace = dict(MerchantId=AMZ_SELLER_ID, FeedMessages=feed_messages) 
    feed_content = template.render(namespace).encode('utf-8') 

    print(feed_content) 

    feed = conn.submit_feed(
     FeedType='_POST_PRODUCT_PRICING_DATA_', 
     PurgeAndReplace=False, 
     MarketplaceIdList=[MARKETPLACE_ID], 
     content_type='text/xml', 
     FeedContent=feed_content 
    ) 

    feed_info = feed.SubmitFeedResult.FeedSubmissionInfo 
    print('Submitted product feed: ' + str(feed_info)) 

    while True: 
     submission_list = conn.get_feed_submission_list(
      FeedSubmissionIdList=[feed_info.FeedSubmissionId] 
     ) 
     info = submission_list.GetFeedSubmissionListResult.FeedSubmissionInfo[0] 
     submission_id = info.FeedSubmissionId 
     status = info.FeedProcessingStatus 
     print('Submission Id: {}. Current status: {}'.format(submission_id, status)) 

     if status in ('_SUBMITTED_', '_IN_PROGRESS_', '_UNCONFIRMED_'): 
      print('Sleeping and check again....') 
      time.sleep(60) 
     elif status == '_DONE_': 
      feedResult = conn.get_feed_submission_result(FeedSubmissionId=submission_id) 
      print(feedResult) 
      break 
     else: 
      print("Submission processing error. Quit.") 
      break 

Trả lời

0

Tôi đã kết thúc liên hệ với bộ phận hỗ trợ của Amazon api và họ phát hiện ra rằng phải mất tối đa 15 phút để thay đổi giá. Ngoài ra tôi đã có một kịch bản khác tải lên các sản phẩm mới và cập nhật giá hàng tồn kho & cho các sản phẩm hiện có ... tập lệnh này đang cạnh tranh với kịch bản lệnh repricing của tôi.

Tôi đã giải quyết vấn đề bằng cách thay đổi cách tập lệnh thứ hai cập nhật giá cho các sản phẩm hiện có.

+0

vui lòng đóng câu hỏi này –

0

Tôi không biết Python nhưng XML của bạn trông ok, đây là mã PHP của tôi mà tôi sử dụng để làm thay đổi giá trong vòng 5 năm trở lại đây và nó hoạt động tốt. Tôi không biết nếu điều này giúp bạn vì nó là PHP.

$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>$merchant_token</MerchantIdentifier> 
</Header> 
<MessageType>Price</MessageType> 
<Message> 
    <MessageID>1</MessageID> 
    <Price> 
    <SKU>$sku</SKU> 
    <StandardPrice currency="$currency">$new_price</StandardPrice> 
    </Price> 
</Message> 
</AmazonEnvelope> 
EOD; 
    $feed = trim($feed); 

    $feedHandle = @fopen('php://temp', 'rw+'); 
    fwrite($feedHandle, $feed); 
    rewind($feedHandle); 
    $parameters = array(
     'Merchant' => $MERCHANT_ID, 
     'MarketplaceIdList' => $marketplaceIdArray, 
     'FeedType' => '_POST_PRODUCT_PRICING_DATA_', 
     'FeedContent' => $feedHandle, 
     'PurgeAndReplace' => false, //Leave this PurgeAndReplace to false so that it want replace whole product in amazon inventory 
     'ContentMd5' => base64_encode(md5(stream_get_contents($feedHandle), true)) 
    ); 
    rewind($feedHandle); 

    $request = new MarketplaceWebService_Model_SubmitFeedRequest($parameters); 
    $return_feed = invokeSubmitFeed($service, $request, $price_change_info_log); 

    fclose($feedHandle); 
4

Có một vài lý do có thể, được liệt kê khoảng theo thứ tự khả năng:

1. Amazon là chậm hơn để cập nhật giá trị hơn những gì họ nói họ đang có. Có thể là mặc dù nguồn cấp dữ liệu thành công, vẫn còn một khoảng thời gian trước khi thay đổi đó phản ánh trên Amazon (thậm chí thay đổi giá trị từ SellerCentral đi kèm với một thông báo rằng nó không phải là ngay lập tức).
Đợi vài phút và xem thay đổi có xuất hiện không.


2. Bạn có thể có một dịch vụ định giá thay thế vẫn còn hoạt động. Nếu bạn hiện đang sử dụng một repricer khác cho SKU này, nó có thể đang cạnh tranh với những nỗ lực của bạn và hoàn nguyên giá dựa trên ruleset của chính nó.
Có thể sử dụng cuộc gọi GetFeedSubmissionList để xem liệu nguồn cấp dữ liệu _POST_PRODUCT_PRICING_DATA_ khác đã được gửi sau của bạn hay chưa (mặc dù không có cách nào để xem nội dung đã gửi).


3. Có thể có một cuộc xung đột với phútmax giá trên SKU (cho dù bạn cài đặt chúng hay không), và mức giá mà bạn đã cố gắng để thiết lập nằm ngoài phép phạm vi. Đây là kết quả của một trong những chính sách của Amazon yêu cầu SKU mới và được cập nhật để có các thiết lập đó hoặc sử dụng các tiêu chí mặc định.

Trong nỗ lực không ngừng của chúng tôi để giảm rủi ro về lỗi giá cho người bán và để tránh trải nghiệm khách hàng tiêu cực, bắt đầu từ ngày 14 tháng 1 năm 2015, bạn sẽ không thể sử dụng tùy chọn Trung tâm người bán của mình để chọn chăn ra khỏi tất cả các quy tắc lỗi giá thấp và giá cao tiềm năng. Thay vào đó, bạn sẽ cần đặt giá bán tối thiểu cho phép cho mỗi sản phẩm trong khoảng không quảng cáo của mình nếu bạn không muốn quy tắc lỗi giá tiềm năng mặc định của Amazon áp dụng cho sản phẩm đó.

tôi không thể tìm thấy một trang thông báo về vấn đề này để nó có thể là một thư điện tử, nhưng nó được trích dẫn như vậy trên forums

Trong những trường hợp thức ăn sẽ báo cáo lại thành công (vì tham chiếu/định dạng của nó là chính xác), nhưng thay đổi giá sẽ âm thầm không thành công do giới hạn phạm vi giá được đặt.
Bạn có thể xác minh xem đây có phải là vấn đề của bạn hay không bằng cách xem SKU trong trang Quản lý người bán của SellerCentral. Bạn có thể phải bật các cột tối thiểu/tối đa để xem các giá trị hiện tại tùy thuộc vào tùy chọn của bạn được đặt cho trang đó.

Thật không may, không có cách nào để kéo min/giá tối đa vào các mặt hàng tồn kho để biết nếu điều này sẽ là một vấn đề trước thời hạn:

thân mến của người bán,

Tôi Sharon từ Amazon bán Hỗ trợ và tôi sẽ hỗ trợ bạn với mối quan tâm của bạn ngay hôm nay.
Từ nội dung email của bạn, tôi hiểu rằng bạn lo lắng nếu có bất kỳ báo cáo nào bạn có thể tải xuống báo cáo cho 'Giá tối thiểu' và 'Giá tối đa'.
Tôi rất tiếc phải thông báo cho bạn rằng hiện tại các báo cáo có sẵn sẽ chỉ cung cấp thông tin cho 'standard_price' và 'list_price'.
Tôi hiểu rằng đây là một sự thất vọng đối với bạn nhưng vui lòng hiểu rằng tính năng này không bao gồm 'Giá tối thiểu' và 'Giá tối đa' trong báo cáo khoảng không quảng cáo chưa được bao gồm và tôi thành thật xin lỗi vì mọi sự bất tiện gây ra cho bạn về vấn đề này.

qua vé hỗ trợ cho đội MWS Amazon, Jul 03, 2016


4. Nó có thể là khả năng Amazon không cho phép thức ăn chăn nuôi để cập nhật giá trong một cuộc xúc tiến tích cực. Bạn sẽ có thể kiểm tra xem một mặt hàng có đang được bán hay không bằng cách xem trang Quản lý người bán trung tâm, trong đó cột "giá" sẽ có đường viền màu xanh lá cây.
Dường như không yêu cầu phần tử "StandardPrice" được cung cấp cùng với phần tử "Bán", nhưng công cụ "Tự động định giá" của Amazon liệt kê nó là một possible reason cho công cụ không thành công.


5. Bạn đang áp dụng bản cập nhật giá trên thị trường sai.
Nếu id được cung cấp cho cuộc gọi dưới MarketplaceIdList=[MARKETPLACE_ID], là cho một thị trường khác với thị trường bạn đang kiểm tra, bạn sẽ không thấy thay đổi giá.
Amazon không gửi yêu cầu gửi nguồn cấp dữ liệu nếu bạn gửi tới một thị trường mà bạn không có quyền truy cập vào, vì vậy đây có thể không phải là vấn đề nếu bạn chỉ có một thị trường.


6. Bạn đang tìm kiếm mức giá mới ở vị trí sai.
Nếu bạn đang xem trang SellerCentral Manage Inventory, hãy đảm bảo bạn đang xem cột "Giá" chứ không phải cột "Giá thấp nhất".
Nếu bạn đang xem trang chi tiết hoặc sản phẩm của sản phẩm (trên mặt tiền cửa hàng của Amazon), hãy đảm bảo bạn đang xem phiếu mua hàng của mình.Bạn có thể không phải là phiếu mua hàng chính được hiển thị trên trang chi tiết hoặc ưu đãi hàng đầu được hiển thị trên trang danh sách phiếu mua hàng.
Và tất nhiên, hãy đảm bảo bạn có SKU/ASIN phù hợp.


7. Đây là một thức ăn khác nhau, nhưng một user has reported rằng Amazon chỉ không cập nhật thông tin đôi khi, yêu cầu thức ăn chăn nuôi để được gửi lại.


Có một thức ăn thay thế, bạn có thể thử sử dụng để cập nhật thông tin về giá _POST_FLAT_FILE_INVLOADER_DATA_, nhưng nó là một loại tập tin phẳng (phân định tab) để lược đồ XML của bạn sẽ không được chuyển qua. Có lẽ chỉ đáng thử nếu bạn cho rằng vấn đề có liên quan đến nguồn cấp dữ liệu cụ thể mà bạn đang sử dụng.

Các vấn đề liên quan