Les badges personnalisés que vous avez créés sur votre forum peuvent être attribués via l’API. C’est un excellent moyen de décerner des badges sans avoir à utiliser de requêtes SQL personnalisées.
Pour attribuer un badge via l’API, vous devez connaître le nom d’utilisateur de la personne à qui vous souhaitez attribuer le badge, ainsi que l’identifiant (ou le nom) du badge à attribuer. Vous devez également vous assurer d’avoir généré une clé API dans la section Admin > API > Clés de votre site (/admin/api/keys).
Trouver l’identifiant du badge
Vous pouvez obtenir l’identifiant du badge à partir de son URL. Accédez à la section Admin/Badges, puis cliquez sur le badge que vous souhaitez attribuer. L’URL ressemblera à ceci : https://forum.example.com/admin/badges/102. Le dernier chiffre de l’URL est l’identifiant du badge.
Effectuer l’appel API
Pour tester un appel API, vous pouvez essayer d’attribuer un badge en utilisant curl ou Postman. Voici comment j’attribue un badge depuis le terminal de mon ordinateur avec curl.
Tout d’abord, pour faciliter les choses, définissez une variable api_key :
api_key=yourapikey
Ensuite, pour attribuer un badge d’identifiant 102 à l’utilisateur bobby :
curl -X POST "https://forum.example.com/user_badges" \
-H "Api-Key: $api_key" \
-H "Api-Username: system" \
-F "username=bobby" \
-F "badge_id=102" \
-F "reason=https://forum.example.com/t/whats-the-best-photo-youve-ever-taken/160/2"
Au lieu de badge_id, vous pouvez également utiliser badge_name pour identifier le badge par son nom :
-F "badge_name=My Custom Badge"
Le paramètre reason est facultatif. Si vous le fournissez, il doit être défini sur l’URL d’un sujet ou d’un message de votre site.
Vous devriez recevoir une réponse JSON contenant des détails sur le badge et la date de son attribution.