Introduction
Bienvenue sur cette documentation de l'API de l'espacetri qui permet de vérifier une licence pour une saison
Authentication
Toutes les requêtes nécessitent une authentification.
Vous devez passer en Header deux valeurs :
- X-USER (nom d'utilisateur fourni par la F.F.Tri)
- Authorization (clef d'API également fournie par la F.F.Tri)
Assurez vous de remplacer
username
par votre nom d'utilisateur etd41d8cd98f00b204e9800998ecf8427e
par votre clef d'api.
Voici un exemple d'en-tête nécessaire pour faire une requête sur cette API :
X-USER: username
Authorization: d41d8cd98f00b204e9800998ecf8427e
Accept: application/json
Content-Type: application/json
Sécurité supplémentaire pour les pass compétition
Création du token d'authenification
La chaîne est créée en concaténant les valeurs des champs X-USER et Authorization (triés par ordre alphabétique, dans le format ‘PARAMETRE=valeur’, avec les noms de paramétre suivant APIKEY=monapikey (Authorization), USERNAME=monusername (X-USER)), séparés par une clé. La clé est définie dans l'espacetri dans la section prestataire technique, dans le champs "passPhrase". La chaîne de caratères obtenu doit être hashé avec l'algorythme SHA-256.
Veuillez observer que ces valeurs sont sensibles à la casse lors de leur compilation pour former la chaîne avant le hachage !
Ci-dessous un exemple de chaîne à hasher :
APIKEY=d41d8cd98f00b204e9800998ecf8427epassphraseUSERNAME=usernamepassphrase
Important
- Les noms de paramètres doivent être en MAJUSCULES (pour éviter toute confusion)
- Les paramètres doivent être classés dans l'ordre alphabétique
- Notez que certains algorithmes de tri placent les caractères spéciaux devant la première lettre de l’alphabet, d’autres à la fin. En cas de doute, veuillez respecter l’ordre tel qu’indiqué dans la liste SHA.
- Lorsque vous hachez la chaîne compilée avec l’algorithme SHA-256, le système générera un condensé hexadécimal. La longueur de ce condensé SHA est de 64 caractères pour le SHA-256. Ce résultat devrait être envoyé à notre système dans votre requête, en utilisant dans le header de votre requête le couple clé valeur suivant : X-Auth-Token / la chaîne de caractères générées EN MAJUSCULE.
Notre système recomposera la chaîne SHA-256 en fonction des paramètres reçus et comparera le condensé envoyé dans le champ X-Auth-Token de la requête avec le condensé que nous aurons généré. Si le résultat n’est pas identique, l'accès sera refusé. Cette vérification garantit l’exactitude et l’intégrité des données de la requête.
Exemple :
X-USER: username
Authorization: d41d8cd98f00b204e9800998ecf8427e
X-Auth-Token: 33D5BFBF2B4677259B6FE0BF49326A253AB21835
Accept: application/json
Content-Type: application/json
Ping
Ping the api
<?php
// Get cURL resource
$ch = curl_init();
// Set url
curl_setopt($ch, CURLOPT_URL, 'https://licence-api.espacetri.fftri.com/api/ping');
// Set method
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
// Set options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Set headers
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-USER: username",
"Authorization: d41d8cd98f00b204e9800998ecf8427e",
"Content-Type: application/json",
"Accept: application/json",
]
);
// Send the request & save response to $resp
$resp = curl_exec($ch);
if(!$resp) {
die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
} else {
echo "Response HTTP Status Code : " . curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo "\nResponse HTTP Body : " . $resp;
}
// Close request to clear up some resources
curl_close($ch);
Exemple de retour:
{
"name": "Votre nom",
"time": {
"date": "2017-09-13 08:11:25.000000",
"timezone_type": 3,
"timezone": "UTC"
}
}
Cette methode permet de vérifier que les identifiants passés en en-tête fonctionnent correctement et sont reconnus par l'API.
HTTP Request
GET https://licence-api.espacetri.fftri.com/api/ping
Seasons
Get All Seasons
<?php
// Get cURL resource
$ch = curl_init();
// Set url
curl_setopt($ch, CURLOPT_URL, 'https://licence-api.espacetri.fftri.com/api/seasons');
// Set method
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
// Set options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Set headers
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-USER: username",
"Authorization: d41d8cd98f00b204e9800998ecf8427e",
"Content-Type: application/json",
"Accept: application/json",
]
);
// Send the request & save response to $resp
$resp = curl_exec($ch);
if(!$resp) {
die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
} else {
echo "Response HTTP Status Code : " . curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo "\nResponse HTTP Body : " . $resp;
}
// Close request to clear up some resources
curl_close($ch);
Exemple de retour:
{
"2": {
"id": 2,
"name": "2012-2013",
"startDate": "2012-11-01",
"endDate": "2013-10-30"
},
"6": {
"id": 6,
"name": "2013-2014",
"startDate": "2013-10-31",
"endDate": "2014-10-31"
},
"7": {
"id": 7,
"name": "2014-2015",
"startDate": "2014-11-01",
"endDate": "2015-12-31"
},
"8": {
"id": 8,
"name": "2016",
"startDate": "2016-01-01",
"endDate": "2016-12-31"
},
"9": {
"id": 9,
"name": "2017",
"startDate": "2017-01-01",
"endDate": "2017-12-31"
},
"10": {
"id": 10,
"name": "2018",
"startDate": "2018-01-01",
"endDate": "2018-12-31"
}
}
Cette méthode permet de récupérer la totalité des saisons définies dans l'espacetri
HTTP Request
GET https://licence-api.espacetri.fftri.com/api/seasons
Clubs
Récupérer la liste des clubs affiliés pour une saison
<?php
// Get cURL resource
$ch = curl_init();
// Set url
curl_setopt($ch, CURLOPT_URL, 'https://licence-api.espacetri.fftri.com/api/clubs/10');
// Set method
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
// Set options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Set headers
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-USER: username",
"Authorization: d41d8cd98f00b204e9800998ecf8427e",
"Content-Type: application/json",
"Accept: application/json",
]
);
// Send the request & save response to $resp
$resp = curl_exec($ch);
if(!$resp) {
die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
} else {
echo "Response HTTP Status Code : " . curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo "\nResponse HTTP Body : " . $resp;
}
// Close request to clear up some resources
curl_close($ch);
Exemple de retour:
{
"1063": "A.A.S. FRESNES TRIATHLON",
"30088": "A.C.ORANGE",
"1123": "A.S. CORBEIL-ESSONNES TRIATHLON",
"13036": "A.S. LIBOURNE TRIATHLON",
"10023": "A.S. MONACO TRIATHLON",
...
}
Cette méthode retourne la liste des clubs renouvellés pour la saison donnée
HTTP Request
GET https://licence-api.espacetri.fftri.com/api/clubs/<season_id>
URL Parameters
Parametre | Description |
---|---|
season_id | l'ID de la saison pour laquelle on souhaite récupérer la liste des clubs |
Club
Récupérer les informations d'un club
<?php
// Get cURL resource
$ch = curl_init();
// Set url
curl_setopt($ch, CURLOPT_URL, 'https://licence-api.espacetri.fftri.com/api/club/1001');
// Set method
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
// Set options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Set headers
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-USER: username",
"Authorization: d41d8cd98f00b204e9800998ecf8427e",
"Content-Type: application/json",
"Accept: application/json",
]
);
// Send the request & save response to $resp
$resp = curl_exec($ch);
if(!$resp) {
die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
} else {
echo "Response HTTP Status Code : " . curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo "\nResponse HTTP Body : " . $resp;
}
// Close request to clear up some resources
curl_close($ch);
Exemple de retour:
{
"id": "1001",
"name": "TRINOSAURE",
"address": "2 RUE HUBERT MOUCHEL ",
"zip": "78130",
"city": "LES MUREAUX",
"phone": "01 30 99 74 52",
"mobile": "06 08 73 79 54",
"email": "nassera.moumene@gmail.com",
"website": "http://trinosaurelesmureaux.fr/",
"lat": "48.98595",
"lng": "1.9242345",
"league": "ILE DE FRANCE",
"excellence_young": "1",
"healthSport": "0",
"school_label_stars": "3",
"school_label_raid_stars": "1",
"season": "2020",
"championship": "M_Duathlon_D1,F_Triathlon_D1"
}
Cette méthode retourne les informations d'un club
HTTP Request
GET https://licence-api.espacetri.fftri.com/api/club/<club_id>
URL Parameters
Parametre | Description |
---|---|
club_id | l'ID du club pour lequel on souhaite récupérer les informations |
Response Parameters
Parametre | Description |
---|---|
id | id du club |
name | nom du club |
address | adresse du club |
zip | code postal du club |
city | ville du club |
phone | téléphone principal |
mobile | numéro de portable du club |
adresse email du club | |
website | url du site web du club |
lat | latitude de l'adresse du club |
lng | longitude de l'adresse du club |
league | Ligue national du club |
excellence_young | Club Excellence Jeunes |
healthSport | Club labellisé "Coaching Triathlon santé" 0 si pas labellisé |
school_label_stars | Nombre d'étoiles du label "école de triathlon" |
school_label_raid_stars | Nombre d'étoiles du label "école de raid" |
season | Saison du label "école de triathlon" null si pas de label pour la saison en cours |
championship | Liste des participations au championnat des clubs, séparée par une virgule et au format "SEXE_DISCIPLINE_NIVEAU". Exemple : F_Triathlon_D1 pour un club de division 1 de triathlon féminin. |
Age categories
Récupérer la liste des catégorie d'age pour une saison donnée
<?php
// Get cURL resource
$ch = curl_init();
// Set url
curl_setopt($ch, CURLOPT_URL, 'https://licence-api.espacetri.fftri.com/api/age-categories/10');
// Set method
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
// Set options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Set headers
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-USER: username",
"Authorization: d41d8cd98f00b204e9800998ecf8427e",
"Content-Type: application/json",
"Accept: application/json",
]
);
// Send the request & save response to $resp
$resp = curl_exec($ch);
if(!$resp) {
die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
} else {
echo "Response HTTP Status Code : " . curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo "\nResponse HTTP Body : " . $resp;
}
// Close request to clear up some resources
curl_close($ch);
Exemple de retour:
"166": {
"id": "166",
"season": "10",
"name": "Mini-poussin 1",
"ageMin": "6",
"ageMax": "6",
"yearOfBirthMin": "2012",
"yearOfBirthMax": "2012",
"shortName": "MP ",
"mainGroupName": "Mini-poussin"
},
"167": {
"id": "167",
"season": "10",
"name": "Mini-poussin 2",
"ageMin": "7",
"ageMax": "7",
"yearOfBirthMin": "2011",
"yearOfBirthMax": "2011",
"shortName": "MP",
"mainGroupName": "Mini-poussin"
}
...
Cette méthode retourne la liste des catégories d'age pour la saison donnée
HTTP Request
GET https://licence-api.espacetri.fftri.com/api/age-categories/<season_id>
URL Parameters
Parametre | Description |
---|---|
season_id | l'ID de la saison pour laquelle on souhaite récupérer la liste des catégories d'age |
Licences
Test si une licence existe pour la saison donnée
<?php
// Get cURL resource
$ch = curl_init();
// Set url
curl_setopt($ch, CURLOPT_URL, 'https://licence-api.espacetri.fftri.com/api/test-licence/10');
// Set method
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
// Set options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Set headers
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-USER: username",
"Authorization: d41d8cd98f00b204e9800998ecf8427e",
"Content-Type: application/json",
"Accept: application/json",
]
);
// Create body
$json_array = [
"licence" => "XXXXX"
];
$body = json_encode($json_array);
// Set body
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
// Send the request & save response to $resp
$resp = curl_exec($ch);
if(!$resp) {
die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
} else {
echo "Response HTTP Status Code : " . curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo "\nResponse HTTP Body : " . $resp;
}
// Close request to clear up some resources
curl_close($ch);
Exemple de retour:
{
"message": "OK - licence found and available for season"
}
Cette méthode retourne un message si la licence existe
HTTP Request
POST https://licence-api.espacetri.fftri.com/api/test-licence/<season_id>
URL Parameters
Parametre | Description |
---|---|
season_id | l'ID de la saison pour laquelle on souhaite vérifier la licence |
Body Parameters
Parametre | Description |
---|---|
licence | Numéro de licence à vérifier |
Récupère les informations d'un licencié
<?php
// Get cURL resource
$ch = curl_init();
// Set url
curl_setopt($ch, CURLOPT_URL, 'https://licence-api.espacetri.fftri.com/api/licence-infos/10');
// Set method
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
// Set options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Set headers
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-USER: username",
"Authorization: d41d8cd98f00b204e9800998ecf8427e",
"Content-Type: application/json",
"Accept: application/json",
]
);
// Create body
$json_array = [
"gender" => "m",
"lastname" => "XXXX",
"birthdate" => "XXXX-XX-XX",
"licence" => "XXXXXX"
];
$body = json_encode($json_array);
// Set body
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
// Send the request & save response to $resp
$resp = curl_exec($ch);
if(!$resp) {
die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
} else {
echo "Response HTTP Status Code : " . curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo "\nResponse HTTP Body : " . $resp;
}
// Close request to clear up some resources
curl_close($ch);
Exemple de retour:
{
"licenseNumber": "XXXXXXXXXXXXXXXXX",
"licenseValidationDate": "XXXX-XX-XX",
"mutation": "NON",
"nationality": "Fran\u00e7ais",
"ageCategory": "V\u00e9t\u00e9ran 3",
"club_id": 1,
"club_name": "CLUB DE DEMO",
"certifComp": true,
"letterType": "C",
"needPassCompet": false
}
Cette méthode retourne les informations du licencié
HTTP Request
POST https://licence-api.espacetri.fftri.com/api/licence-infos/<season_id>
URL Parameters
Parametre | Description |
---|---|
season_id | l'ID de la saison pour laquelle on souhaite récupérer la liste des clubs |
Body Parameters
Parametre | Description |
---|---|
gender | Sexe du participant (m pour masculin, f pour féminin) |
lastname | Nom de famille du licencié tel qu'il est référencé dans l'espace tri |
birthdate | Date de naissance du licencié au format YYYY-MM-DD |
licence | Numéro de licence pour lequel on souhaite récupérer les informations |
Pass compétition
Créer un pass compétition
<?php
// Get cURL resource
$ch = curl_init();
// Set url
curl_setopt($ch, CURLOPT_URL, 'https://licence-api.espacetri.fftri.com/api/create-pass-competition');
// Set method
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
// Set options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Set headers
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-USER: username",
"Authorization: d41d8cd98f00b204e9800998ecf8427e",
"X-Auth-Token: 33D5BFBF2B4677259B6FE0BF49326A253AB21835",
"Content-Type: application/json",
"Accept: application/json",
]
);
// Create body
$json_array = [
'fftriId' => xx, // Id de l'epreuve sur l'espacetri (pas celui de la manifestation)
"firstName" => "John", // Prénom du participant
"lastName" => "Legend", // Nom du participant
"birthDate" => "1988-07-23" // Date de naissance du participant
'price' => 20 // Prix du pass compétition,
'type' => 1, // 1 pour individuel | 2 pour relais
'customerEmail' => 'mail@gmail.com', // Email du participant ou test@fftri.com si testEdition à 1
'testEdition' => 0, // 0 pour le mode production, 1 pour tester la réponse de l'API
'ituFedeId' => 12, // Id de la fédération ITU dans l'espacetri (facultatif ne pas ajouter si NULL)
'ituLicenseNumber' => 'XXXXXXX' // Numéro de licence itu (facultatif ne pas ajouter si NULL)
'sendInvoice' => 1, // 0 si le participant ne veut pas recevoir de facture pour le pass compétition, 1 s'il veut recevoir une facture (valeur pas défaut à 1)
'language' => 'FR' // FR si le participant veut recevoir la facture en français, EN pour la recevoir en anglais (valeur par défaut à FR)
'address' => 'FR' // Adresse de facturation (falcultatif pour l'instant)
'zip' => 'FR' // Code postal de facturation (falcultatif pour l'instant)
'city' => 'FR' // Ville de facturation (falcultatif pour l'instant)
'country' => 'FR' // Pays de facturation (falcultatif pour l'instant)
];
$body = json_encode($json_array);
// Set body
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
// Send the request & save response to $resp
$resp = curl_exec($ch);
if(!$resp) {
die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
} else {
echo "Response HTTP Status Code : " . curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo "\nResponse HTTP Body : " . $resp;
}
// Close request to clear up some resources
curl_close($ch);
Exemple de retour:
{
"success": "true",
"passNumber": "XXXXXXXXXXXXXXXXX",
"url": "https://espacetri.fftri.com/pass-competition/print-public/XXXXXXXXXXXXXXXXX",
}
Cette méthode permet de créer un pass compétition.
A partir du 26/08 à 12H, le pass compétition sera maintenant automatiquement marqué comme validé et payé dès la création. Il n'y aura plus besoin de passer par la méthode de mise à jour du pass. En attendant pour tester le fonctionnement il est possible de passer en paramètre 'isPaid' à 1 directement sur cette méthode sans passer par la méthode de mise à jour du pass.
testEdition ne créé plus de pass compétition de test mais permet juste de tester la réponse de l'API.
HTTP Request
POST https://licence-api.espacetri.fftri.com/api/create-pass-competition
Body Parameters
Parametre | Description |
---|---|
fftriId | Id de l'epreuve sur l'espacetri (pas celui de la manifestation) |
firstName | Prénom du participant |
lastName | Nom du participant |
birthDate | Date de naissance du participant |
price | Prix du pass compétition, |
type | 1 pour individuel, 2 pour relais |
customerEmail | Email du participant ou test@fftri.com si testEdition à 1 |
testEdition | 0 pour le mode production, 1 pour tester la réponse de l'API |
ituFedeId | Id de la fédération ITU dans l'espacetri (facultatif ne pas ajouter si NULL) |
ituLicenseNumber | Numéro de licence itu (facultatif ne pas ajouter si NULL) |
sendInvoice | 0 si le participant ne veut pas recevoir de facture pour le pass compétition, 1 s'il veut recevoir une facture (facultatif, valeur pas défaut à 1) |
language | FR si le participant veut recevoir la facture en français, EN pour la recevoir en anglais (facultatif, valeur par défaut à FR) |
address | Adresse de facturation (falcultatif pour l'instant) |
zip | Code postal de facturation (falcultatif pour l'instant) |
city | Ville de facturation (falcultatif pour l'instant) |
country | Pays de facturation (falcultatif pour l'instant) |
Response Parameters
Parametre | Description |
---|---|
success | true en cas de succès, false en cas d'échec. |
error | En cas d'échec affiche l'erreur, non présent en cas de succès. |
passNumber | En cas de succès affiche le numéro du pass créé, non présent en cas d'échec. |
url | En cas de succès affiche l'url de téléchargement du pass compétition, non présent en cas d'échec. |
Mettre à jour un pass compétition
<?php
// Get cURL resource
$ch = curl_init();
// Set url
curl_setopt($ch, CURLOPT_URL, 'https://licence-api.espacetri.fftri.com/api/update-pass-competition');
// Set method
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
// Set options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Set headers
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-USER: username",
"Authorization: d41d8cd98f00b204e9800998ecf8427e",
"X-Auth-Token: 33D5BFBF2B4677259B6FE0BF49326A253AB21835",
"Content-Type: application/json",
"Accept: application/json",
]
);
// Create body
$json_array = [
'passNumber' => xx, // Numéro du pass compétition
'refund' => 0 // 0 si le pass n'a pas été remboursé, 1 si le pass est remboursé
'canceledReason' => "Remboursement" // Raison du remboursement (facultatif)
];
$body = json_encode($json_array);
// Set body
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
// Send the request & save response to $resp
$resp = curl_exec($ch);
if(!$resp) {
die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
} else {
echo "Response HTTP Status Code : " . curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo "\nResponse HTTP Body : " . $resp;
}
// Close request to clear up some resources
curl_close($ch);
Exemple de retour:
{
"success": "true",
}
Cette méthode permet de rembourser un pass compétition.
HTTP Request
POST https://licence-api.espacetri.fftri.com/api/update-pass-competition
Body Parameters
Parametre | Description |
---|---|
passNumber | Numéro du pass compétition |
refund | 0 si le pass n'est pas remboursé, 1 si le pass est remboursé |
canceledReason | Raison du remboursement (facultatif) |
Response Parameters
Parametre | Description |
---|---|
success | true en cas de succès, false en cas d'échec. |
error | En cas d'échec affiche l'erreur, non présent en cas de succès. |
Vérifier un pass compétition
<?php
// Get cURL resource
$ch = curl_init();
// Set url
curl_setopt($ch, CURLOPT_URL, 'https://licence-api.espacetri.fftri.com/api/pass-competition/PCXXXX/XXXX');
// Set method
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
// Set options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Set headers
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-USER: username",
"Authorization: d41d8cd98f00b204e9800998ecf8427e",
"X-Auth-Token: 33D5BFBF2B4677259B6FE0BF49326A253AB21835",
"Content-Type: application/json",
"Accept: application/json",
]
);
// Send the request & save response to $resp
$resp = curl_exec($ch);
if(!$resp) {
die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
} else {
echo "Response HTTP Status Code : " . curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo "\nResponse HTTP Body : " . $resp;
}
// Close request to clear up some resources
curl_close($ch);
Exemple de retour:
{
"firstname": "John",
"lastname": "John",
"birthDate": "1988-07-23",
"email": "mail@gmail.com",
"passNumber": "PCXXXXX",
"created": "2022-01-01",
"statusDescription": "valid",
"isPaid": "1",
"refund": "0",
"type": "1",
"typeDescription": "individual",
"trial": "XXXX",
"event": "XXXX",
"discipline": "Triathlon",
"distance": "Jeunes 8-11",
"date": "2022-05-01",
"eventName": "XXXX",
"place": "Rue de la poste",
"city": "BIARRITZ",
"zip": "64200",
}
Cette méthode permet de vérifier l'existence et la validité d'un pass compétition.
HTTP Request
GET https://licence-api.espacetri.fftri.com/api/pass-competition/<pass_number>/<trial_id>
URL Parameters
Parametre | Description |
---|---|
pass_number | Numéro du pass compéttion |
trial_id | Id de l'epreuve sur l'espacetri (pas celui de la manifestation) |
Response Parameters
Parametre | Description |
---|---|
firstname | Prénom |
lastname | Nom |
birthDate | Date de naissance |
Adresse mail | |
passNumber | Numéro du pass compéttion |
created | Date de création du pass |
statusDescription |
Statut du pass :
|
isPaid | 0 si le pass n'est pas payé, 1 si le pass est payé |
refund | 0 si le pass n'est pas remboursé, 1 si le pass est remboursé |
type |
|
typeDescription | Description du type de pass |
trial | Id de l'épreuve |
event | Id de l'événement |
event | Id de l'événement |
discipline | Nom de la discipline |
distance | Distance de l'épreuve |
date | Date de l'épreuve |
eventName | Nom de l'événement |
place | Adresse de l'événement |
city | Ville de l'événement |
zip | Code postal de l'événement |
Lister les pass d'une compétition
<?php
// Get cURL resource
$ch = curl_init();
// Set url
curl_setopt($ch, CURLOPT_URL, 'https://licence-api.espacetri.fftri.com/api/pass-competition-list/XXXXX/3/0/0');
// Set method
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
// Set options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Set headers
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-USER: username",
"Authorization: d41d8cd98f00b204e9800998ecf8427e",
"X-Auth-Token: 33D5BFBF2B4677259B6FE0BF49326A253AB21835",
"Content-Type: application/json",
"Accept: application/json",
]
);
// Send the request & save response to $resp
$resp = curl_exec($ch);
if(!$resp) {
die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
} else {
echo "Response HTTP Status Code : " . curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo "\nResponse HTTP Body : " . $resp;
}
// Close request to clear up some resources
curl_close($ch);
Exemple de retour:
{
"0": {
"firstname": "John",
"lastname": "Legend",
"birthDate": "1988-07-23",
"email": "mail@gmail.com",
"passNumber": "PCXXXXX",
"created": "2022-01-01",
"statusDescription": "valid",
"isPaid": "1",
"refund": "0",
"type": "1",
"typeDescription": "individual",
},
"1": {
"firstname": "Jane",
"lastname": "Doe",
"birthDate": "1978-07-01",
"email": "mail@gmail.com",
"passNumber": "PCXXXXX",
"created": "2022-01-10",
"statusDescription": "valid",
"isPaid": "1",
"refund": "0",
"type": "1",
"typeDescription": "individual",
}
}
Cette méthode de lister les pass créés pour une compétition.
HTTP Request
GET https://licence-api.espacetri.fftri.com/api/pass-competition-list/<trial_id>/<is_paid>[/<provider>][/<csv>]
URL Parameters
Parametre | Description |
---|---|
trial_id | Id de l'epreuve sur l'espacetri (pas celui de la manifestation) |
is_paid |
|
provider |
|
csv |
|
Response Parameters
Parametre | Description |
---|---|
firstname | Prénom |
lastname | Nom |
birthDate | Date de naissance |
Adresse mail | |
passNumber | Numéro du pass compéttion |
created | Date de création du pass |
statusDescription |
Statut du pass :
|
isPaid | 0 si le pass n'est pas payé, 1 si le pass est payé |
refund | 0 si le pass n'est pas remboursé, 1 si le pass est remboursé |
type |
|
typeDescription | Description du type de pass |
Epreuves
Récupérer les épreuves d'un organisateur
<?php
// Get cURL resource
$ch = curl_init();
// Set url
curl_setopt($ch, CURLOPT_URL, 'https://licence-api.espacetri.fftri.com/api/get-trials-by-orga/ORGAXXXXX/6512ad43d9cea6e02d990b0a82652dca');
// Set method
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
// Set options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Set headers
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-USER: username",
"Authorization: d41d8cd98f00b204e9800998ecf8427e",
"Content-Type: application/json",
"Accept: application/json",
]
);
// Send the request & save response to $resp
$resp = curl_exec($ch);
if(!$resp) {
die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
} else {
echo "Response HTTP Status Code : " . curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo "\nResponse HTTP Body : " . $resp;
}
// Close request to clear up some resources
curl_close($ch);
Exemple de retour:
{
"10286": {
"id_event": "10286",
"name_event": "CHTRIMAN GRAVELINES",
"date_start_event": "2022-07-01",
"date_end_event": "2022-07-03",
"league_id": "2"
"league": "HAUTS DE FRANCE"
"status": "2"
"trials": {
"31732": {
"id_trial": "31732",
"name_trial": "DUATHLON 111",
"date_trial": "2022-07-03",
"discipline": "Duathlon",
"distance": "S"
"format": "Ind."
"label_trial": "Mixité"
"pass_price": "5"
"second_pass_price": null
}
"31728": {
"id_trial": "31728",
"name_trial": "CHTRI JEUNES 10/13",
"date_trial": "2022-07-03",
"discipline": "Triathlon",
"distance": "Jeunes 10-13"
"format": "Ind."
"label_trial": "Mixité;Triathlon Durable"
"pass_price": "2"
"second_pass_price": null
}
}
}
}
Cette méthode retourne la liste des épreuves à venir pour un organisateur identifié par un nom d'utilisateur et une clé API trouvable sur la page d'accueil de leur compte espaceTri.
HTTP Request
GET https://licence-api.espacetri.fftri.com/api/get-trials-by-orga/<login>/<key>/
URL Parameters
Parametre | Description |
---|---|
login | Nom d'utilisateur de l'organisateur sur l'espaceTri |
key | Clé API de l'organisateur |
Response Parameters
Parametre | Description |
---|---|
id_event | Id de la manifestation |
name_event | Nom de la manifestation |
date_start_event | Date de début de la manifestation |
date_end_event | Date de fin de la manifestation |
league_id | Id de la ligue |
league | Nom de la ligue |
status |
Statut de la manifestation :
|
id_trial | Id de l'épreuve |
name_trial | Nom de l'épreuve |
date_trial | Date de l'épreuve |
lng | longitude de l'adresse du club |
discipline | Discipline de l'épreuve |
distance | Distance de l'épreuve |
format |
Format de l'épreuve :
|
label_trial | Label de l'épreuve |
pass_price | Prix du pass compétition |
second_pass_price | Prix du second pass compétition si l'épreuve a plusieurs format (à éviter) |
Fédérations ITU
Récupérer les informations d'une fédération ITU
<?php
// Get cURL resource
$ch = curl_init();
// Set url
curl_setopt($ch, CURLOPT_URL, 'https://licence-api.espacetri.fftri.com/api/itu-federation/4');
// Set method
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
// Set options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Set headers
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-USER: username",
"Authorization: d41d8cd98f00b204e9800998ecf8427e",
"X-Auth-Token: 33D5BFBF2B4677259B6FE0BF49326A253AB21835",
"Content-Type: application/json",
"Accept: application/json",
]
);
// Send the request & save response to $resp
$resp = curl_exec($ch);
if(!$resp) {
die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
} else {
echo "Response HTTP Status Code : " . curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo "\nResponse HTTP Body : " . $resp;
}
// Close request to clear up some resources
curl_close($ch);
Exemple de retour:
{
"4": {
"name_federation": "Burkina Faso",
"id": "4",
"name_country": "Burkina Faso",
"alpha2": "BF",
"ituFree": "0"
}
}
Cette méthode retourne les informations d'une fédération ITU
HTTP Request
GET https://licence-api.espacetri.fftri.com/api/itu-federation/<federation_id>
Récupérer la liste des fédérations ITU affiliées
<?php
// Get cURL resource
$ch = curl_init();
// Set url
curl_setopt($ch, CURLOPT_URL, 'https://licence-api.espacetri.fftri.com/api/get-itu-affiliated-federation');
// Set method
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
// Set options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Set headers
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-USER: username",
"Authorization: d41d8cd98f00b204e9800998ecf8427e",
"X-Auth-Token: 33D5BFBF2B4677259B6FE0BF49326A253AB21835",
"Content-Type: application/json",
"Accept: application/json",
]
);
// Send the request & save response to $resp
$resp = curl_exec($ch);
if(!$resp) {
die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
} else {
echo "Response HTTP Status Code : " . curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo "\nResponse HTTP Body : " . $resp;
}
// Close request to clear up some resources
curl_close($ch);
Exemple de retour:
{
"113": {
"id": "113",
"country_id": "56",
"name": "Belgian Triathlon & Duathlon Federation",
"ituFree": "1"
},
"123": {
"id": "123",
"country_id": "276",
"name": "Deutsche Triathlon Union",
"ituFree": "1"
},
"131": {
"id": "131",
"country_id": "380",
"name": "Federazione Italiana Triathlon",
"ituFree": "1"
},
...
}
Cette méthode retourne la liste des Fédérations ITU affiliées dont les adhérents bénéficie de la gratuité du pass compétition
HTTP Request
GET https://licence-api.espacetri.fftri.com/api/get-itu-affiliated-federation
Récupérer la liste de toutes les fédérations ITU
<?php
// Get cURL resource
$ch = curl_init();
// Set url
curl_setopt($ch, CURLOPT_URL, 'https://licence-api.espacetri.fftri.com/api/itu-federations');
// Set method
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
// Set options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Set headers
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-USER: username",
"Authorization: d41d8cd98f00b204e9800998ecf8427e",
"X-Auth-Token: 33D5BFBF2B4677259B6FE0BF49326A253AB21835",
"Content-Type: application/json",
"Accept: application/json",
]
);
// Send the request & save response to $resp
$resp = curl_exec($ch);
if(!$resp) {
die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
} else {
echo "Response HTTP Status Code : " . curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo "\nResponse HTTP Body : " . $resp;
}
// Close request to clear up some resources
curl_close($ch);
Exemple de retour:
{
"1": {
"id": "1",
"name_federation": "Fédération Algérienne de Triathlon",
"name_country": "Algérie",
"alpha2": "DZ",
"ituFree": "0"
},
"2": {
"id": "2",
"name_federation": "Association de Triathlon Benin",
"name_country": "Bénin",
"alpha2": "BJ",
"ituFree": "0"
},
"3": {
"id": "3",
"name_federation": "Botswana Triathlon Society",
"name_country": "Botswana",
"alpha2": "BW",
"ituFree": "0"
},
"4": {
"id": "4",
"name_federation": "Burkina Faso",
"name_country": "Burkina Faso",
"alpha2": "BF",
"ituFree": "0"
},
...
}
Cette méthode retourne la liste de toutes les fédérations itu
HTTP Request
GET https://licence-api.espacetri.fftri.com/api/itu-federations