# 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.