incenteev / async-amazon-incentives
SDK for the Amazon Incentives API based on the structure of the async-aws project
Installs: 69 000
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 3
Open Issues: 0
Requires
- php: ^8.1
- ext-dom: *
- ext-simplexml: *
- async-aws/core: ^1.9
Requires (Dev)
- async-aws/code-generator: dev-master
- friendsofphp/php-cs-fixer: ^3.18
- phpstan/phpstan: ^1.10
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-phpunit: ^1.3
- phpunit/phpunit: ^10.2
README
This package provides an unofficial SDK for the Amazon Incentives API.
Installation
Use Composer to install the library:
$ composer require incenteev/async-amazon-incentives
Usage
use AsyncAws\Core\Configuration; use Incenteev\AsyncAmazonIncentives\AmazonIncentivesClient; use Incenteev\AsyncAmazonIncentives\Enum\CurrencyCode; use Incenteev\AsyncAmazonIncentives\Exception\SystemTemporarilyUnavailableException; use Incenteev\AsyncAmazonIncentives\Region; use Incenteev\AsyncAmazonIncentives\ValueObject\MoneyAmount; // Get your credentials in the Amazon Incentives portal $accessKey = ''; $secretKey = ''; $partnerId = ''; // Choose the region corresponding to your partnership, with either the sandbox or production one. $region = Region::EUROPE_AND_ASIA_SANDBOX; $client = new AmazonIncentivesClient([ Configuration::OPTION_ACCESS_KEY_ID => $accessKey, Configuration::OPTION_SECRET_ACCESS_KEY => $secretKey, Configuration::OPTION_REGION => $region, ]); try { $result = $client->createGiftCard([ 'partnerId' => $partnerId, 'creationRequestId' => '', // Create the proper request id 'value' => new MoneyAmount(['amount' => 10, 'currencyCode' => CurrencyCode::EUR]), ]); $code = $result->getGcClaimCode(); } catch (SystemTemporarilyUnavailableException $e) { // TODO handle temporary failures according to the Amazon Incentives best practices }
Note: due to the async nature of the project, the exception is not actually thrown by the call to
createGiftCard
but when the Result object gets resolved.
License
This package is under the MIT license.
Reporting an issue or a feature request
Issues and feature requests are tracked in the GitHub issue tracker.