Skip to content

Completion Report: Amazon Client Integration v1

Completed: 2026-05-08 (v1 prod rollout) · 2026-05-11 (PDEV-452 follow-up merge) Linear: PDEV-446 (technical sub-ticket of project umbrella PDEV-445)

The v1 capability that lets a future user-interaction surface create an Item directly from an Amazon URL or ASIN. The pieces delivered by this project:

  • BFF route /api/amazon/import in arda-frontend-app, wrapping Amazon’s Creators API via amazon-creators-api@1.2.2, returning the v1 DTO (name, image, price, unitCount, unit, upc, asin, productUrl) with proxy/adaptor null-pass-through semantics and HTTP 206 for sparse upstream responses.
  • Shared utilities in arda-frontend-app/src/lib/shared/amazon/: extractAsin, buildAffiliateUrl, v1 DTO types, MARKETPLACE constant.
  • Operations changeItemPrinter.signImageUrl passes Amazon-hosted (non-CDN) image URLs through unchanged at print time.
  • Infrastructure — the four AMAZON_* runtime credentials delivered to each of the four partitions (dev, stage, demo, prod) via the 1Password → AWS Secrets Manager → Amplify env-var pipeline. Includes the partitionSecrets CFN resource, amplify.cfn.yaml env-var entries (full-IaC partitions), and the amm.sh jq-merge injection for partial-IaC partitions. Plus an inline-BuildSpec drift check on every partition deploy and a one-time clear of stale inline build specs across all four Amplify apps.
  • Operator runbook at process/sre/runbooks/amazon-creators-api-onboarding.md covering Account Holder registration, Application creation, credential handover to devOps, per-partition vault provisioning, deploy choreography, and end-to-end verification.
StreamRepositoryPRMerged
BFFarda-frontend-app#8322026-05-08
Item-moduleoperations#1692026-05-08
Infrastructureinfrastructure#4512026-05-08
Operatordocumentation#75(this PR — wraps the project)
Infrastructure follow-up — PDEV-452infrastructure#4522026-05-11

Rolled out dev → stage → demo → prod on 2026-05-08. Dev / stage / demo were uneventful. Prod aborted at the inline-BuildSpec drift check because the aws amplify get-app call ran against the configured CLI region (us-east-1) while Alpha001:prod’s Amplify app lives in us-east-2 (historical anomaly). Worked around in-place by setting the four AMAZON_* env vars manually so the front-end deploy could proceed, then back-filled the proper fix as infrastructure#452 (PDEV-452) — amm.sh now resolves a per-partition amplify_region from AMPLIFY_REGION_OVERRIDES and passes --region explicitly on every internal aws amplify ... call.

Per-stream byproducts live in each stream’s byproducts/ subdirectory:

  • BFF — changelog, task-plan-post, learnings
  • Item-module — changelog, task-plan-post, learnings
  • Infrastructure — changelog, task-plan-post, learnings
  • Operator — changelog, task-plan-post, learnings
  • The user-facing surface that calls /api/amazon/import from the Arda UI. That capability is owned by a follow-up project on another team member’s scope (per goal.md).
  • Non-US Amazon marketplaces. v1 hard-codes MARKETPLACE = "www.amazon.com"; multi-marketplace support is out of scope.
  • A workflow / batch path. v1 is a single-ASIN BFF route; there is no queue, batch import, or background job.