X-CommunityId
L'header che indica in quale community avviene ogni chiamata e in quale viene verificato il tuo ruolo. Perché nessuna rotta porta la community nel percorso, dove trovare l'id della community e gli errori di chi lo dimentica.
Memberfy è organizzata per community, e lo è anche l'API: quasi ogni chiamata richiede l'header X-CommunityId con l'id della community.
X-CommunityId: 3562c7a0-0000-0000-0000-000000000000
Che cosa decide
- Dove avviene l'operazione: in quale community viene creato lo spazio, elencato il prodotto, richiesto il prelievo.
- Quale ruolo hai: il permesso viene verificato sul tuo profilo in quella community. Lo stesso account può essere proprietario di una community e membro di un'altra; l'header sceglie quale vale.
Conta l'header, non il percorso
Nessuna rotta porta la community nel percorso. Prodotti, coupon, piani, commissioni, estratto conto, prelievi, report, informazioni aziendali, dati di accredito e la gestione degli abbonamenti stanno in percorsi senza l'id della community (/api/products, /api/coupons, /api/manage/subscriptions…), e la community arriva solo dall'X-CommunityId. Senza l'header, queste rotte rispondono 400.
Non è un dettaglio: con un'unica fonte per la community, non c'è modo di agire in un'altra cambiando un id nell'URL.
L'eccezione è il SuperAdmin che agisce su un'altra community, in /api/admin/communities/{communityId}/fee-overrides/...: lì l'id nel percorso è la community di destinazione, non il contesto di chi chiama. Le rotte della community stessa, PUT e DELETE /api/communities/{id}, GET /api/communities/{id}/members e PATCH /api/communities/{id}/settings, portano l'id perché la community è la risorsa stessa; anche lì l'header resta obbligatorio.
Cambiato il 6 ottobre 2026. I vecchi percorsi
/api/communities/{communityId}/...(prodotti, coupon, piani, commissioni, estratto conto, prelievi, report, abbonamenti, acquisti, checkout, informazioni aziendali, dati di accredito) sono stati rimossi, senza periodo di transizione, e rispondono404. Usa lo stesso percorso senza il prefisso, in/api/...; la gestione degli abbonamenti da parte del team è in/api/manage/subscriptions, e le statistiche delle e-mail in/api/emails/stats. I nomi dei metodi dell'SDK non sono cambiati. Vedi I percorsi cambiati.
Alcune rotte più vecchie chiedono communityId anche nel corpo (creare un corso, invitare membri). Invia lo stesso id dell'header.
I percorsi cambiati
Il 6 ottobre 2026 ogni percorso qui sotto ha perso il prefisso /api/communities/{communityId}. Metodi HTTP, parametri, corpi, risposte e ruoli richiesti restano gli stessi.
| Prima | Dopo |
|---|---|
/api/communities/{communityId}/products/... | /api/products/... |
/api/communities/{communityId}/coupons/... | /api/coupons/... |
/api/communities/{communityId}/subscription-groups/... (compresi reorder e downsell-offers) | /api/subscription-groups/... |
/api/communities/{communityId}/fees e .../fees/simulate | /api/fees e /api/fees/simulate |
/api/communities/{communityId}/ledger/... | /api/ledger/... |
/api/communities/{communityId}/payouts/... | /api/payouts/... |
/api/communities/{communityId}/reports/... | /api/reports/... |
/api/communities/{communityId}/business-information/... | /api/business-information/... |
/api/communities/{communityId}/payout-settings/... | /api/payout-settings/... |
/api/communities/{communityId}/subscriptions (la gestione da parte del team: elencare, esportare, creare, dettaglio, annullare, riattivare, sconto, componenti aggiuntivi, estendere, link di pagamento) | /api/manage/subscriptions/... |
/api/communities/{communityId}/subscriptions/me | /api/subscriptions/me |
/api/communities/{communityId}/purchases/me | /api/purchases/me |
/api/communities/{communityId}/checkout/... | /api/checkout/..., che esisteva già con gli stessi percorsi |
/webhooks/email/stats/{communityId} | /api/emails/stats (proprietario o admin) |
I nomi dei metodi dell'SDK e le pagine del riferimento restano gli stessi, perché ogni rotta ha mantenuto l'operationId: /api/products è ancora api.products.postCommunitiesByCommunityIdProducts. Sono uscite solo le nove operazioni del checkout annidato; usa quelle di /api/checkout/*.
Dove trovare l'id della community
| Chiamata | Che cosa restituisce |
|---|---|
GET /api/communities/my | Le community del tuo account, con l'id e il tuo ruolo in ciascuna |
GET /api/profiles/my | I tuoi profili, uno per community |
curl -s https://api.memberfy.net/api/communities/my \
-H "Authorization: Bearer $TOKEN"
Gli errori di chi lo dimentica
| Situazione | Risposta |
|---|---|
| Senza l'header, o con un valore che non è un id valido | 400 · Indica la community nell'header X-CommunityId., con errors[0].param = "X-CommunityId" |
| L'header è di una community di cui non fai parte | 403 · Você não é membro desta comunidade. |
Un percorso vecchio, con /communities/{communityId}/ | 404 |
| La risorsa appartiene a un'altra community | 404: per la community dell'header, non esiste |
Il 400 per header mancante è la causa numero uno di errore nell'API.
Esempio
curl -s https://api.memberfy.net/api/products \
-H "Authorization: Bearer $TOKEN" \
-H "X-CommunityId: $COMMUNITY_ID"
Nell'SDK
api.setCommunity('<uuid>') una volta, e l'SDK invia l'header in tutte le chiamate. Per cambiare community, chiama di nuovo setCommunity. Vedi SDK JavaScript.
Domande frequenti
Un'integrazione può servire due community? Sì, con un account che abbia un ruolo in entrambe: cambia l'header a ogni chiamata.
Le rotte di autenticazione richiedono l'header?
No: login, registrazione e GET /api/auth/me funzionano senza.