フォーラムで作成したカスタムバッジは、API を介して付与できます。これは、カスタムバッジの SQL を使用せずにバッジを授与する優れた方法です。
API を通じてバッジを付与するには、バッジを付与したいユーザーのユーザー名と、付与したいバッジの ID(または名前)を知る必要があります。また、サイトの「管理 > API > キー」セクション(/admin/api/keys)で API キーを生成していることを確認してください。
バッジ ID の特定
バッジ ID は、バッジの URL から取得できます。「管理/バッジ」セクションに移動し、付与したいバッジをクリックします。URL は次のようになります。https://forum.example.com/admin/badges/102。URL の最後の数字がバッジ ID です。
API 呼び出しの実行
API 呼び出しをテストするには、curl または Postman を使用してバッジの付与を試すことができます。以下は、ターミナルから curl を使用してバッジを付与する方法です。
まず、作業を簡単にするために api_key 変数を設定します。
api_key=yourapikey
次に、ID が 102 のバッジをユーザー 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"
badge_id の代わりに badge_name を使用して、バッジをその名前で識別することもできます。
-F "badge_name=My Custom Badge"
reason パラメータはオプションです。指定する場合は、サイト上のトピックまたは投稿の URL に設定する必要があります。
バッジの詳細と付与された時刻を含む JSON 応答が返されます。