Il profilo pubblico di un'associazione: grafica, tipi di tessera, statuto in vigore
const url = 'https://api.vimine.network/v1/aps/example';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.vimine.network/v1/aps/exampleDisponibile per le associazioni che hanno attivato il tesseramento pubblico o l’accesso via API. Lo statuto è pubblico per legge (RUNTS).
Parametri
Sezione intitolata “Parametri”Parametri di percorso
Sezione intitolata “Parametri di percorso”Slug dell’associazione per il tesseramento pubblico
Parametri di query
Sezione intitolata “Parametri di query”La lingua in cui leggere i testi dell’associazione (it, en); predefinita: Accept-Language, poi quella dell’associazione. locale nella risposta dice quale lingua è stata servita, locales quali offre l’associazione. Lo statuto è un documento legale: non viene mai tradotto
Risposte
Sezione intitolata “Risposte”Profilo pubblico
object
La lingua in cui è scritta questa risposta
Le lingue che l’associazione offre: la sua, più quelle che ha abilitato
object
Il sito web dell’associazione (http o https), o null se non ne ha indicato uno
Se una richiesta di tesseramento verrebbe accolta adesso: tesseramento attivo, posto nel piano per un socio in più, l’associazione pronta a raccogliere richieste e la sua porta pubblica aperta.
Vale true finché su Vimine ci si registra solo su invito (la beta privata) e questa associazione accoglie solo le persone che ha invitato: allora accepting_requests è false e POST /v1/enroll risponde 403 not_available.
Vale true per una sandbox: la copia di prova di un’associazione su cui lavorano i client di test, con soli soci sintetici. Non invia mai e-mail, non incassa pagamenti e non fa mai parte del circuito.
Come l’associazione ammette i soci, per dire subito a chi fa domanda cosa aspettarsi. model: board — la domanda attende una decisione del consiglio dell’associazione, e l’eventuale quota si versa dopo; provisional — ammesso subito, ratificato dal consiglio più tardi; automatic — attiva appena le condizioni sono soddisfatte. delay_hours: le ore tra l’ammissione e una tessera UTILIZZABILE (0 = subito): l’adesione è attiva dall’ammissione, la tessera vale alla porta solo dopo (vedi valid_from).
object
Resta per compatibilità: vale true quando admission.model è board. Leggi invece admission.
Se l’associazione raccoglie l’indirizzo dei soci — di tutti o di nessuno. none: non chiederlo (un address inviato comunque non viene conservato); optional; required: senza indirizzo l’iscrizione risponde 422.
Come versare la quota, con le parole dell’associazione
Le attività di interesse generale che l’associazione svolge (Codice del Terzo settore, art. 5): cod è la lettera dell’articolo, description la sua formulazione in italiano; una è indicata come prevalente.
object
Presente quando l’associazione è iscritta al RUNTS (il Registro unico nazionale del Terzo settore), secondo il controllo della piattaforma sugli elenchi pubblici ufficiali; null altrimenti. Mai inserito a mano dall’associazione.
object
Sezione del registro
Numero di repertorio
Data dell’elenco ufficiale su cui è stato fatto il controllo
object
object
object
Del documento caricato, quando c’è
Il testo come registrato; vuoto quando è stato caricato solo un documento
Il documento caricato, un link valido 15 minuti
Esempio
{ "aps": { "admission": { "model": "board" }, "member_address": "none", "registry": { "section": "APS" } }, "membership_types": [ { "expiry_model": "solar_year" } ]}Richiesta non valida
object
object
Esempiogenerato
{ "type": "https://example.com", "title": "example", "status": 1, "detail": "example", "code": "example", "request_id": "example", "errors": [ { "field": "example", "code": "example", "message": "example" } ]}Non trovato
object
object
Esempiogenerato
{ "type": "https://example.com", "title": "example", "status": 1, "detail": "example", "code": "example", "request_id": "example", "errors": [ { "field": "example", "code": "example", "message": "example" } ]}Troppe richieste
object
object
Esempiogenerato
{ "type": "https://example.com", "title": "example", "status": 1, "detail": "example", "code": "example", "request_id": "example", "errors": [ { "field": "example", "code": "example", "message": "example" } ]}Errore interno
object
object
Esempiogenerato
{ "type": "https://example.com", "title": "example", "status": 1, "detail": "example", "code": "example", "request_id": "example", "errors": [ { "field": "example", "code": "example", "message": "example" } ]}