Données de la fête en tant que JSON/JSON-LD

FR

Informations sur les événements au format JSON

Tu peux obtenir toutes les informations publiques sur les événements de goabase.net au format JSON pour ton utilisation.

Nous n'utilisons pas de clé API pour le moment et tu n'as pas besoin de t'inscrire pour utiliser l'API.

Si tu cherches un moyen très simple d'intégrer des événements de fête, consulte Serveur de fête.

Si tu souhaites publier ou réutiliser les données, ne supprime pas le backlink vers goabase.net. Merci beaucoup !

Et si tu as des questions, n'hésite pas à nous contacter : Contact

Syntaxe/Versions

Il existe deux versions de la syntaxe :
  • Notre propre syntaxe "plate" ou
  • JSON-LD selon schema.org.

Tu peux choisir la version en fonction de l'URL :

https://www.goabase.net/api/party/json/ - Notre syntaxe, version 1
https://www.goabase.net/api/party/jsonld/ - LD JSON selon schema.org (Ver. 2)

Les données

Paramètres GET pour la liste des parties

https://www.goabase.net/api/party/json/?{parameter}={value}
https://www.goabase.net/api/party/jsonld/?{parameter}={value}

Paramètre Résultat
(aucun) Tous les événements à venir, limités à 500.
country=list-all

Uniquement les pays et leur nombre d'événements.

country={nameCountry} Fêtes de {nameCountry}.
country={isoCountry} Fêtes de {isoCountry}.
Iso-Alpha-2 comme valeur par défaut pour les pays.
eventtype={nameType} Valeurs pour {nameType}:
  • festival - événements en plein air d'une durée de 36 heures ou plus
  • openair - petits festivals
  • indoor - événements en intérieur plus importants
  • club - Fêtes dans des lieux de type club
  • indoor_outdoor - événements avec dancefloors à l'intérieur et à l'extérieur
  • virtual - Fêtes virtuelles
Voir aussi
geoloc={nameTown} Événements de fête 100km autour de {nameTown}. Si tu utilises un nom de lieu, nous essayons de le trouver dans notre base de données de géolocalisation et sur Openstreetmap.
limit= limite{number} Mettre {number} à 50 pour n'obtenir que 50 événements.
ll={geoLat,geoLon} Événements 100km dans un rayon de {geoLat,geoLon}.
PID={id} ou
{id}
Ouvre tous les détails de l'événement avec {id}
Au lieu de api/party/jsonld/?PID={id}, tu peux aussi utiliser api/party/jsonld/{id}.
radius={radius} Rayon en kilomètres pour la recherche de proximité. Paramètre par défaut : 100
search= recherche{search} Trouve tous les événements de fête avec {search} dans Line-Up, nom de lieu, nom de fête ou infos. Tu peux utiliser plus d'un terme de recherche.
searchdate={YYYY-MM-DD} Fêtes qui se déroulent sur {YYYY-MM-DD}
status={nameStatus} Valeurs pour {nameStatus}:
  • new - Nouvelles entrées des sept derniers jours
  • update - Mis à jour au cours des sept derniers jours
  • canceled - événements annulés
  • postponed - nouvelle date, fête reportée (nous enregistrons 1x l'ancienne date)
  • new_loc - Nouveau lieu ou lieu modifié
ver=1|2 Version de l'API. ver=1 est notre syntaxe, ver=2 JSON-LD

Remarques générales sur notre syntaxe (ver. 1)

Nous rendons notre objet JSON aussi "plat" que possible.

Les noms des clés sont inspirés de schema.org et écrits en "camelCase", la première partie décrivant le type de données et la seconde les données. Cela devrait être explicite.

Nous utilisons "nameType" d'une manière différente de schema.org, car ils ne diffèrent qu'entre"Festival" et"DanceEvent". Nous utilisons plus spécifiquement (pour notre genre) les types "festival", "open air" (comme schema.org/festival) et "indoor", 'club', "indoor et outdoor" (similaire à schema.org/DanceEvent).

Le contenu de "urlOrganizer" pourrait être un texte avec des sauts de ligne comme \n ou \n\r.

Formats d'heure et fuseaux horaires

Nous enregistrons tous les événements avec le fuseau horaire Europe/Berlin et les renvoyons en ISO 8601 avec la différence par rapport à UTC. La date et l'heure du 16 mai 2015 à 22:00h à Berlin sont renvoyées comme 2015-05-16T22:00:00+02:00 et la même date et heure en Asie/Kalkutta comme 2015-06-16T22:00:00+05:30.

Mais ces heures UTC ne peuvent pas être utilisées comme l'attend la méthode Date.toJson. Il est nécessaire d'indiquer un fuseau horaire supplémentaire pour obtenir l'heure locale.

Ci-dessous, tu trouveras donc un petit snippet Javascript pour lire la date.

Lorsqu'un événement est saisi sur goabase, le fuseau horaire est déterminé et enregistré. La plupart des pays se trouvent dans un seul fuseau horaire, ce qui est facile à vérifier.

Pour les pays avec plusieurs fuseaux horaires (par exemple les États-Unis, le Brésil, la Russie), nous utilisons la géolocalisation pour déterminer le fuseau horaire. Cela peut échouer parce que les valeurs Lat-Lon ne sont pas indiquées ou ne sont pas trouvées dans les 4,4 millions de jeux de données que nous utilisons comme base. Dans ce cas, nous utilisons le fuseau horaire par défaut.

Pourquoi tout cela ? Si une fête commence par exemple à 12:00 à Goa, l'heure française enregistrée 2014-06-14T12:00:00+02:00 apparaîtrait à Goa comme le début de la fête à 15:30. Mais au lieu de cela, il faut utiliser l'heure de l'Asie / Calcutta 2014-06-14T12:00:30:00+05:30. Dans tous les cas, il s'agit donc de l'heure locale plus l'écart par rapport à l'heure UTC.

Javascript

Exemple de fonction Javascript pour analyser les données ISO8601 avec jQuery

// Cette fonction a été arrachée de
// timeago.js (http://timeago.yarp.com/) et requiert jQuery(http://jquery.com/)
function parseIso8601(iso8601) {
   var s = $.trim(iso8601) ;
   s = s.replace(/-/,"/").replace(/-/,"/") ;
   s = s.replace(/T/," ").replace(/Z/," UTC") ;
   s = s.replace(/([\+-]\d\d)\: ?(\d\d)/," $1$2") ; // -04:00 -> -0400
   return new Date(s) ;
}