Pour profiter de l'API Billetterie Mapado Pro, il faut disposer de quelques compétences en programmation. Nous vous recommandons de vous adresser à votre agence ou à votre webmaster pour savoir ce qu'il est possible de faire dans votre situation.
Pour accéder à l'API, il faut disposer d'un jeton d'authentification (token) a passer dans les headers des requêtes HTTP.
Chaque appel à l'API doit intégrer le jeton d'authentification dans le header de l'appel avec une clé "Authorization" qui contient "Bearer xxxxxxxxx"
(remplacer xxxxxxx par le jeton obtenu précédemment)
Nous vous conseillons d'utiliser l'outil gratuit
Postman afin d'effectuer vos premiers tests.
Réaliser votre premier appel d'API Billetterie Mapado Pro
En utilisant l'outil Postman, effectuez une premier appel GET sur le endpoint suivant.
Ce premier appel devrait vous renvoyer un résultat au format .json dont le début ressemble à ce qui se trouve ci-dessous (remplacez xxxxxx et yyyyyy par les titres de vos événements)
- {
- "@context": "/v1/contexts/Ticketing",
- "@id": "/v1/ticketings",
- "@type": "hydra:PagedCollection",
- "hydra:member": [
- {
- "@id": "/v1/ticketings/599",
- "@type": "Ticketing",
- "@context": "/v1/contexts/Ticketing",
- "title": "xxxxxxxxxxxx"
- },
- {
- "@id": "/v1/ticketings/601",
- "@type": "Ticketing",
- "@context": "/v1/contexts/Ticketing",
- "title": "yyyyyyyyyyyyyyy"
- },
Si vous obtenez une erreur 401 c'est que vous avez oublié d'ajouter la clé "Authorization" ou bien que votre jeton d'authentification est incorrect.
Si vous obtenez une erreur 403 c'est que votre jeton est bien reconnu mais que vous n'avez pas les droits d'accès à cette ressource.
Explication des paramètres fréquents
Décomposons le premier appel effectué
Un certain nombre d'autres paramètres sont présents dans la requête.
Paramètre "contract=xxxx"
Celui-ci est a passer systématiquement pour limiter la recherche uniquement à vos données.
Certaines données publiques sont accessible au delà de votre compte mais l'usage est très rare.
Paramètre "itemsPerPage"
Il permet de limiter le nombre de résultats renvoyés par l'API.
Nous vous déconseillons de dépasser un nombre d'itemsPerPage supérieur à 100 : cela peut fortement ralentir votre application.
Nous pourrions être amené à suspendre les comptes API qui abuseraient sur cette valeur
A noter que le .json renvoyé contient également le nombre d'items total de la requête dans la clé : "hydra:totalItems" ainsi que l'adresse de la requête pour la première, dernière et prochaine page dans respectivement les clés : hydra:first, hydra:last et hydra:next stockées dans la clé hydra:view (cf exemple ci-dessous)
- "hydra:totalItems": 190,
- "hydra:view": {
- "@id": "/v1/ticketings?user=me&itemsPerPage=5&fields=%40id%2Ctitle&page=1",
- "@type": "hydra:PartialCollectionView",
- "hydra:first": "/v1/ticketings?user=me&itemsPerPage=5&fields=%40id%2Ctitle&page=1",
- "hydra:last": "/v1/ticketings?user=me&itemsPerPage=5&fields=%40id%2Ctitle&page=38",
- "hydra:next": "/v1/ticketings?user=me&itemsPerPage=5&fields=%40id%2Ctitle&page=2"
Paramètre "Fields"
C'est un paramètre obligatoire qui permet de limiter les champs retournés par le endpoint. En limitant les données renvoyées, vous rendez vos appels plus rapides.
Dans notre exemple, nous avons limité les champs renvoyés aux champs id et title.
Si vous n'avez besoin que du titre de votre événement, inutile de demander tous les autres champs ce qui aura pour effet d'augmenter la quantité de données transférée.
Vous pouvez obtenir un liste exhaustive des champs (fields) disponibles pour une endpoint donné en effectuant un appel GET sur le endpoint suivant :
A noter que le nom à passer en fin d'url est celui de l'objet indiqué en tête de page de la documentation d'API :
Il est possible de chaîner les fields pour récupérer des informations d'un enpoint lié. Par exemple
Permet de récupérer la séance numéro 145020 tout en demandant le titre de l'événement (ticketing) lié.
Champs de type "borne" pour les dates
Les champs before et after, disponibles sur certains endpoint permettent de fixer des "bornes" de date, pour filtrer par mois par exemple.
Description des endpoint les plus utiles
Vous trouverez ci-dessous une liste des enpoints les plus utilisés.