participant.id
=== if participant is a registered Zoom User, it is that user’s ID (if they’re logged into Zoom, IIRC)
participant.user_id
=== participant’s unique identifier for this specific single meeting (this may display as a phone number for dial-in users)
I found some related information in this post that might be helpful: Unable to map meeting registrant id with live participant id