Benutzerdefinierte Abzeichen, die Sie auf Ihrem Forum erstellt haben, können über die API vergeben werden. Dies ist eine großartige Möglichkeit, Abzeichen zu verleihen, ohne benutzerdefinierte SQL-Abfragen für Abzeichen verwenden zu müssen.
Um ein Abzeichen über die API zu vergeben, benötigen Sie den Benutzernamen des Empfängers sowie die ID (oder den Namen) des zu vergebenden Abzeichens. Stellen Sie außerdem sicher, dass Sie einen API-Schlüssel im Bereich „Admin > API > Keys" (/admin/api/keys) Ihrer Site generiert haben.
Ermitteln der Abzeichen-ID
Die Abzeichen-ID finden Sie in der URL des Abzeichens. Gehen Sie zu Ihrem Bereich „Admin/Abzeichen" und klicken Sie auf das zu vergebende Abzeichen. Die URL sieht dann etwa so aus: https://forum.example.com/admin/badges/102. Die letzte Zahl in der URL ist die Abzeichen-ID.
API-Aufruf durchführen
Um einen API-Aufruf zu testen, können Sie versuchen, ein Abzeichen mit curl oder Postman zu vergeben. So vergeben Sie ein Abzeichen von Ihrem Computer-Terminal aus mit curl.
Zunächst setzen Sie zur Vereinfachung eine Variable api_key:
api_key=yourapikey
Anschließend vergeben Sie ein Abzeichen mit der ID 102 an den Benutzer 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"
Anstelle von badge_id können Sie auch badge_name verwenden, um das Abzeichen anhand seines Namens zu identifizieren:
-F "badge_name=My Custom Badge"
Der Parameter reason ist optional. Falls Sie ihn angeben, muss er auf die URL eines Themas oder eines Beitrags auf Ihrer Site gesetzt werden.
Sie sollten eine JSON-Antwort mit Details zum Abzeichen und dem Zeitpunkt der Vergabe erhalten.