message.received event carries the sender as data.sender_handle:
usr_… id is stable: the same user always has the same id, in direct
chats and in groups. Use it to key your own records.
Resolve the name and phone
CallGET /v1/users/{user_id} (see the API Reference tab):
A two-word given name puts its tail in
last_name.
Scope
Resolve only a user you currently share an active conversation with, direct or group. Every other id returns404, whether it exists or not:

