Composer-ready packaging of Amazon's official Creators API PHP SDK.
Amazon distributes the SDK as a zip download from Associates Central and does not publish it to Packagist. This repository packages that SDK so it can be installed with Composer under tims/amazon-creatorsapi-php-sdk.
The PHP namespace remains Amazon's upstream Amazon\CreatorsAPI\v1\.
- PHP 8.1+
- Guzzle 7.3+
- Amazon Associates Creators API credentials (Credential ID, Credential Secret, Version)
composer require tims/amazon-creatorsapi-php-sdk<?php
use Amazon\CreatorsAPI\v1\Configuration;
use Amazon\CreatorsAPI\v1\com\amazon\creators\api\DefaultApi;
use Amazon\CreatorsAPI\v1\com\amazon\creators\model\GetItemsRequestContent;
use Amazon\CreatorsAPI\v1\com\amazon\creators\model\GetItemsResource;
$config = new Configuration();
$config->setCredentialId('<YOUR CREDENTIAL ID>');
$config->setCredentialSecret('<YOUR CREDENTIAL SECRET>');
$config->setVersion('<YOUR CREDENTIAL VERSION>');
$api = new DefaultApi(null, $config);
$request = new GetItemsRequestContent();
$request->setPartnerTag('<YOUR PARTNER TAG>');
$request->setItemIds(['B0XXXX']);
$request->setResources([
GetItemsResource::ITEM_INFO_TITLE,
GetItemsResource::IMAGES_PRIMARY_MEDIUM,
]);
$response = $api->getItems('www.amazon.com', $request);After composer install, run examples from examples/:
cd examples
php SampleGetItems.php
php SampleSearchItems.phpReplace placeholders in the sample files first:
<YOUR CREDENTIAL ID><YOUR CREDENTIAL SECRET><YOUR CREDENTIAL VERSION>(e.g.2.1/3.1for NA)<YOUR MARKETPLACE>(e.g.www.amazon.com)<YOUR PARTNER TAG>
DefaultApi creates an in-memory OAuth2TokenManager by default. Subclasses can override createTokenManager() to plug in persistent caching (for example Laravel Cache) without forking the rest of the SDK:
class CachedDefaultApi extends DefaultApi
{
protected function createTokenManager(OAuth2Config $oauthConfig): OAuth2TokenManager
{
return new MyCachedTokenManager($oauthConfig);
}
}getOrCreateTokenManager() and buildAuthenticatedHeaders() are protected so subclasses can extend auth behavior when needed.
For Laravel integration, see tims/laravel-paapi.
Apache License 2.0 — see LICENSE.txt and NOTICE.txt (Amazon Creators API SDK).