Files
ms1inscription-v5/v3/docs/api.md
2026-05-13 09:43:32 -04:00

264 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<h1 class="lang-fr">API MS-1</h1>
<h1 class="lang-en">MS-1 API</h1>
<p class="lang-fr">
LAPI MS-1 permet aux partenaires daccéder aux événements, catégories et inscriptions.
</p>
<p class="lang-en">
The MS-1 API allows partners to access events, categories and registrations.
</p>
---
<h2 class="lang-fr">Authentification</h2>
<h2 class="lang-en">Authentication</h2>
<p class="lang-fr">
Pour accéder à lAPI, vous devez obtenir une clé API auprès de MS-1.
</p>
<p class="lang-en">
To access the API you must obtain an API key from MS-1.
</p>
<p class="lang-fr">
Lors de la création de votre accès, MS-1 vous fournira :
</p>
<p class="lang-en">
When your access is created MS-1 will provide:
</p>
<ul class="lang-fr">
<li>une clé API</li>
<li>lURL de base de lAPI</li>
</ul>
<ul class="lang-en">
<li>an API key</li>
<li>the API base URL</li>
</ul>
<p class="lang-fr">
La clé API doit être envoyée dans lentête HTTP suivant :
</p>
<p class="lang-en">
The API key must be sent in the following HTTP header:
</p>
X-API-Key: YOUR_API_KEY
<p class="lang-fr">
Si la clé est invalide ou absente, lAPI retourne :
</p>
<p class="lang-en">
If the API key is missing or invalid the API returns:
</p>
401 Unauthorized
---
<h2 class="lang-fr">Endpoints</h2>
<h2 class="lang-en">Endpoints</h2>
---
# GET /v1/events
<p class="lang-fr">
Retourne la liste des événements accessibles au promoteur associé à la clé API.
</p>
<p class="lang-en">
Returns the list of events accessible to the promoter associated with the API key.
</p>
<h3 class="lang-fr">Paramètres optionnels</h3>
<h3 class="lang-en">Optional parameters</h3>
| Paramètre | Description |
|-----------|-------------|
| start_date | filtre par date de début |
| end_date | filtre par date de fin |
| updated_since | retourne les événements modifiés après cette date |
<h3 class="lang-fr">Exemple</h3>
<h3 class="lang-en">Example</h3>
GET /v1/events?start_date=2026-01-01&end_date=2026-12-31
<h3 class="lang-fr">Réponse</h3>
<h3 class="lang-en">Response</h3>
{
"events": [
{
"eve_id": 4501,
"eve_nom_fr": "Triathlon Démo",
"eve_lieu_fr": "Montréal",
"eve_lieu_en": "Montreal",
"eve_date_debut": "2026-06-21",
"categories": [
{
"category_id": 801,
"epr_nom_fr": "Sprint",
"epr_nom_en": "Sprint"
}
]
}
],
"total": 1
}
---
# GET /v1/events/{event_id}
<p class="lang-fr">
Retourne les informations détaillées dun événement.
</p>
<p class="lang-en">
Returns detailed information for an event.
</p>
<h3 class="lang-fr">Exemple</h3>
<h3 class="lang-en">Example</h3>
GET /v1/events/4501
<h3 class="lang-fr">Réponse</h3>
<h3 class="lang-en">Response</h3>
{
"event": {
"eve_id": 4501,
"eve_nom_fr": "Triathlon Démo",
"eve_lieu_fr": "Montréal",
"eve_lieu_en": "Montreal",
"eve_date_debut": "2026-06-21",
"categories": [
{
"category_id": 801,
"epr_nom_fr": "Sprint",
"epr_nom_en": "Sprint"
}
]
}
}
---
# GET /v1/events/{event_id}/categories
<p class="lang-fr">
Retourne toutes les catégories dun événement.
</p>
<p class="lang-en">
Returns all categories for an event.
</p>
<h3 class="lang-fr">Exemple</h3>
<h3 class="lang-en">Example</h3>
GET /v1/events/4501/categories
<h3 class="lang-fr">Réponse</h3>
<h3 class="lang-en">Response</h3>
{
"event_id": 4501,
"categories": [
{
"category_id": 801,
"eve_id": 4501,
"epr_type_fr": "Triathlon",
"epr_type_en": "Triathlon",
"epr_nom_fr": "Sprint",
"epr_nom_en": "Sprint"
}
]
}
---
# GET /v1/events/{event_id}/registrations
<p class="lang-fr">
Retourne les inscriptions pour un événement.
</p>
<p class="lang-en">
Returns registrations for an event.
</p>
<h3 class="lang-fr">Paramètres optionnels</h3>
<h3 class="lang-en">Optional parameters</h3>
| Paramètre | Description |
|-----------|-------------|
| updated_since | retourne les inscriptions modifiées après cette date |
| page | pagination |
| per_page | nombre déléments |
<h3 class="lang-fr">Exemple</h3>
<h3 class="lang-en">Example</h3>
GET /v1/events/4501/registrations
<h3 class="lang-fr">Réponse</h3>
<h3 class="lang-en">Response</h3>
{
"registrations": [
{
"registration_id": 98001,
"event_id": 4501,
"first_name": "John",
"last_name": "Doe",
"email": "participant@example.com",
"category_id": 801,
"order_id": "ORD-10001",
"payment_status": "paid",
"custom_questions": [
{
"que_id": 12,
"que_question_fr": "Grandeur de chandail",
"que_question_en": "Tshirt size",
"reponse": "M"
}
]
}
]
}
---
<h2 class="lang-fr">Limitations</h2>
<h2 class="lang-en">Limitations</h2>
<p class="lang-fr">
Chaque clé API donne accès uniquement aux événements associés au promoteur.
</p>
<p class="lang-en">
Each API key only provides access to events associated with the promoter.
</p>
---
<h2 class="lang-fr">Support</h2>
<h2 class="lang-en">Support</h2>
<p class="lang-fr">
Pour toute demande daccès ou question technique, contactez MS-1.
</p>
<p class="lang-en">
For API access or technical questions, contact MS-1.
</p>