DocsOEngage23. Developer Hooks
Developer

23. Developer Hooks

OEngageorravo.com/docs/oengage/23-developer-hooks

Action Hooks

php// Fired after a user registers (before email verification)
do_action( 'oregister_user_registered', $user_id );

// Fired after successful login
do_action( 'oregister_login', $user_id );

// Fired when XP is awarded
do_action( 'oregister_xp_awarded', $user_id, $amount, $action );

// Fired when a badge is earned
do_action( 'oregister_badge_earned', $user_id, $badge_id );

// Fired when a user follows another
do_action( 'oregister_user_followed', $follower_id, $following_id );

// Fired when a streak is updated
do_action( 'oregister_streak_updated', $user_id, $current_streak );

// Fired when a direct message is sent
do_action( 'oregister_message_sent', $sender_id, $receiver_id );

// Fired when a user's profile is updated
do_action( 'oregister_profile_updated', $user_id );

Usage Examples

php// Send a Slack notification when a user registers
add_action( 'oregister_user_registered', function( $user_id ) {
    $user = get_userdata( $user_id );
    // ... send Slack notification
}, 10, 1 );

// Award custom XP when WooCommerce order completes
add_action( 'woocommerce_order_status_completed', function( $order_id ) {
    $order = wc_get_order( $order_id );
    $user_id = $order->get_user_id();
    if ( $user_id ) {
        \ORegister\Gamification\XPEngine::award( $user_id, 100, 'woo_purchase' );
    }
});

// Run code when a badge is earned
add_action( 'oregister_badge_earned', function( $user_id, $badge_id ) {
    // Custom notification, webhook, etc.
}, 10, 2 );

23. Developer Hooks — OEngage Docs — Orravo