Le badge personalizzate che hai creato sul tuo forum possono essere assegnate tramite l’API. Questo è un ottimo modo per assegnare badge senza dover utilizzare query SQL personalizzate.
Per assegnare un badge tramite l’API, devi conoscere il nome utente dell’utente a cui desideri assegnare il badge e l’ID (o il nome) del badge da assegnare. Devi anche assicurarti di aver generato una chiave API dalla sezione Amministrazione > API > Chiavi del tuo sito (/admin/api/keys).
Trovare l’ID del badge
Puoi ottenere l’ID del badge dall’URL del badge stesso. Vai alla sezione Amministrazione/Badge e fai clic sul badge che desideri assegnare. L’URL sarà simile a questo: https://forum.example.com/admin/badges/102. L’ultimo numero nell’URL è l’ID del badge.
Effettuare la chiamata API
Per testare una chiamata API, puoi provare ad assegnare un badge utilizzando curl o Postman. Ecco come ho assegnato un badge dal terminale del mio computer con curl.
Per prima cosa, per semplificare le cose, imposta una variabile api_key:
api_key=tuachiaveapi
Poi, per assegnare un badge con ID 102 all’utente 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"
Invece di badge_id, puoi anche utilizzare badge_name per identificare il badge tramite il suo nome:
-F "badge_name=Il mio badge personalizzato"
Il parametro reason è opzionale. Se lo fornisci, deve essere impostato sull’URL di un argomento o di un post sul tuo sito.
Dovresti ricevere una risposta JSON con i dettagli sul badge e sulla data in cui è stato assegnato.