The messenger platform docs shows an example of how to get the user profile info via their API (see this). I could quite understand if the example shown actually contains all the info possible to retrieve (meaning: first_name, last_name, profile_pic, locale, timezone, gender) or it is just an example and I could find more user data via the API (again, referring to doing this just via the messenger platform, aka via bots). Thanks !
3 Answers
This is the only user information available at the moment via chat bot API and you cannot use any other API to query user information because the User Id (Sender Id) we get on our webhook is just for the scope of the App-Page and is completely different than the actual Facebook UserId and currently there's no way to link these two Ids.
You can ask a user to login using FB Login API and link the two Ids at your end but that won't be the ideal way to do it.
Edit: 2016-07-26
Facebook has introduced a new feature for the messenger platform called Account Linking. This can be used to identify a user who has created an account on your website via Facebook Login
. Facebook login has its own set of permissions which can be used to get a lot more information via Facebook graph API. You can find the complete list here.

- 2,115
- 1
- 16
- 20
-
In addition to @Mukarram Khalid, further information regarding this is available at https://chatbotsmagazine.com/fb-messenger-bot-how-to-identify-a-user-via-page-app-scoped-user-ids-f95b807b7e46#.a8qmowawf – ramizmoh Jul 26 '16 at 07:54
You can retrieve - first_name, last_name, profile_pic, locale, timezone, gender
This information can be retrieved with a quick call to the FB graph:
https://graph.facebook.com/v2.6/<USER_ID>?fields=first_name,last_name,profile_pic,locale,timezone,gender&access_token=<PAGE_ACCESS_TOKEN>

- 190
- 1
- 9
-
-
1It's not returning any fields for me what can be the issue? Says non-existent field first_name and the same for the others. – Fernando André Jun 26 '17 at 20:41
Facebook recently added "is payment enabled" field https://developers.facebook.com/docs/messenger-platform/user-profile to the user profile API. This tells you if the user can pay using Facebook Payments.

- 111
- 2
- 10
-
Amazing, thanks for the update. I wonder now what exactly does "Is the user eligible" means, on how is this determined. Do you have any more info regarding this ? Did you just happen to stumble upon this or was this published somewhere ? – Shaish Jan 10 '17 at 23:07
-
I stumbled upon it while researching Facebook Payments for my chatbot. In my experience only US users have the is_payment_enabled flag set to true. These users can pay for anything in the Facebook Messenger bot using credit card/paypal. – sera Jan 11 '17 at 01:10