Aller au contenu principal

POST /website/add-media

version 2.0.0

Créer un nouveau média.

Authentification

Cette route nécessite de mettre votre clé API dans le Header.

👥 Autorisation

Les personnes autorisées pour utiliser cette requête sont :

  • Corail
  • Zelta
  • Site

🧾 Paramètres

Les champs suivants sont attendus dans le corps de la requête :

NomTypeDansRequisDescriptionValeur par default
playerIdnumberBodyL'id du joueur
urlstringBodyL'url du post
platformstringBodyLa platform du post
submittedAtstringBodyL'heure de création de ce médiacurrentTimeStamp
isValidstringBodySi le lien est valide
titlestringBodyLe titre du post
viewnumberBodyLe nombre de vue
xpGrantednumberBodyL'xp gagné grace a ce lien
lastUpdateAtstringBodyLa date de la dernière mise à jourcurrentTimeStamp
rewardGrantedboolBodySi le joueur à déjà reçue une récompense

🧾 Réponse

Les données que l'API retournera avec le succès de la requête :

NomTypeNullableDescription
idnumberL'id du media
playerIdnumberL'id du joueur
urlstringL'url du post
platformstringLa platform du post
submittedAtstringL'heure de création de ce média
isValidstringSi le lien est valide
titlestringLe titre du post
viewnumberLe nombre de vue
xpGrantednumberL'xp gagné grace a ce lien
lastUpdateAtstringLa date de la dernière mise à jour
rewardGrantedboolSi le joueur à déjà reçue une récompense

📤 Exemple de requête

http://0.0.0.0/api/website/add-media

Et dans le body mettre par exemple :

{
"playerId" : 1,
"url" : "https://www.youtube.com/watch?v=GBIIQ0kP15E",
"platform" : "YouTube",
"submittedAt" : "2025-10-10T13:25:18Z",
"isValid" : "En Attente",
"title" : "RickRoll",
"view" : 0,
"xpGranted" : 0,
"lastUpdateAt" : "2025-10-10T13:25:18Z",
"rewardGranted" : false
}

📥 Exemple de réponse

Si le média est bien créé (code 201) :

{
"id" : 1,
"playerId" : 1,
"url" : "https://www.youtube.com/watch?v=GBIIQ0kP15E",
"platform" : "YouTube",
"submittedAt" : "2025-10-10T13:25:18Z",
"isValid" : "Validé",
"title" : "RickRoll",
"view" : 0,
"xpGranted" : 0,
"lastUpdateAt" : "2025-10-10T13:25:18Z",
"rewardGranted" : false
}

⛔ Les erreurs

Les différents types d'erreurs :

Code HTTPDescriptionCause possible
400Bad RequestParamètres manquants ou invalides
401UnauthorizedClé API manquante ou invalide
403ForbiddenDroits insuffisants pour utiliser la requête
409ConflictConflit avec des données existantes
500Internal Server ErrorErreur interne du serveur
Attention !

En cas d'erreur 500, contactez directement Zeltaria avec votre requête, sa réponse ainsi que toutes informations que vous jugez pertinentes !

En cas d'erreur voici les informations que retourne l'API

NomTypeDescription
codenumberLe code d'erreur que retourne la requête
messagestringLe message de l'API expliquant l'erreur

Exemple avec l'erreur 409 Conflict :

Ici par exemple, l'erreur 409 signifie que la base de donnée a rencontré une erreur lors de l'ajout du nouveau média. Dans notre cas, l'url est déjà enregistrée.

{
"message": "could not execute statement [(conn=10142421) Duplicate entry 'https://www.youtube.com/watch?v=GBIIQ0kP15E' for key 'website_media_submissions_url_uindex'] [insert into website_media_submissions (is_valid,last_update_at,platform,player_id,reward_granted,submitted_at,title,url,view,xp_granted) values (?,?,?,?,?,?,?,?,?,?) returning id]; SQL [insert into website_media_submissions (is_valid,last_update_at,platform,player_id,reward_granted,submitted_at,title,url,view,xp_granted) values (?,?,?,?,?,?,?,?,?,?) returning id]; constraint [website_media_submissions_url_uindex]",
"code": 409
}