Sending message to facebook account from server in java - facebook

Recently I began to using facebook sdk and I would like to ask how I could sending messages to facebook messenger from my server to the people who are using my android app .

You can use de Messenger API Graph 2.6.
https://developers.facebook.com/docs/messenger-platform
You will need a web server to host your webhook page and receive and sent the messages for who follow your Facebook Bot.

Related

How to make a messenger chat bot without a facebook app and webhook?

I went through the documentation for creating a chatbot for messenger platform.
All I find there, I need a server, which in the case used as a service for the Facebook platform.
The server also validates the webhook from facebook app.
Now I see, for a chatbot, I need a facebook app, webhook server and definitely a facebook page.
Then I find an application Flow XO, where I only put the page name and the bot is ready.
My question is, how they(flow.xo) can communicate facebook page without a Facebook app(appId, appSecret) and webHook.
My question is, how they can communicate facebook page without a Facebook app(appId, appSecret) and webHook.
They can’t.
They use their server and their app to communicate with the API, on behalf of the users that grant them access to their pages, by providing the necessary permissions when they log in to that app.
Facebook allows to create a Facebook App which integrates multiple chatbots. At Amio, we ask you for permission using Facebook OAuth. When you give us these permissions we send and receive message on your behalf. This allows you to create a chatbot using Amio API without need of creating a Facebook App.
Facebook Page is always needed as this is the entry point of users interacting with your bot. You can check Amio documentation for more detail.

Facebook Messenger Inbox in a Web Dashboard

I am creating a web dashboard and want to integrate my facebook page messenger inbox on the dashboard, so we do not have to login into facebook or messenger to view and reply to the messages we have received on FB. For example the inboxes that frontapp, smooch provide.
I am not sure if I need to save the messages we get in webhooks and the replies also or we can access it through API.
I am also confused that if I create an app and connect that to the dashboard , that the user can reply from the dashboard and the message will be delivered to the user through the app, is it possible to send the message after the 24 hour window (plus 1 message) fb allows for apps if they reply from FB app, or it considered as bot as the messages are delivered through app.
You can get the page conversations:
https://developers.facebook.com/docs/graph-api/reference/v2.12/page/conversations
And then respond to them by conversation ID:
https://developers.facebook.com/docs/graph-api/reference/v2.12/conversation/messages

Sending notifications via Messenger Bot to Facebook OAuth registered users

Let's say you have a site that accepts Facebook OAuth registrations/login. Today, the typical pattern is to capture the user's email and send them notifications via that channel. Fine.
Messenger bots have now opened up an opportunity to engage with users directly via Messenger rather than relying on email. In markets where Messenger is heavily used and email hardly ever, notifications via Messenger are a big deal.
Reading the documentation my understanding is that Facebook user id's are application scoped. I wouldn't be able to send a user registered via Facebook's OAuth a message on Messenger.
Has anyone done this? Is it possible or at least being considered in a future spec?
Use checkbox plugin for messenger in web app flow, this is meant for the same purpose!

Facebook Messenger Platform ngrok

I try to setup a webhook for the facebook messenger api and try to forward to my localhost node.js server via ngrok. The GET request from facebook for checking the server ist working perfect. But when I send a message to my site via the messenger I dont get any response to my webhook. It works ok when I curl the ngrok address. Any suggestions ?
Thanks
I was having similar issue -
My current (semi-working) workaround is to unsubscribe my test page from the Facebook app configuration page (in the app settings page -> Messenger in the left panel -> Webhooks section), and then re-subscribe my test Facebook page. I will immediately receive Http POST message after I type something to my test page in the messenger.
Of course that can only help testing. It doesn't help in the production environment.
As long as the Facebook app you are using for the Messenger integration is in an unpublished state, i.e has not undergone a review process, only messages by admins, developers and testers are relayed through the webhook.
Check if the user you are using has the correct permission on the app.
On some occasions Facebook also stops forwarding messages, e.g if your webhook endpoint is returning errors repeatedly. Check your alert dashboard in the developers.facebook.com platform.
The solution is to unsubscribe and then subscribe a page again.
Further hints:
Depending on the framework you are using on the receiving end it might reject messages with an x-forwarded-for header in the request (Symfony 2 in my case).
Use the -host-header=rewrite option with ngrok to rewrite the request header if you run into issues like that.

How do you post a link to user's inbox in Facebook?

I am a iPhone application developer. I don't know how to send an "link" to a selected user's inbox in Facebook from my Facebook account.
You can't send messages using a Facebook API from the backend, but you can do through JS SDK or redirecting user to facebook url as per this link
FYI: Send Message
I don't exactly know if I understood your question, but: If you want to provide a link that a user follows in order to go to her/his Facebook inbox, you can use the URL scheme fb://mailbox (provided that she/he has the Facebook app installed)
As #Venu wrote, the api does not allow apps to send messages on the behalf of the user, only with the Send Dialog which you should be able to open using the iOS sdk Dialog.
Another approach you can use is the Chat API with which you can send messages on the behalf of the user, it requires the xmpp_login permission and you to implement an xmpp client.