API Sowprog
Cette page est une introduction au webservice listant la programmation des salles et festivals partenaires.
Pour y accéder, il vous suffit de vous inscrire ici ou de nous contacter à l’adresse suivante : contact@sowprog.com
Il vous sera alors fourni un login et mot de passe permettant de vous authentifier auprès du webservice.
Vous trouverez dans les lignes ci-dessous tous les éléments techniques vous permettant de récupérer nos événements.
WordPress :
Nous avons également développé deux plugins WordPress permettant d’importer automatiquement les événements. Le premier plugin fonctionne avec Events Manager Pro (voir descriptif ici). Le second plugin fonctionne avec The Events Calendar (voir descriptif ici). N’hésitez pas à nous contacter pour plus d’informations.
Nouvelle API en lecture / écriture !
La nouvelle API vous permet de contrôler Sowprog en lecture / écriture. Vous pouvez ainsi synchroniser vos CMS et applications automatiquement avec Sowprog, ou créer votre propre application.
Encore en phase de test, demandez-nous un accès pour démarrer dès à présent.
Si vous souhaitez simplement reprendre les événements, utilisez l’API Sowprog en lecture.
Lister les artistes
> accès à la documentation détaillée
Permet de lister tous les artistes référencés dans les événements.
Lister les festivals
> accès à la documentation détaillée
Permet de lister tous les festivals référencés dans les événements.
Généralisation du paramètre modifiedSince
Tous les services acceptent un paramètre de requête « modifiedSince » de type timestamp qui permet de limiter le résultat aux évènements modifiés depuis ce timestamp. Ce timestamp est en milli-secondes depuis le 1/1/1970.
Nouvelles informations liées aux événements
Artistes
En plus de la balise « lineup », les événements fournissent la liste et des informations détaillées sur chaque artiste de l’événement via la balise « artist ». On peut ainsi identifier les têtes d’affiches, avoir des visuels de l’artiste, une description, etc.
Festivals
Lorsqu’un événement fait partie d’un festival, la balise « eventGroup » fourni toutes les informations sur ce dernier.
Indicateur complet
La balise « soldOut » associée à la balise « eventScheduleDate » indique si une date est complète.
Nouveaux thumbnails
Les images sont désormais accompagnées de 3 thumbnails. La hauteur dépend de l’image d’origine et les proportions sont conservées.
« thumbnail » image en 150px de large
« thumbnailW300px » image en 300px de large
« thumbnailW600px » image en 600px de large
Whyd
Dans les événements, mais aussi les salles, un nouveau réseau social musical fait son apparition : Whyd.
1 – Les webservices disponibles
Tous les services sont disponibles en XML ou en JSON. Il suffit préciser dans le header de la requête Accept: application/json ou Accept: application/xml
1.1 – Lister les évènements
https://agenda.sowprog.com/rest/v1_2/scheduledEvents
Obtenez la liste de tous les évènements. Pour chaque évènement, il indique sa description, le lieu, les dates, les prix et d’autres informations dont vous trouverez le détail dans la documentation détaillée.
Ce service accepte un paramètre de requête « modifiedSince » de type timestamp qui permet de limiter le résultat aux évènements modifiés depuis ce timestamp.
https://agenda.sowprog.com/rest/v1_2/scheduledEvents/search
Permet de spécifier des critères de recherche en paramètre de requête sur les propriétés du document retourné. Par exemple, pour obtenir les évènenements qui ont lieu dans le 75 ou le 92 et qui sont gratuits :
https://agenda.sowprog.com/rest/v1_2/scheduledEvents/search?location.contact.department=75&location.contact.department=92&freeAdmission=true
Lorsque la même propriété est spécifiée plus d’une fois, un OU et appliqué. Entre différentes propriétés, un ET est appliqué. Le service peut renvoyer le code erreur 406 lorsque qu’un paramètre ne correspond à aucune propriété du document.
Vous ne pouvez pas faire de requêtes sur des propriétés au sein d’une liste comme les prix ou les billetteries.
> accès à la documentation détaillée
1.2 – Lister les évènements par date
https://agenda.sowprog.com/rest/v1_2/scheduledEventsSplitByDate
et
https://agenda.sowprog.com/rest/v1_2/scheduledEventsSplitByDate/search
Ce service fourni les mêmes informations mais avec une entrée pour chaque date d’un évènement. Chaque entrée contient une balise qui indique sur quel horaire on se focalise. Attention, il y a une entrée par horaire, c’est à dire que pour une même évènement qui à lieu le 23-11 à 20h, le 2-12 à 16h et le 2-12 à 20h, il y aura 3 entrées. Dans le détail de l’évènement, toutes les dates sont répétées (cela permet d’indiquer quelles sont les autres dates pour un évènement)
> accès à la documentation détaillée
1.3 – Lister les lieux
https://agenda.sowprog.com/rest/v1_2/locations
et
https://agenda.sowprog.com/rest/v1_2/locations/search
Toutes les informations concernant le lieu d’un évènement sont inclues dans les services de liste des évènement. Celui-ci est un référentiel de tous les lieux.
> accès à la documentation détaillée
1.4 – Lister les types d’évènement
https://agenda.sowprog.com/rest/v1_2/eventTypes
Il s’agit d’un référentiel des types d’évènements et des styles possibles pour chaque type.
> accès à la documentation détaillée
1.5 – Lister les style d’évènement
https://agenda.sowprog.com/rest/v1_2/eventStyles
Il s’agit d’un référentiel des styles d’évènements.
> accès à la documentation détaillée
2 – Tester votre accès
Pour tester votre accès, deux méthodes sont proposées :
2.1 – Avec un navigateur
Pour tester votre accès, utilisez l’url suivante dans un navigateur : https://agenda.sowprog.com/rest/v1_2/scheduledEvents Le navigateur vous demande alors un login/mot de passe. Saisissez ceux vous ayant été fournis par SOWPROG. Le navigateur doit alors afficher un flux XML. Tout fonctionne !
2.2 – Avec un client REST
Sous chrome, vous pouvez utiliser un client REST. L’exemple ci-dessous utilise le plug-in REST Console. Renseignez les champs suivant :
Target / Request URI : https://agenda.sowprog.com/rest/v1_2/scheduledEventsTarget / Request method : GETAccept / Content-Type : application/json ou application/xml
Dans la partie Authorization, cliquez sur Basic Auth.
Renseignez les champs Username et Password avec ceux qui vous ont été fourni par SOWPROG
Cliquez sur Set Header. Le champ Auhorization Header est maintenant coché et renseigné.
Cliquez sur GET.Vous avez maintenant la réponse du webservice !
En cliquant sur Request Headers, vous pouvez voir les headers qui ont été envoyés avec votre requête.
3 – Accéder au webservice depuis une application
L’accès au webservice se fait à travers une simple requête HTTP GET.
3.1 – Requête
La requête se fait sour la forme d’un HTTP GET à l’url suivante :
https://agenda.sowprog.com/rest/v1_2/scheduledEvents
Le header de la requête doit contenir les informations suivantes :
Accept: application/json ou Accept: application/xmlContent-Type: application/json ou Content-Type: application/xmlAuthorization: Basic [token basic auth]
Pour ne prendre en compte que les évènements nouveaux ou modifiés
la requête accepte un paramètre modifiedSince qui limite le résultat aux évènements modifiés depuis le timestamp (en ms depuis le 1/1/1970).
https://agenda.sowprog.com/rest/v1_2/scheduledEvents?modifiedSince=1349648143355
L’élément event description porte 2 propriétés, creationDate et modificationDate, qui sont également des timestamp
Chaque élément de la réponse possède en outre les propriétés id et version. L’id est fixe et le numéro de version est incrémenté à chaque modification.
3.2 – Authentification
L’authentification utilise le [token basic auth]. Celui-ci est obtenu à partir de votre login et mot de passe encodés en Base64.
Il est fourni par SOWPROG sur simple demande à l’adresse suivante : contact@sowprog.com.
3.3 – Réponse
La programmation des salles est disponible au format XML ou JSON.
La racine est scheduledEvents.
Elle contient une liste de eventDescription.
Pour plus d’information, reportez vous à la documentation détaillée accessible depuis les liens ci-dessous :
> Documentation détaillée complète
Vous trouverez ci-dessous un accès direct aux chapitres suivants :