- What is thewirecutter/paapi5-php-sdk and what does it do?
- It is a generated PHP SDK for Amazon's Product Advertising API 5.0 that handles SigV4 request signing, marketplace endpoint selection, and typed request/response models for SearchItems, GetItems, and GetBrowseNodes. It is not a Laravel package and ships no service provider, facade, or config publishing. In Laravel you wrap it in a small adapter behind your own interface.
- How do I install thewirecutter/paapi5-php-sdk in a Laravel app?
- Install it with composer require thewirecutter/paapi5-php-sdk. Put credentials in Laravel's encrypted environment/config, for example config/services.php, and never commit them. Create a small PaapiClient wrapper and bind it to an interface in a service provider, since the package provides no container bindings of its own.
- Does this package work with Laravel 9, 10, and 11?
- The SDK is framework-agnostic, PSR-4 autoloaded, and Guzzle-based, so it runs on PHP 8.1-8.3 with Composer 2 in Laravel 9 and later. There are no Laravel version constraints to satisfy, but you must supply config, logging, and retry behavior yourself. Validate it against your pinned runtime before adopting.
- Do I need an Amazon Associates account to use PA-API 5.0?
- Yes, you need an active Amazon Associates account with qualifying sales to use PA-API 5.0, and access is revoked after three consecutive qualifying-sale months of zero. This is a program dependency rather than a code dependency, so confirm eligibility and approved access before committing to a sprint.
- Which Amazon Product Advertising API operations does the SDK support?
- The generated client covers SearchItems, GetItems, and GetBrowseNodes with typed request and response models. GetItems works in 10-ASIN batches, while SearchItems drives materially different request volume and caching design. Decide which operations you actually need before sizing the integration.
- How should I configure credentials and marketplace endpoints?
- Store credentials using Laravel's encrypted env/config and support key rotation without redeploying. The SDK accepts a region or host per request, so make your adapter take a marketplace context instead of hardcoding webservices.amazon.com. Decide whether you launch single-marketplace or multi-region before building the adapter.
- Can I test the SDK without live Amazon API calls?
- Yes. Write contract tests against recorded fixtures rather than live API calls, and keep the SDK behind one adapter so controllers, jobs, and Blade never touch it directly. Run one authenticated GetItems spike in staging against a real ASIN to prove signing and credentials.
- Is this the official Amazon SDK or a fork, and is it maintained?
- It is a Wirecutter fork, not the canonical Amazon SDK, and the repository URL is unlisted, so commit history, issue backlog, and divergence from upstream cannot be verified from the package metadata alone. About 69 stars suggests a small maintainer pool and a bus factor of roughly one team. Confirm the release tag actually matches the claimed date and review the fork's delta before adoption.
- What are the caching, price freshness, and attribution rules for PA-API 5.0?
- Caching, price freshness (typically 24 hours), and attribution are contractual requirements under the Amazon Associates Operating Agreement. Treat the permitted cache TTL and attribution design as policy decisions, not just engineering choices. Centralize them in the adapter so compliance is enforced in one place.
- What are alternatives to thewirecutter/paapi5-php-sdk?
- Alternatives include the official Amazon SDK, a hand-rolled Guzzle client with SigV4 signing, or another PA-API 5 wrapper. Define a ProductCatalogService interface first so the SDK is replaceable, and keep contract tests against fixtures. If you switch later, only the adapter implementation changes.