NAVNavbar
php

Mises à jour

Introduction

Bienvenue sur cette documentation de l'API de l'espacetri qui permet de vérifier une licence pour une saison

Authentification

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 et d41d8cd98f00b204e9800998ecf8427e 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 Licences Expérience

Création du token d'authentification

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

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

<?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

Liste des saisons

<?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

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

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
email 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

Liste des catégorie d'âge 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

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",
  "league_id": 1,
  "league_name": "LIGUE DE DEMO",
  "letterType": "C",
  "needPassCompet": false
  "needLicExp": false
}

Cette méthode retourne les informations du licencié

Pour le retour "needPassCompet" et "needLicExp" renvoient le même résultat. "needPassCompet" sera supprimé le 01/03/2026.

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

Licences Expérience

Créer une Licence Expérience


<?php

// Get cURL resource
$ch = curl_init();

// Set url
curl_setopt($ch, CURLOPT_URL, 'https://licence-api.espacetri.fftri.com/api/create-license-experience');

// 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 d'une Licence Expérience,
            '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
            'receivePromo' => 0, // Resultat de la question RGPD sur l'utilisation de l'email, 0 ou 1
            'WTFedeId' => 12, // Id de la fédération WT dans l'espacetri (facultatif ne pas ajouter si NULL)
            'WTLicenseNumber' => 'XXXXXXX' // Numéro de licence WT (facultatif ne pas ajouter si NULL)
            'sendInvoice' => 1, // 0 si le participant ne veut pas recevoir de facture pour la Licence Expérience, 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' => 'XXXXXX' // Adresse de facturation (falcultatif pour l'instant)
            'zip' => 'XXXXX' // Code postal de facturation (falcultatif pour l'instant)
            'city' => 'XXXXXXX' // Ville de facturation (falcultatif pour l'instant)
            'country' => 'FR' // Pays de facturation (falcultatif pour l'instant)
            'freeLicExp' => 1 // A facturer à l'organisateur



        ];
$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",
  "licExpNumber": "XXXXXXXXXXXXXXXXX",
  "url": "https://espacetri.fftri.com/license-experience/print-public/XXXXXXXXXXXXXXXXX",
}

Cette méthode permet de créer une Licence Expérience.

testEdition ne créé pas de Licence Expérience de test mais permet juste de tester la réponse de l'API.

Les paramètres doivent être envoyés au format texte brut sans code HTML ni ASCII.

HTTP Request

POST https://licence-api.espacetri.fftri.com/api/create-license-experience

L'ancienne méthode "create-pass-competition" avec les anciens paramètres fonctionnera toujours jusqu'au 01/03/2026

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 d'une Licence Expérience,
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
receivePromo Resultat de la question RGPD sur l'utilisation de l'email, 0 pour non, 1 pour oui
WTFedeId Id de la fédération ITU dans l'espacetri (facultatif ne pas ajouter si NULL)
WTLicenseNumber Numéro de licence itu (facultatif ne pas ajouter si NULL)
sendInvoice 0 si le participant ne veut pas recevoir de facture pour la Licence Expérience, 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 (facultatif pour l'instant)
zip Code postal de facturation (facultatif pour l'instant)
city Ville de facturation (facultatif pour l'instant)
country Pays de facturation (facultatif pour l'instant)
freeLicExp
  • 0 : Fonctionnement par défaut
  • 1 : Licence expérience à facturer à l'organisateur

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.
warning En cas de succès affiche un tableau répertoriant les erreurs de paramétrage non bloquantes.
licExpNumber En cas de succès affiche le numéro de la Licence Expérience créée, non présent en cas d'échec.
url En cas de succès affiche l'url de téléchargement d'une Licence Expérience, non présent en cas d'échec.

Rembourser une Licence Expérience


<?php

// Get cURL resource
$ch = curl_init();

// Set url
curl_setopt($ch, CURLOPT_URL, 'https://licence-api.espacetri.fftri.com/api/refund-license-experience');

// 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 = [
                  'licExpNumber' => xx, // Numéro d'une Licence Expérience
                  '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 une Licence Expérience.

HTTP Request

POST https://licence-api.espacetri.fftri.com/api/refund-license-experience

L'ancienne méthode "update-pass-competition" avec les anciens paramètres fonctionnera toujours jusqu'au 01/03/2026

Body Parameters

Parametre Description
licExpNumber Numéro de la Licence Expérience
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 une Licence Expérience


<?php

// Get cURL resource
$ch = curl_init();

// Set url
curl_setopt($ch, CURLOPT_URL, 'https://licence-api.espacetri.fftri.com/api/license-experience/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",
  "licExpNumber": "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",
  "freeLicExp": "0",
}

Cette méthode permet de vérifier l'existence et la validité d'une Licence Expérience.

HTTP Request

GET https://licence-api.espacetri.fftri.com/api/license-experience/<licExp_number>/<trial_id>

L'ancienne méthode "pass-competition" avec les anciens paramètres fonctionnera toujours jusqu'au 01/03/2026

URL Parameters

Parametre Description
licExp_number Numéro de la Licence Expérience
trial_id Id de l'épreuve sur l'espacetri (pas celui de la manifestation)

Response Parameters

Parametre Description
firstname Prénom
lastname Nom
birthDate Date de naissance
email Adresse mail
licExpNumber Numéro de la Licence Expérience
created Date de création de la Licence Expérience
statusDescription Statut de la Licence Expérience :
  • created => 'Créée'
  • valid => 'Valide'
  • used => 'Utilisée'
  • refund => 'Remboursée'
  • cancel => 'Annulée'
isPaid 0 si la Licence Expérience n'est pas payée, 1 si la Licence Expérience est payée
refund 0 si la Licence Expérience n'est pas remboursée, 1 si la Licence Expérience est remboursée
type
  • 1 => 'Individuel'
  • 2 => 'Relais'
  • 3 => 'Loisir'
typeDescription Description du type de la Licence Expérience
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
freeLicExp
  • 0 : Fonctionnement par défaut
  • 1 : Licence expérience à facturer à l'organisateur

Lister les Licences Expérience d'une épreuve


<?php

// Get cURL resource
$ch = curl_init();

// Set url
curl_setopt($ch, CURLOPT_URL, 'https://licence-api.espacetri.fftri.com/api/license-experience-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",
    "licExpNumber": "PCXXXXX",
    "created": "2022-01-01",
    "statusDescription": "valid",
    "isPaid": "1",
    "refund": "0",
    "type": "1",
    "typeDescription": "individual",
    "freeLicExp": "0",
  },
  "1": {
    "firstname": "Jane",
    "lastname": "Doe",
    "birthDate": "1978-07-01",
    "email": "mail@gmail.com",
    "licExpNumber": "PCXXXXX",
    "created": "2022-01-10",
    "statusDescription": "valid",
    "isPaid": "1",
    "refund": "0",
    "type": "1",
    "typeDescription": "individual",
    "freeLicExp": "1",
  }
}

Cette méthode permet de lister les Licences Expérience créées pour une compétition.

HTTP Request

GET https://licence-api.espacetri.fftri.com/api/license-experience-list/<trial_id>/<is_paid>[/<provider>][/<csv>]

L'ancienne méthode "pass-competition-list" avec les anciens paramètres fonctionnera toujours jusqu'au 01/03/2026

URL Parameters

Parametre Description
trial_id Id de l'epreuve sur l'espacetri (pas celui de la manifestation)
is_paid
  • 0 : Pour les Lic Exp non payées
  • 1 : Pour les Lic Exp payées
  • 3 : Pour afficher toutes les Licences Expérience
provider
  • 0 : Pour afficher toutes les Licences Expérience
  • 1 : Pour afficher seulement les Licences Expérience vendues par ce compte prestataire technique
csv
  • 0 : Pour afficher le résultat en Json
  • 1 : Pour afficher le résultat en texte formaté pour un CSV

Response Parameters

Parametre Description
firstname Prénom
lastname Nom
birthDate Date de naissance
email Adresse mail
licExpNumber Numéro de la Licence Expérience
created Date de création de la Lic Exp
statusDescription Statut de la Lic Exp :
  • created => 'Créée'
  • valid => 'Valide'
  • used => 'Utilisée'
  • refund => 'Remboursée'
  • cancel => 'Annulée'
isPaid 0 si la Lic Exp n'est pas payée, 1 si la Lic Exp est payée
refund 0 si la Lic Exp n'est pas remboursée, 1 si la Lic Exp est remboursée
type
  • 1 => 'Individuel'
  • 2 => 'Relais'
  • 3 => 'Loisir'
typeDescription Description du type de la Lic Exp
freeLicExp
  • 0 : Fonctionnement par défaut
  • 1 : Licence expérience à facturer à l'organisateur

Disciplines

Liste les disciplines


<?php

// Get cURL resource
$ch = curl_init();

// Set url
curl_setopt($ch, CURLOPT_URL, 'https://licence-api.espacetri.fftri.com/api/get-trial-discipline/18');

// 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:

{
  "0": {
    "id": 1,
    "name": "Triathlon",
  },
  "1": {
    "id": 2,
    "name": "Rando Triathlon",
  },
}

Cette méthode retourne la liste des disciplines pour la saison donnée.

HTTP Request

GET https://licence-api.espacetri.fftri.com/api/get-trial-discipline/<season>

URL Parameters

Parametre Description
season l'ID de la saison pour laquelle on souhaite récupérer la liste des disciplines

Distances

Liste les distances


<?php

// Get cURL resource
$ch = curl_init();

// Set url
curl_setopt($ch, CURLOPT_URL, 'https://licence-api.espacetri.fftri.com/api/get-trial-distance/18');

// 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:

{
  "0": {
    "id": 3,
    "name": "M",
  },
  "1": {
    "id": 4,
    "name": "L",
  },
}

Cette méthode retourne la liste des distances pour la saison donnée.

HTTP Request

GET https://licence-api.espacetri.fftri.com/api/get-trial-distance/<season>

URL Parameters

Parametre Description
season l'ID de la saison pour laquelle on souhaite récupérer la liste des distances

Epreuves

Liste 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
              "licExp_price": "5"
              "second_licExp_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
              "licExp_price": "2"
              "second_licExp_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.

Pour le retour "pass_price" et "licExp_price" renvoient le même résultat. "pass_price" sera supprimé le 01/03/2026.
De même pour "second_pass_price" et "second_licExp_price".

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 :
  • -1 => 'Supprimée'
  • 0 => 'En cours de création'
  • 1 => 'Dates envoyées à la ligue'
  • 2 => 'Dates Acceptées par la ligue'
  • 3 => 'Retournée par la ligue pour modification'
  • 4 => 'Refusée par la ligue'
  • 5 => 'Manifestation complétée, mais non soumise à la ligue'
  • 6 => 'Manifestation complétée en attente d'approbation par la ligue'
  • 7 => 'Manifestation complétée et autorisée par la ligue'
  • 8 => 'Manifestation annulée par la ligue'
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 :
  • Ind. => 'Individuel'
  • Relai => Relais
  • CLM => 'Contre la montre'
  • CLM EQ => Contre la montre par équipe
  • EQ => Equipe
label_trial Label de l'épreuve
licExp_price (pass_price) Prix de la Licence Expérience
second_licExp_price (second_pass_price) Prix de la Licence Expérience relais si l'épreuve a plusieurs format (à éviter)

Fédérations WT

Informations d'une fédération WT


<?php

// Get cURL resource
$ch = curl_init();

// Set url
curl_setopt($ch, CURLOPT_URL, 'https://licence-api.espacetri.fftri.com/api/wt-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",
        "WTFree": "0"
    }
}

Cette méthode retourne les informations d'une fédération WT

HTTP Request

GET https://licence-api.espacetri.fftri.com/api/wt-federation/<federation_id>

L'ancienne méthode "itu-federation" avec les anciens paramètres fonctionnera toujours jusqu'au 01/03/2026

Liste des fédérations WT affiliées


<?php

// Get cURL resource
$ch = curl_init();

// Set url
curl_setopt($ch, CURLOPT_URL, 'https://licence-api.espacetri.fftri.com/api/get-wt-affiliated-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:

{
  "113": {
        "id": "113",
        "country_id": "56",
        "name": "Belgian Triathlon & Duathlon Federation",
        "WTFree": "1"
    },
    "123": {
        "id": "123",
        "country_id": "276",
        "name": "Deutsche Triathlon Union",
        "WTFree": "1"
    },
    "131": {
        "id": "131",
        "country_id": "380",
        "name": "Federazione Italiana Triathlon",
        "WTFree": "1"
    },
  ...
}

Cette méthode retourne la liste des Fédérations WT affiliées dont les adhérents bénéficie de la gratuité de la Licence Expérience

HTTP Request

GET https://licence-api.espacetri.fftri.com/api/get-wt-affiliated-federations

L'ancienne méthode "get-itu-affiliated-federation" avec les anciens paramètres fonctionnera toujours jusqu'au 01/03/2026

Liste de toutes les fédérations WT


<?php

// Get cURL resource
$ch = curl_init();

// Set url
curl_setopt($ch, CURLOPT_URL, 'https://licence-api.espacetri.fftri.com/api/wt-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",
        "WTFree": "0"
    },
    "2": {
        "id": "2",
        "name_federation": "Association de Triathlon Benin",
        "name_country": "Bénin",
        "alpha2": "BJ",
        "WTFree": "0"
    },
    "3": {
        "id": "3",
        "name_federation": "Botswana Triathlon Society",
        "name_country": "Botswana",
        "alpha2": "BW",
        "WTFree": "0"
    },
    "4": {
        "id": "4",
        "name_federation": "Burkina Faso",
        "name_country": "Burkina Faso",
        "alpha2": "BF",
        "WTFree": "0"
    },
  ...
}

Cette méthode retourne la liste de toutes les fédérations WT

HTTP Request

GET https://licence-api.espacetri.fftri.com/api/wt-federations

L'ancienne méthode "itu-federations" avec les anciens paramètres fonctionnera toujours jusqu'au 01/03/2026

php