Skip to main content

Badge API

Trigger badge evaluation and manage achievements.

Trigger by Rule

$awardedBadges = $sociable->badges()->triggerByRule(
'com_myextension.posts.milestone',
$userId,
['posts' => 100]
);

Award Badge

$sociable->badges()->award($userId, $badgeId, [
'source' => 'promotion',
'campaign_id' => 123,
], 'Won the monthly writing challenge');

Revoke and Check

$sociable->badges()->revoke($userId, $badgeId);

if ($sociable->badges()->userHasBadge($userId, $badgeId)) {
// User has this badge
}

User and Catalog Badges

$userBadges = $sociable->badges()->getUserBadges($userId);
$allBadges = $sociable->badges()->getAll(['published' => true]);