Ce guide n'est disponible qu'en anglais.
Contactez info@ginto.guide pour obtenir une clé d'API pour l'autorisation de l'API. L'API est protégée et n'est accessible que lorsque la demande est authentifiée à l'aide d'une clé API. La clé API doit être fournie avec chaque demande en tant que jeton porteur dans l'en-tête Authorization.
La plateforme ginto fournit un API GraphQL Point de terminaison pour interroger et accéder aux données d'accessibilité.
Ginto peut configurer des filtres de saisie dynamiques individuels pour chaque compte professionnel en fonction d'un ou de plusieurs des filtres de données suivants :
L'API fournit des requêtes pour obtenir toutes les entrées ou les entrées de l'un des filtres définis.
POST api.dev.ginto.guide/graphql
Environnement de test
POST api.ginto.guide/graphql
Environnement de production
GraphQL fournit un schéma typé pour les données. Grâce à ses Fonction d'introspection La documentation est intégrée au schéma lui-même et fournit des informations sur les requêtes qu'il prend en charge. Il existe des bibliothèques clientes pour presque tous les langages de programmation pertinents. De plus, il est possible de l'utiliser avec une requête HTTP normale.
Les outils de développement d'API tels que Postman fournissent un support GraphQL prêt à l'emploi, y compris la saisie automatique des requêtes.
Pour des raisons de performances et d'évolutivité, le nombre d'entrées renvoyées par demande est limité. Un mécanisme de pagination est en place qui permet de passer au lot d'entrées suivant via une pagination à l'aide du curseur. Le concept est basé sur Connexions et arêtes Ce qui est un quasi-standard dans GraphQL pour la pagination.
Pour les requêtes qui fournissent la pagination des arguments D'abord
et Après
Peut être défini ainsi qu'une PageInfo demandée.
Le D'abord
L'argument définit le nombre d'éléments qui doivent être renvoyés avec la demande. Pour des raisons de performance, cette valeur ne peut pas être supérieure à 50.
Le Informations sur la page
contient à Curseur de fin
Qui définit le curseur du dernier élément de la page. Ce Curseur de fin
Peut ensuite être utilisé pour Après
Argument de la requête suivante pour obtenir les éléments suivants après le EndCursor.
Les paramètres permettant de contrôler la pagination sont documentés dans le schéma.
Pour la première page, aucun argument après ne doit être défini. La requête suivante renvoie les 50 premières entrées ainsi qu'un PageInfo qui contient le EndCursor de la page.
{
allEntries(first: 50) {
totalCount
pageInfo {
hasNextPage
endCursor
}
edges {
node {
id
name
}
}
}
}
Pour demander les 50 entrées suivantes, nous prenons le endCursor de la réponse précédente et le définissons comme argument after de la requête suivante comme suit :
{
allEntries(first: 50, after: "NTA") {
totalCount
pageInfo {
hasNextPage
endCursor
}
edges {
node {
id
name
}
}
}
}
La langue par défaut des données renvoyées peut être sélectionnée en réglant Langue d'acceptation
en-têtes HTTP. Les options actuellement prises en charge sont de
, fr
, fr
ou il
.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language
Pour les textes disponibles en plusieurs langues, il est également possible de définir une langue spécifique via un argument de champ.
Contacter info@ginto.guide pour obtenir une clé d'API pour l'autorisation de l'API.
L'API est protégée et n'est accessible que lorsque la demande est authentifiée à l'aide d'une clé API. La clé API doit être fournie avec chaque demande en tant que Jeton Bearer Dans l'en-tête Autorisation :
Authorization: Bearer {token}
Todo
Todo
{
entry(entryId: "ee659e74-295f-4285-8c3d-d90f232efa44") {
entryId
name
externalRatings(sourceKey: "zuerst") {
iconUrl
description
grade
}
publication {
linkUrl
linkText
}
licenseInfo {
license
attribution
isOpenData
}
manualWheelchairAccessibility: accessibility(ratingProfileId: "Z2lkOi8vcmFpbHMtYXBwL1JhdGluZ1Byb2ZpbGVzOjpSYXRpbmdQcm9maWxlLzc4") {
grade
conformance
}
powerWheelchairAccessibility: accessibility(ratingProfileId: "Z2lkOi8vcmFpbHMtYXBwL1JhdGluZ1Byb2ZpbGVzOjpSYXRpbmdQcm9maWxlLzc5") {
grade
conformance
}
pushchairAccessibility: accessibility(ratingProfileId: "Z2lkOi8vcmFpbHMtYXBwL1JhdGluZ1Byb2ZpbGVzOjpSYXRpbmdQcm9maWxlLzgw") {
grade
conformance
}
}
}
{
allEntries {
totalCount
pageInfo {
hasNextPage
endCursor
}
edges {
node {
id
sourceIds(sourceKey: "zuerst") // at the moment only available for business users
name
position {
street
housenumber
postcode
city
lat
lng
}
externalRatings(sourceKey: "zuerst") {
iconUrl
descriptionDE: description(locale: DE)
descriptionFR: description(locale: FR)
descriptionIT: description(locale: IT)
descriptionEN: description(locale: EN)
grade
}
publication {
iconUrl
iconTextDE: iconText(locale: DE)
iconTextFR: iconText(locale: FR)
iconTextIT: iconText(locale: IT)
iconTextEN: iconText(locale: EN)
linkUrl
linkTextDE: linkText(locale: DE)
linkTextFR: linkText(locale: FR)
linkTextIT: linkText(locale: IT)
linkTextEN: linkText(locale: EN)
}
}
}
}
}
{
entriesBySearch(lat: 47.4224806, lng: 9.3760095, query: "palace", within: 5) {
totalCount
pageInfo {
hasNextPage
endCursor
}
edges {
node {
id
name
position {
street
housenumber
postcode
city
lat
lng
}
publication {
iconUrl
iconTextDE: iconText(locale: DE)
iconTextFR: iconText(locale: FR)
iconTextIT: iconText(locale: IT)
iconTextEN: iconText(locale: EN)
linkUrl
linkTextDE: linkText(locale: DE)
linkTextFR: linkText(locale: FR)
linkTextIT: linkText(locale: IT)
linkTextEN: linkText(locale: EN)
}
}
}
}
}
{
entriesByFilter(filterId: "Z2lkOi8vcmFpbHMtYXBwL0dyb3VwaW5nOjpFbnRyeUdyb3VwL2U2Y2I1ZTU4LTE0MDQtNDk5Mi05YjY1LTlkNjc1MTJmZTRiMg", first: 50, after: "NTA") {
totalCount
pageInfo {
hasNextPage
endCursor
}
edges {
node {
id
sourceIds(sourceKey: "parks.swiss") // at the moment only available for business users
name
externalRatings(sourceKey: "zuerst") {
iconUrl
description
grade
}
publication {
iconUrl
iconText
linkUrl
linkText
}
licenseInfo {
license
attribution
isOpenData
}
wheelchairAccessibility: accessibility(ratingProfileId: "Z2lkOi8vcmFpbHMtYXBwL1JhdGluZ1Byb2ZpbGVzOjpSYXRpbmdQcm9maWxlLzc4") {
grade
conformance
}
}
}
}
}
Récupère tous les filtres de saisie pour lesquels l'utilisateur est autorisé. L'identifiant peut ensuite être utilisé pour la requête EntriesByFilter.
{
entryFilters {
id
name
createdAt
updatedAt
categoryKeys
sources
qualityLevels
postcodes
}
}
{
ratingProfiles {
id
name
}
}