La configuration de Papi-web pour l'accès à la plateforme Chess Event est décrite dans la documentation utilisateur :
- Création des fichiers Papi des tournois à partir de la plateforme d'inscription en ligne Chess Event
Cette page en décrit les aspects techniques.
Le téléchargement se fait sur authentification pour limiter la diffusion des coordonnées des joueur·euses (adresses mél et numéros de téléphone).
Les identifiants utilisés pour l'authentification sont ceux de la plateforme Chess Event (administrateur, utilisateur ou gestionnaire d'évènement).
Une connexion à la plateforme ChessEvent est définie par les informations suivantes :
- l'identifiant FFE de l'utilisateur·trice sur la plateforme Chess Event (de la forme XNNNNN, facultatif) ;
- le mot de passe l'utilisateur·trice sur la plateforme Chess Event (facultatif) ;
- l'identifiant de l'évènement sur la plateforme Chess Event.
Un tournoi est connecté à un tournoi de la plateforme Chess Event avec les informations suivantes :
- une connexion à la plateforme ChessEvent (ci-dessus) ;
- le nom du tournoi sur la plateforme Chess Event.
L'URL de la requête est https://services.breizh-chess-online.fr/chessevent/download.
Tous les paramètres seront passés en clair dans le corps de la requête HTTPS sous la forme de paramètres (méthode POST).
Paramètre | Description |
---|---|
user_id |
L'identifiant FFE de l'utilisateur·trice (de la forme XNNNNN). |
password |
Le mot de passe l'utilisateur·trice sur la plateforme Chess Event. |
event_id |
L'identifiant de l'évènement sur la plateforme Chess Event. |
tournament_name |
Le nom du tournoi sur la plateforme Chess Event. |
Exemple de paramètres :
- user_id=C69548
- password=my-password
- event_id=BRE_35_domloupfide36
- tournament_name=Tournoi A
Les données sont attendues sous la forme d'un dictionnaire au format JSON (Content-Type: application/json
).
Champ | Type | Description |
---|---|---|
name |
str |
Le nom. |
type |
enum |
Le type :1 = Suisse2 = Toutes rondes |
rounds |
int |
Le nombre de rondes. |
pairing |
enum |
L'appariement :1 = Standard2 = Haley3 = Haley dégressif4 = SAD5 = Accéléré niçois6 = Berger |
time_control |
str |
La cadence. |
location |
str |
Le lieu. |
arbiter |
str |
L'arbitre. |
start |
timestamp |
La date de début. |
end |
timestamp |
La date de fin. |
tie_break_1 , tie_break_2 , tie_break_3 |
enum |
Les départages :0 = aucun départage1 = Buchholz2 = Buchholz Tronqué3 = Buchholz Médian4 = Cumulatif5 = Performance6 = Somme des Buchholz7 = Nombre de victoires8 = Kashdan9 = Koya10 = Sonnenborn-Berger |
rating |
enum |
Le classement utilisé :1 = Standard2 = Rapide3 = Blitz |
players |
list |
La liste des joueur·euses (détails plus bas). |
Exemple de tournoi :
{
'name': '36e open Fide de Domloup',
'type': 1,
# Suisse
'rounds': 5,
'pairing': 1,
# Standard
'time_control': 'G3600 + 30',
'location': 'Domloup',
'arbiter': 'AUBRY Pascal C69548',
'start': 1708767000,
# 2024-02-24 09:30
'end': 1708880400,
# 2024-02-25 17:00
'tie_break_1': 2,
# Buchholz tronqué
'tie_break_2': 3,
# Buchholz médian
'tie_break_3': 5,
# Performance
'rating': 1,
# Standard
'players': [
...
],
}
Champ | Type | Description |
---|---|---|
last_name |
str |
Le nom de famille. |
first_name |
str |
Le prénom. |
gender |
enum |
Le genre :0 = aucun1 = Féminin2 = Masculin |
birth |
timestamp |
La date de naissance. |
federation |
str |
Le code de la fédération (FED). |
fide_id |
int |
L'identifiant Fide. |
ffe_id |
str |
L'identifiant FFE (champ RefFFE dans Papi). |
ffe_license |
enum |
La licence :0 = aucune1 = Licence non renouvelée (N)2 = Licence B3 = Licence A |
ffe_licence_number |
str |
Le numéro de licence FFE (champ NrFFE dans Papi, au format XNNNNN). |
ffe_league |
str |
Le code de la ligue (LIG). |
ffe_club_id |
int |
Le numéro d'identifiant du club. |
ffe_club |
str |
Le club. |
category |
enum |
La catégorie :0 = aucune1 = U8 (Ppo)2 = U10 (Pou)3 = U12 (Pup)4 = U14 (Ben)5 = U16 (Min)6 = U18 (Cad)7 = U20 (Jun)8 = Sen9 = Sep10 = Vet |
standard_rating |
int |
Le classement standard. |
standard_rating_type |
enum |
Le type de classement standard :1 = Estimé2 = National3 = Fide |
rapid_rating |
int |
Le classement rapide. |
rapid_rating_type |
enum |
Le type de classement rapide (cf standard_rating_type ). |
blitz_rating |
int |
Le classement blitz. |
blitz_rating_type |
enum |
Le type de classement blitz (cf standard_rating_type ). |
title |
enum |
Le titre :0 = aucun1 = Maître Fide féminin2 = Maître Fide3 = Maître International féminin4 = Maître International5 = Grand Maître féminin6 = Grand Maître |
email |
str |
L'adresse électronique'. |
phone |
str |
Le numéro de téléphone. |
fee |
float |
Le montant de l'inscription. |
paid |
float |
La somme réglée. |
check_in |
bool |
true si le·la joueur·euse a pointé, false sinon. |
board |
int |
Un numéro d'échiquier fixe, 0 sinon. |
skipped_rounds |
dict |
Un dictionnaire avec pour clé les rondes non journées et pour valeur les points marqués 0.0 si forfait, 0.5 ou 1.0 si points joker. |
Exemple de joueur·euse :
{
'last_name': 'AUBRY',
'first_name': 'Pascal',
'ffe_id': 'C69548',
'fide_id': 20671806,
'gender': 2,
'birth': -41990400,
# 1968-09-02
'category': 9,
# Sep
'standard_rating': 1458,
'standard_rating_type': 3,
# F
'rapid_rating': 1440,
'rapid_rating_type': 3,
# F
'blitz_rating': 1440,
'blitz_rating_type': 1,
# E
'title': 0,
'license': 3, # A
'federation': 'FRA',
'league': 'BRE',
'club_id': 1918,
'club': 'Echiquier Domloupéen',
'email': '[email protected]',
'phone': '0677939521',
'fee': 25.0,
'paid': 25.0,
'check_in': true,
'board': 0,
'skipped_rounds': {
1: 0.5,
# bye ronde 1
2: 0.0,
# absent ronde 3
}
}
En cas d'erreur, la réponse au format JSON ne contient qu'un champ error: str
qui précise l'erreur rencontrée.
Les codes d'erreur suivants sont utilisés :
Statut HTTP | Signification | Champ error |
---|---|---|
200 | succès | |
401 | Problème d'authentification (impossibilité de s'identifier sur la plateforme Chess Event) | Unauthorized |
403 | Problème d'autorisation (identifiants non autorisés pour l'évènement demandé) | Access forbidden |
497 | Identifiant non trouvé | User not found |
498 | Tournoi non trouvé | Tournament not found |
499 | Évènement non trouvé | Event not found |
500 | Autres erreurs | À préciser |