L'API Ginto

Ultimo aggiornamento:
8/4/2026
API
app
Web
Prima di iniziare

L'API è protetta e può essere richiamata solo se la richiesta viene autenticata tramite una chiave API. Questa deve essere specificata in ogni richiesta come token Bearer nell'intestazione Authorization. Contatta support@ginto.guide per ottenere una chiave API per l'autorizzazione.

nota

Hai già un'interfaccia con una delle nostre organizzazioni partner, ad esempio con l'AccommoDataHub di HotellerieSuisse? In tal caso, puoi ricavare da lì alcune informazioni sull'accessibilità, come i link web Ginto o i pittogrammi.

Consiglio professionale

Utilizza il nostro spazio di lavoro di prova Ginto in Postman per testare le diverse richieste.

Ecco cosa troverai in questa guida:

Richiedere il certificato OK:GO per la partecipazione a «Swisstainable»
Domande frequenti

Introduzione

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5

Scopri di più su GraphQL.

Autorizzazione

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5

La chiave API deve essere fornita in ogni richiesta come token Bearer nell'intestazione Authorization:

Authorization: Bearer {token}

Sostituisci {apiKey} con la tua chiave personale, senza le parentesi graffe.

Invia richiesta

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5

Le richieste vengono inviate in formato JSON con la seguente struttura nel corpo della richiesta:

{
  "query": "{ allEntries(first: 10) { nodes { id name } } }",
  "variables": {}
}

La richiesta deve essere inviata all'URL dell'endpoint https://api.ginto.guide/graphql e deve contenere le seguenti informazioni:

  • Content-Type: application/json (Intestazione)
  • Accept: application/graphql-response+json, application/json (Intestazione)
  • Authorization: Bearer {apiKey} (Intestazione con la tua chiave API)
  • Facoltativo: Accept-Language (Intestazione per selezionare la lingua desiderata: de, en, fr oppure it)

Se l'operazione va a buon fine, il server risponde con un oggetto JSON contenente l'oggetto data. Se si verifica un errore, la risposta può contenere un array errors. In tal caso, l'oggetto data è ZERO oppure è presente solo in parte.

Esempio con cURL:

curl -X POST https://api.ginto.guide/graphql \
  -H "Content-Type: application/json" \
  -H "Accept: application/graphql-response+json, application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept-Language: de" \
  -d '{"query":"{ allEntries(first: 10) { nodes { id name } } }","variables":{}}'

Sostituisci YOUR_API_KEY con la tua chiave API effettiva. L'intestazione Accept-Language è facoltativa. Rimuovila o, se necessario, modifica de (tedesco) in en (inglese), fr (francese) o it (italiano).

Testare con Postman

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5

Cliccando su questo link, la raccolta di richieste di Ginto verrà clonata automaticamente e potrai iniziare a esplorare l'API di Ginto.

Per impostare la chiave API in Postman, apri l'ambiente production e crea lì la variabile apiKey con la tua chiave API effettiva. Attiva quindi l'ambiente. Ora sei pronto per inviare una richiesta.

Postman può essere utilizzato online e scaricato gratuitamente. Qui trovi una guida dettagliata alla creazione di query GraphQL in Postman.

Imposta la lingua

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5

La lingua predefinita dei dati restituiti può essere selezionata impostando l'header HTTP Accept-Language. Attualmente sono supportate le opzioni de (tedesco), en (inglese), fr (francese) e it (italiano).

Qui trovi ulteriori informazioni sull'header HTTP Accept-Language.

Per i testi disponibili in più lingue, è possibile specificare una lingua determinata anche tramite il campo Argument.

Panoramica delle richieste

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
Richiesta (Query) Descrizione
allEntries Ottiene un elenco di tutte le voci presenti in Ginto.
entriesByFilter Ottiene un elenco di tutte le voci all'interno di un filtro di pubblicazione predefinito. Un filtro di pubblicazione può filtrare le voci in base a vari criteri e deve essere richiesto al team di supporto di Ginto.
entriesBySearch Cerca le voci vicine a una coordinata e/o tramite testo di ricerca.
entry Ottiene i dati di una voce specifica identificata dal suo ID.
deletedEntries Ottiene l'elenco di tutti gli ID delle voci che sono state eliminate.
availableCategories Ottiene l'elenco di tutte le categorie disponibili.
availableDefaultRatings Ottiene l'elenco di tutte le valutazioni predefinite disponibili, ciascuna comprensiva di un pittogramma e di un breve riepilogo dell'accessibilità della voce. Le valutazioni predefinite di una voce dovrebbero essere utilizzate per la pubblicazione dell'accessibilità della voce su siti web esterni.
availableFilterTags Ottiene l'elenco di tutti i tag di filtro disponibili. Un tag di filtro è una parola chiave predefinita che può essere assegnata alle voci e aiuta a filtrare per caratteristiche specifiche.
availablePublicationFilters Ottiene l'elenco di tutti i filtri di pubblicazione per i quali l'utente dispone delle autorizzazioni. Un filtro di pubblicazione deve essere richiesto al team di supporto di Ginto.
availableRatingProfiles Ottiene l'elenco di tutti i profili di valutazione predefiniti. A differenza delle valutazioni predefinite, un profilo di valutazione (ad es. "sedia a rotelle") può essere utilizzato per calcolare un punteggio basato su tale profilo, mentre le valutazioni predefinite definiscono i possibili risultati della valutazione (ad es. "Parzialmente accessibile in sedia a rotelle").
availableSources Ottiene l'elenco di tutte le fonti esterne collegate a qualsiasi voce in Ginto.

Schema dei dati

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5

La maggior parte delle applicazioni GraphQL è in grado di recuperare automaticamente lo schema tramite Introspection e offre le seguenti funzionalità:

  • Completamento automatico per campi e argomenti
  • Documentazione in linea di tutte le query e i campi disponibili
  • Convalida delle query prima dell'invio delle richieste

Strumenti come Postman, Bruno, Insomnia e molti IDE GraphQL supportano questa funzionalità di default e visualizzano la documentazione dello schema direttamente all'interno dei propri strumenti.

Impaginazione

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5

Il concetto si basa su Connections and Edges, che in GraphQL sono praticamente lo standard per l'impaginazione. L'impaginazione utilizza un modello basato su cursori con i seguenti argomenti:

  • first: Numero di elementi da restituire (massimo: 50)
  • after: Cursore sull'ultimo elemento della pagina precedente (omettilo nella prima pagina)

Le query con paginazione restituiscono quanto segue:

  • nodes: gli elementi veri e propri
  • pageInfo.endCursor: Cursore sull'ultimo elemento della pagina corrente
  • pageInfo.hasNextPage: indica se è presente un'altra pagina
  • totalCount: Numero totale di elementi (se supportato dalla query)

Esempio

Per la prima pagina non è necessario specificare l'argomento after. La seguente richiesta restituisce i primi 50 record insieme a un oggetto pageInfo che contiene l'endCursor della pagina.

{
    allEntries(first: 50) {
        totalCount
        pageInfo {
            hasNextPage
            endCursor
        }
        edges {
            node {
                id
                name
            }
        }
    }
}

Per richiedere i prossimi 50 record, utilizza l'endCursor della risposta precedente e impostalo come segue per l'argomento after della richiesta successiva:

{
    allEntries(first: 50, after: "NTA") {
        totalCount
        pageInfo {
            hasNextPage
            endCursor
        }
        edges {
            node {
                id
                name
            }
        }
    }
}

Esempio: come ottenere informazioni sull'accessibilità

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5

Utilizza questa query per recuperare informazioni quali i link web Ginto e le valutazioni standard relative a determinate località. Integrale nel tuo sito web insieme ad altri dati, come ad esempio gli orari di apertura. Qui trovi un esempio di utilizzo.

Per ottenere un filtraggio efficiente, il team di assistenza Ginto può configurare per te un filtro di pubblicazione con diversi parametri di filtraggio (categoria, fonte, codice postale, stato di verifica, livello di dettaglio). Se inserisci l'ID del filtro (filterId) di questo filtro di pubblicazione nella query, la richiesta API restituirà solo i risultati che corrispondono al filtro di pubblicazione.

Versione senza sottosezioni

Utilizzando la seguente query puoi recuperare tutte le voci che corrispondono a un filtro di pubblicazione. In questo modo otterrai anche informazioni relative a nome, posizione, indirizzo, valutazioni predefinite e link web Ginto della rispettiva voce.

{
    entriesByFilter(filterId: "0ace704e-db54-41c1-aa45-8f5d1e45cc27") {
        totalCount
        pageInfo {
            endCursor
            hasNextPage
            hasPreviousPage
            startCursor
        }
        nodes {
            entryId
            name
            createdAt
            updatedAt
            categories {
                groupKey
                groupName
                key
                name
            }
            position {
                street
                housenumber
                postcode
                city
                countryCode
                lat
                lng
            }
            accessibilityInfo {
                defaultRatings {
                    descriptionDE: description(locale: DE)
                    descriptionEN: description(locale: EN)
                    descriptionFR: description(locale: FR)
                    descriptionIT: description(locale: IT)
                    iconUrl
                    key
                }
            }
            publication {
                linkTextDE: linkText(locale: DE)
                linkTextEN: linkText(locale: EN)
                linkTextFR: linkText(locale: FR)
                linkTextIT: linkText(locale: IT)
                linkUrl
            }
            licenseInfo {
                attribution
                isOpenData
                license
            }
            sources {
                originIds
                sourceKey
                sourceName
            }
        }
    }
}

accessibilityInfo.defaultRatings: Contiene un elenco di tutte le valutazioni standard calcolate per la scheda. Una valutazione standard comprende un'icona e una breve sintesi di un determinato aspetto dell'accessibilità della rispettiva scheda Ginto. Utilizza le valutazioni standard di una scheda Ginto per pubblicare le informazioni sull'accessibilità di un luogo sul tuo sito web.

publication.linkUrl: Contiene un URL che rimanda alla pagina web Ginto della rispettiva voce, dove sono disponibili tutte le informazioni dettagliate sull'accessibilità. Inserisci sempre questo link quando pubblichi i dati sull'accessibilità dei luoghi sul tuo sito web.

Versione con sottosezioni

Se è necessario recuperare le valutazioni predefinite e il link web Ginto per ogni sezione all'interno di una voce, la query sopra riportata può essere estesa come segue:

{
    entriesByFilter(filterId: "0ace704e-db54-41c1-aa45-8f5d1e45cc27") {
        totalCount
        pageInfo {
            endCursor
            hasNextPage
            hasPreviousPage
            startCursor
        }
        nodes {
            entryId
            name
            createdAt
            updatedAt
            categories {
                groupKey
                groupName
                key
                name
            }
            position {
                street
                housenumber
                postcode
                city
                countryCode
                lat
                lng
            }
            accessibilityInfo {
                defaultRatings {
                    descriptionDE: description(locale: DE)
                    descriptionEN: description(locale: EN)
                    descriptionFR: description(locale: FR)
                    descriptionIT: description(locale: IT)
                    iconUrl
                    key
                }
            }
            publication {
                linkTextDE: linkText(locale: DE)
                linkTextEN: linkText(locale: EN)
                linkTextFR: linkText(locale: FR)
                linkTextIT: linkText(locale: IT)
                linkUrl
            }
            licenseInfo {
                attribution
                isOpenData
                license
            }
            sources {
                originIds
                sourceKey
                sourceName
            }
            areas {
                areaTemplateKey
                id
                name
                accessibilityInfo {
                    defaultRatings {
                        descriptionDE: description(locale: DE)
                        descriptionEN: description(locale: EN)
                        descriptionFR: description(locale: FR)
                        descriptionIT: description(locale: IT)
                        iconUrl
                        key
                    }
                }
                publication {
                    linkTextDE: linkText(locale: DE)
                    linkTextEN: linkText(locale: EN)
                    linkTextFR: linkText(locale: FR)
                    linkTextIT: linkText(locale: IT)
                    linkUrl
                }
                subAreas {
                    areaTemplateKey
                    id
                    name
                    accessibilityInfo {
                        defaultRatings {
                            descriptionDE: description(locale: DE)
                            descriptionEN: description(locale: EN)
                            descriptionFR: description(locale: FR)
                            descriptionIT: description(locale: IT)
                            iconUrl
                            key
                        }
                    }
                    publication {
                        linkTextDE: linkText(locale: DE)
                        linkTextEN: linkText(locale: EN)
                        linkTextFR: linkText(locale: FR)
                        linkTextIT: linkText(locale: IT)
                        linkUrl
                    }
                }
            }
        }
    }
}

Richiedere la certificazione OK:GO per «Swisstainable»

OK:GO è riconosciuto come prova nell'ambito del programma di sostenibilità «Swisstainable» di Livello II - impegnato (in combinazione). Puoi trovare una panoramica di tutti i certificati di sostenibilità riconosciuti qui.

Un certificato di partecipazione OK:GO a «Swisstainable» può essere richiesto tramite questo modulo web. Un certificato viene rilasciato quando sono soddisfatte le condizioni di partecipazione. Il certificato OK:GO è valido per due anni dalla data di emissione.
Grazie, abbiamo ricevuto la tua richiesta e ti risponderemo nei prossimi giorni.
Oh, qualcosa non ha funzionato là fuori. Per favore riprova

Domande frequenti

Al momento non ci sono domande frequenti su questa guida.

Potrebbe interessarti anche questo