Files
iti-technology/prompts/12-api-medusa-client.md
Lorenzo SanesiandClaude Opus 5.5 b83ce039fb
Deploy stack su Proxmox / deploy (push) Failing after 3s
Piattaforma ITI TECHNOLOGY: monorepo, Medusa, API, sito, area riservata e deploy
Monorepo npm con apps/public (Angular SSR), apps/private (Angular SPA),
apps/api (Fastify), packages/shared e packages/styles; Medusa 2.21 in medusa/;
infrastruttura Docker (Postgres PostGIS+pgvector, Redis, Caddy, backup) e
workflow Gitea Actions per il deploy via SSH a ogni push su master.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018jQyT6dR9czzGwqb7FkG6u
2026-10-20 09:30:48 +02:00

20 lines
1.2 KiB
Markdown

# 12 — API: client Medusa e sincronizzazione account
Leggi `CLAUDE.md`.
## Obiettivo
Plugin `medusaClient` e collegamento tra utenti Fastify e customer Medusa.
## Cosa fare
- Plugin `medusa-client` con due client tipizzati: Store API (header publishable key) e route interne (header `x-internal-secret`). Timeout e gestione errori uniforme.
- Alla registrazione (prompt 11): dopo aver creato `users`, chiama `POST /internal/customers` e salva `medusa_customer_id`. Se Medusa non risponde, la registrazione **non fallisce**: l'utente viene creato e la sincronizzazione viene ritentata al primo login o operazione shop (funzione `ensureMedusaCustomer(user)`).
- Dopo la verifica email: chiama `POST /internal/orders/claim` per collegare gli ordini guest con la stessa email.
- Quando un installatore viene approvato (verrà usato nel prompt 20): funzione `syncInstallerGroup(user)`.
## Criteri di accettazione
- Registrando un utente si crea il customer in Medusa e l'id viene salvato.
- Con Medusa spento, la registrazione riesce e `ensureMedusaCustomer` recupera dopo.
- Un ordine guest fatto prima della registrazione compare collegato dopo la verifica email.
- Test con Medusa mockato.
- `CLAUDE.md` aggiornato.