Однако мне неясно, как вы продолжаете использовать это SDK, чтобы проверить статус и убедиться, что то, что я загрузил, было успешным и т. д.
Примечание. Если кто-нибудь знает, как загрузить биржевые данные без использования SDK и более простых способов, буду рад попробуйте что угодно!
*JSON Полезная нагрузка, которую я отправляю, была предложена мне кем-то другим. Неясно, нужно ли мне отправлять такие части, как атрибуты и ProductType. Я подозреваю, что как только я смогу проверить статус того, что я загрузил, возможно, он подскажет мне, что я упускаю или ошибаюсь и т. д.
Код: Выделить всё
use SellingPartnerApi\SellingPartnerApi;
use SellingPartnerApi\Enums\Endpoint;
use SellingPartnerApi\Seller\FeedsV20210630\Dto\CreateFeedDocumentSpecification;
use SellingPartnerApi\Seller\FeedsV20210630\Dto\CreateFeedSpecification;
use SellingPartnerApi\Seller\FeedsV20210630\Responses\CreateFeedDocumentResponse;
public function send_stock_to_amazon( $data ) {
$connector = SellingPartnerApi::seller(
clientId: defined('LWA_CLIENT_ID') ? LWA_CLIENT_ID : '',
clientSecret: defined('LWA_CLIENT_SECRET') ? LWA_CLIENT_SECRET : '',
refreshToken: defined('LWA_REFRESH_TOKEN') ? LWA_REFRESH_TOKEN : '',
endpoint: Endpoint::EU, // Or Endpoint::EU, Endpoint::FE, Endpoint::NA_SANDBOX, etc.
);
$feedType = 'JSON_LISTINGS_FEED';
$feedsApi = $connector->feedsV20210630();
// Create feed document
$contentType = CreateFeedDocumentResponse::getContentType($feedType);
$createFeedDoc = new CreateFeedDocumentSpecification($contentType);
$createDocumentResponse = $feedsApi->createFeedDocument($createFeedDoc);
$feedDocument = $createDocumentResponse->dto();
$feedContents = json_encode([
"header" => [
"sellerId" => "XXXXXXXXXX",
"version" => "2.0",
"issueLocale" => "en_US"
],
"messages" => [
[
"messageId" => 1,
"sku" => "592932GE",
"operationType" => "PARTIAL_UPDATE",
"productType" => "BATTERY",
"attributes" => [
"fulfillment_availability" => [
[
"fulfillment_channel_code" => "DEFAULT",
"quantity" => 2,
"lead_time_to_ship_max_days" => "5"
]
]
]
]
]
], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
try {
$feedDocument->upload($feedType, $feedContents);
}
catch (\Exception $e) {
echo "Error: " . $e->getResponse()->getBody()->getContents();
}
// Check if the feed document has been processed.
$createFeedSpecification = new CreateFeedSpecification(
marketplaceIds: ['XXXXXXXXX'],
inputFeedDocumentId: $feedDocument->feedDocumentId,
feedType: $feedType,
);
// TODO - Check feed status.
}
фидДокументИд: "amzn1.tortuga.4.eu.b546cc55-b6d1-459d-8469-05e6fdefea9a.T35xxxxx"
url: "https://tortuga-prod-eu.s3-eu-west-1.am ... .eu.T351S9........ ."
*Я отредактировал некоторые части выше с помощью xxxx в целях безопасности.
Подробнее здесь: https://stackoverflow.com/questions/792 ... partner-ap