jlevers / selling-partner-api

A PHP client library for Amazon's Selling Partner API
BSD 3-Clause "New" or "Revised" License
408 stars 198 forks source link

Class "PostContentDocumentRequest" not found #782

Closed TonyMarston closed 1 week ago

TonyMarston commented 2 months ago

Problem description:

Error:

Class "PostContentDocumentRequest" not found

Fatal Error: Uncaught exception from Error, message = Class "PostContentDocumentRequest" not found

Code

require_once('vendor/autoload.php');
use SellingPartnerApi\SellingPartnerApi;
use SellingPartnerApi\Enums\Endpoint;

$connector = SellingPartnerApi::seller(
    clientId: $client_id,
    clientSecret: $client_secret,
    refreshToken: $refresh_token,
    endpoint: Endpoint::{$endpoint}
);

$api = $connector->aPlusContentV20201101();

try {
    $result = $api->validateContentDocumentAsinRelations(
        marketplaceId: $marketplace_id,
        postContentDocumentRequest: new Dto\PostContentDocumentRequest(new Dto\ContentDocument($name,
                                                                                               $contentType,
                                                                                               $locale,
                                                                                               $contentModuleList,
                                                                                               $contentSubType)));
} catch (Exception $e) {
    echo 'Exception when calling aPlusContentV20201101->validateContentDocumentAsinRelations: ',
        $e->getMessage(),
        PHP_EOL;
};

The class exists is the Seller\APlusContentV20201101\Dto directory, so why is not found by the autoloader?

jlevers commented 1 week ago

You need to add a use statement:

use SellingPartnerApi\Seller\APlusContentV20201101\Dto;