Documentation
1. Schéma global
Introduction
  • Requête
  • Réponse
2. API CQL
Recherche
  • Requête
  • Réponse
Recherche des valeurs distinctes
  • Requête
  • Réponse
3. API SCAPIN
Informations générales
  • Requête
  • Réponse
Equipe
  • Requête
  • Réponse
Producteurs
  • Requête
  • Réponse
Documents
  • Requête
  • Réponse
Tournées
  • Requête
  • Réponse

APIs : accès open data

Le projet Scapin, plus qu'un moteur de recherche
Comme son nom l'indique, le projet Scapin est centré sur le concept d'API. En effet, son objectif principal est de donner accès à ses données de la mémoire des arts de scène non seulement via un classique search engine, mais aussi directement via diverses APIs.
Contrairement aux moteurs de recherche, les APIs fournissent via des urls spécifiques les données dans un format ouvert, qui n'est pas destiné à la lecture par un être humain, mais par une autre application informatique, bureautique ou web. Tout développeur d'applications desktop ou mobile ou de websites, après avoir enregistré son projet auprès de Scapin, peut donc y utiliser les données en question, au format et dans le design de son choix.

1. Schéma global

Schéma unique, usages multiples
Toutes les APIs nécessaires pour accéder aux données de la mémoire des arts de scène de SCAPIN sont interrogeables via des URLs au schéma identique. Les pages suivantes les exposent en détails.
Structure de la requête :
[site]/[nom]/[service]/[accès]/[méthode]/[paramètre unique]?[paramètres multiples]
[site]
[nom]
Nom de l'API à laquelle on désire accéder. Concrètement, le projet SCAPIN utilise deux APIs : CQL pour les recherches et Scapin proprement dite pour toutes les informations détaillant un spectacle.
[service]
Nom du WebService (extension .svc) auquel on désire accéder.
[accès]
Peut prendre deux valeurs : anon, pour les accès publics, ou auth, pour les accès avec identification préalable (réservés aux partenaires du projet).
[méthode]
Seules les méthodes de lecture de données (commençant par Get) sont accessibles via les accès publics, tandis que les accès avec identification pourront recourir aux méthodes d'écriture de données (Post, Put et Delete).
[paramètre unique]
Les paramètres uniques - typiquement, les IDs uniques de spectacles - sont simplement précédés d'un "/".
[paramètres multiples]
Les méthodes qui attendent plus d'un paramètres sont suivies d'un "?" ; les paramètres eux-mêmes, sous la forme "nom=valeur", sont séparés par "&".
Request Header requis
nom
"AppName"
valeur
Nom de l'application autorisée à utiliser les données de Scapin. Cette autorisation peut être obtenue gratuitement, sur simple demande.

2. API CQL

Recherche

Requête

Structure de la requête :
https://api.aml-cfwb.be/cql/sru.svc/anon/get?db=scapin.s&q=[requête CQL]&resultFields=[informations renvoyées]&sortBy=[tri]&page=[page de résultats]&rows=[nb de résultats par page]
[requête CQL]
Requête selon l'implémentation CQL de Scapin, qui permet, via le protocole SRU, des recherches simples "plein texte", mais aussi multi-critères combinatoires (avec opérateurs AND, OR, NOT, PROX). Les partenaires référencés de SCAPIN ont accès à Phormion, dont l'interface de recherche permet de générer toutes les équations CQL supportées.
[informations renvoyées]
Permet de décider quelles informations doivent être présentes dans les résultats. Ces informations sont identifiées via des abréviations (cf. table ci-dessous reprenant les principaux) séparées par des ",". Pour de meilleurs performances, il est conseillé de limiter les informations à celles nécessaires à l'usage prévu des résultats de recherche. L'ensemble des informations liées à un spectacle sont accessibles via l'API Scapin dédiée (voir ci-dessous).
[tri]
Permet de décider sur quelle information sont triés les résultats. Tri croissant uniquement sur une seule information, via son abréviation. Ce paramètre est sans effet si l'information choisie pour le tri n'est pas présente dans les informations renvoyées.
[page de résultats]
Facultatif ; défaut : 1.
[nb de résultats par page]
Facultatif ; défaut : 1000 ; max. : 1000.
Exemples
https://api.aml-cfwb.be/cql/sru.svc/anon/get?db=scapin.s&format=json&q=(pelléas national)&sortBy=s.a&resultFields=s.a,t,p.d : renvoie tous les spectacles qui contiennent les mots "pelléas" et "national" dans leur description
Sans Request Header, réponse limitée à 10 résultats.

Réponse

Intitulé Type Commentaire Abréviation
IDintIdentifiant unique du spectacle ; max. 2^63id
Texte1stringTitre ; max. 255 cat
Texte2stringProducteurs, séparés par " - ", triés par implication (principal, secondaire, soutien)p.d
Texte3stringMembres créatifs, format "Fonction: Prénom Nom", séparés par " - ", triés par fonction (auteur, d'après, conception, traduction, adaptation, écriture, mise en scène, mise en voix, scénographie, chorégraphie, compositeur)e.cr
Texte4stringSaison ; format AAAA-AAAAs.a
Texte5stringNombre de représentatations total, toutes saisons confonduesr.nbt
Texte6stringSaison de la dernière reprise du spectacle ; format AAAA-AAAA s.der
Texte10stringDate première ; format AAAA/MM/JJ ; première représentation toutes saisons confonduesd.p
Texte11stringDate reprise ; format AAAA/MM/JJ ; première représentation pour la saison en coursd.r
Texte13stringNombre de représentations durant la saisonr.nbs

Recherche des valeurs distinctes

Requête

Structure de la requête :
https://api.aml-cfwb.be/cql/sru.svc/anon/getdistinct?db=scapin.s&q=[requête CQL]&field=[information visée]
[requête CQL]
Requête selon l'implémentation CQL de Scapin, qui permet, via le protocole SRU, des recherches simples "plein texte", mais aussi multi-critères combinatoires (avec opérateurs AND, OR, NOT, PROX). Les partenaires référencés de SCAPIN ont accès à Phormion, dont l'interface de recherche permet de générer toutes les équations CQL supportées.
[information visée]
Information dont sont attendues les valeurs distinctes dans les résultats de la requête. L'information est identifiée par son abréviation.
Exemple
https://api.aml-cfwb.be/cql/sru.svc/anon/getdistinct?db=scapin.s&q=(p.d=Théâtre du Papyrus)&field=s.a : renvoie les saisons distinctes durant lesquelles le Théâtre du Papyrus a produit des spectacles
Sans Request Header, réponse vide.

Réponse

Intitulé Type Commentaire
FieldstringValeur distincte de l'information choisie.
DistinctCountintNombre d'occurrences de la valeur distincte parmi les résultats de la requête CQL.

3. API SCAPIN

Informations générales

Requête

Structure de la requête :
https://api.aml-cfwb.be/scapin/spectacle.svc/anon/get/[IDspectacle]
[IDspectacle]
L'identifiant unique du spectacle, généralement obtenu après une requête.

Réponse

Intitulé Type Commentaire
IDintIdentifiant unique du spectacle ; max. 2^63
TitrestringMax. 255 ca
ComplementTitrestringNb de ca illimité
CommentairesResumestringNb de ca illimité
SaisonstringFormat AAAA-AAAA
AidesstringNb de ca illimité
NotesstringNb de ca illimité
LieuPremierestringMax. 255 ca
DatePremierestringFormat AAAA/MM/JJ
LieuReprisestringMax. 255 ca
DateReprisestringFormat AAAA/MM/JJ
NotesCacheesstringNb de ca illimité
DureestringNb de ca illimité
TagsstringTags, séparés par " - "
SerieIDintSi > 0, identifiant unique de la série à laquelle appartient le spectacle ; max. 2^63

Equipe

Requête

Structure de la requête :
https://api.aml-cfwb.be/scapin/spectacle.svc/anon/getequipe/[IDspectacle]
[IDspectacle]
L'identifiant unique du spectacle, généralement obtenu après une requête.
Sans Request Header, réponse limitée à 5 membres.

Réponse

Intitulé Type Commentaire
IDintIdentifiant unique de la ligne ; max. 2^63
TempSpectaclesIDintIdentifiant unique du spectacle ; max. 2^63
ClassementintMax. 2^15 ; défaut : 0
NomPrenomstringFormat "Nom, Prénom" ; max. 512 ca
NomstringMax. 255ca
PrenomstringMax. 255ca
MembreEquipeIDintMax. 2^63
ISNIstring16ca ; International Standard Name Identifier
MentionLibrestringMax. 255ca
FonctionstringMax. 255 ca
FonctionIDintMax. 2^31
FonctionLibrestringMax. 255ca
Interpretebool1 si sur scène ; 0 pour toutes les autres fonctions
NotesstringNb de ca illimité
RoleDansSpectaclestringMax. 255 ca
RolePartageintMax. 255 ; défaut : 0 ; identique pour tous les membres qui ont partagé le même rôle

Producteurs

Requête

Structure de la requête :
https://api.aml-cfwb.be/scapin/spectacle.svc/anon/getproduction/[IDspectacle]
[IDspectacle]
L'identifiant unique du spectacle, généralement obtenu après une requête.

Réponse

Intitulé Type Commentaire
IDintIdentifiant unique de la ligne ; max. 2^63
TempSpectaclesIDintIdentifiant unique du spectacle ; max. 2^63
DenominationOrganismestringMax. 255 ca
OrganismeIDintMax. 2^63
Implicationint0 : principal ; 1 : secondaire ; 2 : soutien
NotesstringNb de ca illimité

Documents

Requête

Structure de la requête :
https://api.aml-cfwb.be/scapin/spectacle.svc/anon/getdocs/[IDspectacle]?withUrl=[avec url]&withSerie=[avec liens sériels]
[IDspectacle]
L'identifiant unique du spectacle, généralement obtenu après une requête.
[avec url]
Valeur : yes/no ; facultatif ; défaut : yes. Si "yes", renvoie tous les fichiers numériques liés aux cotes ; si "no", renvoie toutes les cotes liées.
[avec liens sériels]
Valeur : 0/1 ; facultatif ; défaut : 0. Si 1, renvoie aussi les fichiers numériques liés aux cotes liées aux spectacles de la même série (à l'exclusion des affiches).
Sans Request Header, réponse limitée à la première cote.

Réponse

Intitulé Type Commentaire
IDintIdentifiant unique de la ligne ; max. 2^63
TempSpectaclesIDintIdentifiant unique du spectacle ; max. 2^63
NotesstringNb de ca illimité
CotestringMax. 255 ca
UrlstringUrl complet du fichier numérique lié
ExtensionstringExtension du fichier numérique, avec le point
SupportstringMax. 50 ca ; désigne le support de la cote liée (photo, affiche, livre, vidéo...) ; si 'permalink', l'url renvoie à une page web
IsAffichebool1 pour la cote désignée comme l'affiche principale du spectacle ; 0 pour les autres
IsImagebool1 si fichier image (jpg, png...) ; 0 pour les autres
AVPNomstringSpécial vidéo : nom de la plateforme (Youtube, Viméo, DailyMotion)
AVPIDstringSpécial vidéo : identifiant unique de la vidéo spécifique à la plateforme

Tournées

Requête

Structure de la requête :
https://api.aml-cfwb.be/scapin/spectacle.svc/anon/gettournee/[IDspectacle]
[IDspectacle]
L'identifiant unique du spectacle, généralement obtenu après une requête.
Sans Request Header, réponse limitée à la première ligne.

Réponse

Intitulé Type Commentaire
IDintIdentifiant unique de la ligne ; max. 2^63
TempSpectaclesIDintIdentifiant unique du spectacle ; max. 2^63
RangintClassement de la ligne ; max. 2^15
NombreintNombre de représentations pour le groupe défini par la ligne ; max. 2^15
DatesstringTexte libre, non formatté ; max. 255ca
SallestringMax. 255ca
LieustringMax. 255ca
VillesstringNoms des villes en français séparés par " - "
PaysstringNom du pays en français ; max. 50ca
PaysISOstringCode ISO 3166-2 du pays
CadrestringMax. 255ca
OrganisateursstringOrganisateurs séparés par " - "
NotesstringNb de ca illimité