haringsrob/icecat
A Laravel wrapper around the Icecat product content API. Retrieve detailed product specifications, descriptions, images, and related data for brands and products, making it easy to enrich your catalog with Icecat's open content.
Architecture fit
haringsrob/icecat is a thin, stateless HTTP client wrapper around the Icecat product content API rather than a Laravel-native package — no service provider, facade, config publish, or Eloquent coupling. That is actually favourable architecturally: it slots cleanly into a ports-and-adapters model as a third-party infrastructure adapter behind a ProductEnrichmentProvider interface we own.Integration feasibility
.env, wrap in a service) but medium-effort to make production-grade. Realistic spike: 1–2 days to prove a lookup end-to-end; 2–4 weeks to reach a hardened, cached, queued enrichment pipeline.Technical risk
Key questions
Stack fit
ext-curl (or a Guzzle transitive). No conflict surface with the framework.IcecatClient adapter we own that composes the vendor class, exposes typed methods (lookupByGtin(string $gtin, string $locale): ?ProductContent), and returns our own DTOs. Nothing outside that adapter should reference the vendor namespace.Migration path
product_content persistence table (GTIN, locale, payload hash, fetched_at, source_tier) so the raw response is replayable without re-fetching.Compatibility
composer why-not before committing.Accept: application/json or a ?format= parameter. The package's handling of this must be verified against the live API, not the README.Sequencing
Maintenance
Support
Scaling
unique GTINs × locales, not as page views.Failure modes
memory_limit on workers.live.Ramp-up
How can I help you explore Laravel packages today?