API MEC Restful
Le API RESTful in Modern Events Calendar Ce module permet aux développeurs d'accéder, de récupérer et de gérer par programmation les données d'événements provenant d'applications, de sites web ou de services externes. Il offre une méthode structurée et standardisée pour interagir avec les données MEC (événements, lieux, organisateurs et calendriers, par exemple) sans dépendre de l'interface WordPress. Il est ainsi parfaitement adapté aux intégrations avec des applications mobiles, des plateformes tierces ou des interfaces utilisateur personnalisées.
URL de base
L'URL de base est différente selon le site Web, mais le modèle général est le suivant.
http://example.com/wp-json/mec/v1.0
clé API
La clé API est requise pour toutes les commandes suivantes. Vous devez l'envoyer dans les en-têtes avec le nom de jeton mec Si vous n'envoyez pas de mec-token dans les en-têtes, vous recevrez un invalid_api_token Erreur.
Tous les évènements
GET /events/
Il s'agit d'une commande publique, ce qui signifie que tous les utilisateurs disposant d'une clé API peuvent l'exécuter.
Demander
Envoyez les paramètres suivants au format JSON.
| Nom | Type | Valeurs acceptées | Exemple |
| limite | int | 12 | |
| de commander | string | ASC / DESC | ASC |
| compenser | int | 0 | |
| Commencer | string | aujourd'hui / date / demain / hier / début du mois dernier / début du mois actuel / début du mois suivant | données |
| date de début | string | (aaaa-mm-jj) | 2024-12-15 |
| afficher_uniquement_les_événements_passés | int | 0,1 | 0 |
| inclure_les_événements_passés | int | 0,1 | 0 |
| afficher_uniquement_les_événements_en_cours | int | 0,1 | 0 |
| inclure_les_événements_en_cours | int | 0,1 | 0 |
Réponse
Vous recevrez tous les événements dans le l'évènementiel Clé de la réponse. Les événements sont classés par date de début, ce qui vous permet de les afficher dans le format souhaité, comme une liste, un calendrier mensuel, un emploi du temps hebdomadaire, etc.
Vous pouvez également utiliser la clé de pagination de la réponse pour lire tous les événements page par page. Envoyez simplement le prochaine_date valeur comme date de début de votre prochaine demande et envoyez décalage_suivant comme la valeur de la compenser paramètre.
{
"events": {
"2025-01-15": [{ ... }],
...
},
"pagination": {
"next_date": "2025-12-15",
"next_offset": 1,
"has_more_events": true,
"found": 12
}
}
Single Event
GET /events/{id}
Il s'agit d'une commande publique, ce qui signifie que tous les utilisateurs disposant d'une clé API peuvent l'exécuter.
Demander
Envoyez les paramètres suivants sous forme de chaîne de requête.
| Nom | Type | Exemple |
| id * | int | 1 |
| événement | int | 1747335600 |
Réponse
Vous recevrez un ensemble d'informations incluant, mais sans s'y limiter, les suivantes. données, La clé contient de nombreuses informations utiles sur l'événement que vous pouvez utiliser dans votre application. dates La clé contient les dates à venir de l'événement. Vous pouvez envoyer la valeur d'horodatage de début, visible comme valeur d'occurrence dans la chaîne de requête, pour avancer dans le temps. données la clé contient des informations sur l'événement en cours.
{
"ID": 1,
"data": { ... },
"dates": [{
"start": {
"date": "2025-05-15",
"hour": 7,
"minutes": "0",
"ampm": "PM",
"timestamp": 1747335600
},
"end": {
"date": "2025-05-15",
"hour": 11,
"minutes": "0",
"ampm": "PM",
"timestamp": 1747350000
},
"allday": "0",
"hide_time": "0",
"past": 0
}],
"date": {}
}
Se connecter
POST /login
Demander
Envoyez les paramètres suivants sous forme de données régulières.
| Nom | Type | Exemple |
| Nom d'utilisateur * | string | utilisateur |
| * | string | 12345678 |
Réponse
Utilisez le bouton jeton pour autoriser les utilisateurs dans d'autres commandes. Vous devez l'envoyer sous forme d'un nouvel en-tête nommé jeton utilisateur pour les commandes qui nécessitent une authentification comme les commandes my-events ou trash events.
{
"success": 1,
"id": 1,
"token": "W2X53XpClol8TquAIKWaZo0j68L0tuho3o4wmwD0"
}
Télécharger image
POST /images
Les utilisateurs doivent être authentifiés pour cette commande. Les jetons mec-token et user-token doivent être inclus dans les en-têtes.
Demander
Envoyez les paramètres suivants au format JSON.
| Nom | Type | Exemple |
| image * | filet |
Réponse
Utilisez le bouton id_image dans d'autres commandes comme la création d'événements, etc.
{
"success": 1,
"image_id": 10
}
Publier un fichier
POST /files
Les utilisateurs doivent être authentifiés pour cette commande. Les jetons mec-token et user-token doivent être inclus dans les en-têtes.
Demander
Envoyez les paramètres suivants au format JSON.
| Nom | Type | Exemple |
| filet * | filet |
Réponse
Utilisez le bouton fichier_id dans d'autres commandes comme la création d'événements, etc.
{
"success": 1,
"file_id": 10
}
Créer un évènement
POST /events
Les utilisateurs doivent être authentifiés pour cette commande. Les jetons mec-token et user-token doivent être inclus dans les en-têtes.
Demander
Envoyez les paramètres suivants au format JSON.
| Nom | Type | Exemple |
| titre * | string | Nom de l'événement |
| contenu | string | Contenu de l'événement |
| emplacement[nom] | string | Galerie d'art |
| emplacement[adresse] | texte | Galerie d'art, Ville |
| localisation [latitude] | flotter | |
| emplacement [longitude] | flotter | |
| emplacement[vignette] | int | 10 |
| organisateur[nom] | string | Jean dû |
| organisateur[email] | ou a nous envoyer un courriel | john.due@gmail.com |
| organisateur[tél.] | tel | +13007772299 |
| organisateur[url] | url | https://google.com |
| organisateur[vignette] | nombre | 10 |
| date de début | date (aaaa-mm-jj) | 2025-06-01 |
| heure_de_début | int | 10 |
| minutes de début | int | 15 |
| start_ampm | string | AM |
| date de fin | date (aaaa-mm-jj) | 2025-06-01 |
| heure_de_fin | int | 2 |
| minutes_fin | int | 45 |
| fin_ampm | string | PM |
Réponse
Utilisez le bouton id_événement dans d'autres commandes comme obtenir un événement unique, etc.
{
"success": 1,
"message": "The event is published.",
"event_id": 12
}
Modifier l'événement
PUT /events/{id}
Les utilisateurs doivent être authentifiés pour cette commande. Les jetons mec-token et user-token doivent être inclus dans les en-têtes.
Demander
La demande est exactement comme la commande de création d'événement.
Réponse
La réponse est également exactement comme la commande de création d'événement.
Mes événements
GET /my-events
Les utilisateurs doivent être authentifiés pour cette commande. Les jetons mec-token et user-token doivent être inclus dans les en-têtes.
Demander
Envoyez les paramètres suivants au format JSON.
| Nom | Type | Exemple |
| limite * | int | 12 |
| pages * | int | 1 |
Réponse
Vous pouvez parcourir les événements pour les afficher tous. Utilisez les données de pagination pour naviguer entre les pages d'événements.
{
"events": [
{
"id": 2645,
"title": "Monthly",
"url": "http://example.com/events/monthly/",
"status": "publish"
}
],
"pagination": {
"current_page": 2,
"total_pages": 5
}
}
Événement poubelle
DELETE /events/{id}/trash
Les utilisateurs doivent être authentifiés pour cette commande. Les jetons mec-token et user-token doivent être inclus dans les en-têtes.
Demander
Aucun.
Réponse
Si la commande a réussi, vous recevrez la réponse suivante, sinon un objet d'erreur avec le code http approprié sera renvoyé.
{
"success": 1
}
Supprimer l'événement
DELETE /events/{id}
Les utilisateurs doivent être authentifiés pour cette commande. Les jetons mec-token et user-token doivent être inclus dans les en-têtes.
Cette commande force la suppression d'un événement, que celui-ci soit déjà supprimé ou non.
Demander
Aucun.
Réponse
Si la commande a réussi, vous recevrez la réponse suivante, sinon un objet d'erreur avec le code http approprié sera renvoyé.
{
"success": 1
}
Les champs personnalisés
GET /config/custom-fields
Il s'agit d'une commande publique, ce qui signifie que tous les utilisateurs disposant d'une clé API peuvent l'exécuter.
Demander
Aucun.
Réponse
Si la commande a réussi, vous recevrez la réponse suivante, sinon un objet d'erreur avec le code http approprié sera renvoyé.
{
"success": 1,
"fields": {
"1": {
"mandatory": "1",
"type": "text",
"label": "Your Comment"
},
"2": {
"mandatory": "0",
"type": "date",
"label": "Preferred Date"
},
"3": {
"mandatory": "0",
"ignore": "0",
"type": "select",
"label": "Gender",
"options": {
"1": {
"label": "Male"
},
"2": {
"label": "Female"
}
}
}
}
}
Icônes
GET /config/icons
Il s'agit d'une commande publique, ce qui signifie que tous les utilisateurs disposant d'une clé API peuvent l'exécuter.
Demander
Aucun.
Réponse
Si la commande a réussi, vous recevrez la réponse suivante, sinon un objet d'erreur avec le code http approprié sera renvoyé.
{
"success": 1,
"icons": [
{
"name": "Location Marker Icon",
"default": "<i class=\"mec-sl-location-pin\"></i>",
"modules": [
"single",
"shortcode"
],
"value": "<img class=\"mec-custom-image-icon\" src=\"http://site.com/wp-content/uploads/2025/03/location.jpg\" alt=\"location-pin\">"
}
]
}
Météo
GET /events/{id}/weather
Il s'agit d'une commande publique, ce qui signifie que tous les utilisateurs disposant d'une clé API peuvent l'exécuter.
Demander
Envoyer les paramètres suivants sous forme de chaîne de requête.
| Nom | Type | Exemple |
| données | string | aaaa-mm-dd |
Réponse
Si la commande a réussi, vous recevrez la réponse suivante, sinon un objet d'erreur avec le code http approprié sera renvoyé.
{
"success": 1,
"weather": {
"icon": "//cdn.weatherapi.com/weather/64x64/day/113.png",
"condition": "Sunny",
"temp_c": 13.699999999999999,
"temp_f": 56.700000000000003,
"wind_kph": 9,
"wind_mph": 5.5999999999999996,
"humidity": 58,
"feelslike_c": 13.199999999999999,
"feelslike_f": 55.799999999999997
}
}
Événements connexes
GET /events/{id}/related-events
Il s'agit d'une commande publique, ce qui signifie que tous les utilisateurs disposant d'une clé API peuvent l'exécuter.
Demander
Aucun.
Réponse
Si la commande a réussi, vous recevrez la réponse suivante, sinon un objet d'erreur avec le code http approprié sera renvoyé.
{
"success": 1,
"related_events": [
{
"id": 21,
"title": "Daily Event",
"url": "http://site.com/events/daily-event/",
"timestamp": 1746432000,
"date": "May 5, 2025"
}
]
}
Événements suivants / précédents
GET /events/{id}/next-previous-events
Il s'agit d'une commande publique, ce qui signifie que tous les utilisateurs disposant d'une clé API peuvent l'exécuter.
Demander
Aucun.
Réponse
Si la commande a réussi, vous recevrez la réponse suivante, sinon un objet d'erreur avec le code http approprié sera renvoyé.
{
"success": 1,
"next": {
"id": "21",
"title": "Daily Event",
"url": "http://rezamiri.test/events/daily-event/"
},
"previous": []
}
Prochaines occurrences
GET /events/{id}/next-occurrences
Il s'agit d'une commande publique, ce qui signifie que tous les utilisateurs disposant d'une clé API peuvent l'exécuter.
Demander
Aucun.
Réponse
Si la commande a réussi, vous recevrez la réponse suivante, sinon un objet d'erreur avec le code http approprié sera renvoyé.
{
"success": 1,
"occurrences": [
{
"start": {
"date": "2025-05-10",
"hour": "8",
"minutes": "0",
"ampm": "AM",
"timestamp": 1746864000
},
"end": {
"date": "2025-05-10",
"hour": 6,
"minutes": "0",
"ampm": "PM",
"timestamp": 1746900000
},
"allday": "0",
"hide_time": "0",
"past": 0
}
]
}
Champs des participants
GET /config/attendee-fields
Il s'agit d'une commande publique, ce qui signifie que tous les utilisateurs disposant d'une clé API peuvent l'exécuter.
Demander
Aucun.
Réponse
Si la commande a réussi, vous recevrez la réponse suivante, sinon un objet d'erreur avec le code http approprié sera renvoyé.
{
"success": 1,
"fields": [
{
"mandatory": "1",
"type": "mec_email",
"label": "Email"
},
{
"mandatory": "1",
"type": "name",
"label": "Name"
},
{
"mandatory": "0",
"type": "textarea",
"label": "Text",
"mapping": ""
}
]
}
Champs fixes
GET /config/fixed-fields
Il s'agit d'une commande publique, ce qui signifie que tous les utilisateurs disposant d'une clé API peuvent l'exécuter.
Demander
Aucun.
Réponse
Si la commande a réussi, vous recevrez la réponse suivante, sinon un objet d'erreur avec le code http approprié sera renvoyé.
{
"success": 1,
"fields": {
"1": {
"mandatory": "0",
"type": "text",
"label": "Text"
},
"2": {
"mandatory": "1",
"type": "date",
"label": "Date"
}
}
}
Variations de billets
GET /config/ticket-variations
Il s'agit d'une commande publique, ce qui signifie que tous les utilisateurs disposant d'une clé API peuvent l'exécuter.
Demander
Aucun.
Réponse
Si la commande a réussi, vous recevrez la réponse suivante, sinon un objet d'erreur avec le code http approprié sera renvoyé.
{
"success": 1,
"ticket_variations": {
"1": {
"title": "Pizza",
"price": "6",
"max": "2"
},
"2": {
"title": "Juice",
"price": "4",
"max": "3"
}
}
}
Taxe/frais de réservation
GET /events/{id}/fees
Il s'agit d'une commande publique, ce qui signifie que tous les utilisateurs disposant d'une clé API peuvent l'exécuter.
Demander
Aucun.
Réponse
Si la commande a réussi, vous recevrez la réponse suivante, sinon un objet d'erreur avec le code http approprié sera renvoyé.
{
"success": 1,
"fees": {
"1": {
"title": "Tax",
"amount": "12",
"type": "percent"
},
"2": {
"title": "Deposit",
"amount": "50",
"type": "amount_per_booking"
}
}
}
Billets
GET /events/{id}/tickets
Il s'agit d'une commande publique, ce qui signifie que tous les utilisateurs disposant d'une clé API peuvent l'exécuter.
Demander
| Nom | Type | Exemple |
| événement | string | aaaa-mm-jj hh:mm:ss |
Réponse
Si la commande a réussi, vous recevrez la réponse suivante, sinon un objet d'erreur avec le code http approprié sera renvoyé.
{
"success": 1,
"tickets": {
"1": {
"name": "Ticket A",
"ticket_start_time_hour": "08",
"ticket_start_time_minute": "0",
"ticket_end_time_hour": "06",
"ticket_end_time_minute": "0",
"description": "",
"private_description": "",
"price": "8.97",
"price_label": "$8.97",
"limit": "",
"unlimited": "0",
"seats": "1",
"minimum_ticket": "1",
"maximum_ticket": "",
"stop_selling_value": "0",
"stop_selling_type": "day",
"dates": [],
"ticket_start_time_ampm": "AM",
"ticket_end_time_ampm": "PM",
"category_ids": [],
"id": 1,
"variations": {
"1": {
"title": "Pizza",
"price": "6",
"max": "2"
},
"2": {
"title": "Juice",
"price": "4",
"max": "3"
}
}
}
},
"availability": {
"1": 100,
"seats_1": 1,
"total": 100
}
}
Signaler un contenu obsolète
Si vous pensez que le contenu de cette page ne reflète pas les informations mises à jour, veuillez nous en informer.