首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我不能在亚马逊销售api创建订阅源

我不能在亚马逊销售api创建订阅源
EN

Stack Overflow用户
提问于 2021-09-11 13:02:52
回答 1查看 648关注 0票数 0

我想使用亚马逊销售合作伙伴应用编程接口更改产品的形象,但在createFeed阶段遇到错误!

关于开发环境

Laravel Framework 8.49.1 pkg jlevers/selling partner-api: 3.1

我是日本人,所以课文中可能有一些奇怪的英语。对不起。

我想使用sp api的create feed来更改我在Amazon上注册的产品的图像,但是在create feed阶段发生了一个错误。

但是,在创建摘要阶段会发生错误。create feed之前的create document没有生成错误,并返回200。

代码本身几乎全部取自jlevers/selling-partner-api,说明遵循官方github指南。我是日本人,所以课文中可能有一些奇怪的英语。

错误内容

代码语言:javascript
复制
[400] {"errors": [{"code": "InvalidInput","message": "Invalid request parameters","details": ""}]

除了这个api,我还使用了report api,它的工作没有任何特定的错误,所以我不认为这是一个错误,需要的参数,如客户端ID,但它没有在错误消息中明确说明哪些参数是错误的,我已经被困在这里两天了,我快疯了……

我试着用英文、日文和中文进行搜索,但出现类似错误的人并不多,github上的问题也没有解决这个问题,所以我找不到。

我想知道是否有人能告诉我这是什么。

代码

代码语言:javascript
复制
$config = new Configuration([
    "lwaClientId" => config('client_id'),
    "lwaClientSecret" => config('secret_id'),
    "lwaRefreshToken" => config('refresh_token'),
    "awsAccessKeyId" => config('aws_key'),
    "awsSecretAccessKey" => config('aws_secret'),
    "endpoint" => SellingPartnerApi\Endpoint::FE,
]);

$feedType = FeedType::POST_PRODUCT_IMAGE_DATA;
$feedsApi = new FeedsApi($config);

// Create feed document
\Log::debug("before create feed document");
$createFeedDocSpec = new Feeds\CreateFeedDocumentSpecification(['content_type' => $feedType['contentType']]);
$feedDocumentInfo = $feedsApi->createFeedDocument($createFeedDocSpec);
$feedDocumentId = $feedDocumentInfo->getFeedDocumentId();

$feedContents = <<<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>****</MerchantIdentifier>
    </Header>
    <MessageType>ProductImage</MessageType>
    <Message>
        <MessageID>1</MessageID>
        <OperationType>Update</OperationType>
        <ProductImage>
            <SKU>*********</SKU>
            <ImageType>Main</ImageType>
            <ImageLocation>http://***/***.jpg</ImageLocation>
        </ProductImage>
    </Message>
</AmazonEnvelope>
EOD;
$docToUpload = new SellingPartnerApi\Document($feedDocumentInfo, $feedType);
$docToUpload->upload($feedContents);

$body = new Feeds\CreateFeedSpecification([
    'feed_type' => $feedType["name"],
    "marketplace_ids" => ["A1VC38T7YXB528"],
    "input_feed_document_id" => $feedDocumentId,
]);

$apiInstance = new FeedsApi($config);
try {
    $result = $apiInstance->createFeed($body);
    print_r($result);
} catch (Exception $e) {
$res = "";
    \Log::debug('Exception when calling SellersApi->getMarketplaceParticipations: '. $e->getMessage());
}

抱歉,我情不自禁地发布了代码,所以我将其上传到了google drive。上面的链接指向google驱动器。

最后,我想知道我是否遗漏了任何信息来解决这个问题,以便我可以立即更正它。

链接jlevers/selling-partner-api Official Documents

EN

回答 1

Stack Overflow用户

发布于 2021-10-08 11:13:50

不确定您是否仍然遇到问题,但当卖家帐户处于非活动/停用状态时,这是常见的错误(尽管令人困惑),更新您的收费方法并等待48小时可能会起到作用。还可以致电Amazon销售商支持人员,以在销售商中心的案例日志中复查或创建案例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69143278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档