Send private message to 1 or more friends using FB API - facebook

I'm building a web application that performs an analysis based on the inputs a user enters. I want to allow the user to send this analysis, which will be 2-3 sentences max, to one or more of their Facebook friends through the messenger platform.
At first I thought the Send Dialog was the way to go, but it appears I can't pre-populate the message field at all (source).
Next I tried integrating the Messenger Platform but this appears to target businesses that want to connect their site to a Facebook Page and setup a chat bot, which seems far too complex for my use case.
Is there anyway I can allow the user to send a private message to one or more of their Facebook friends or is this not possible for a specific reason (e.g. prevent spam, security concerns)?
This SO question here appears similar to my question.

There's no way to do this unfortunately. Makes sense, however, as apps could spam people's imessenger if it was possible.
The best alternative is to use the Send Dialog component.

Related

Sending Invitations to Participate in Facebook Messenger Bot

I am very new to Messenger platform and I'm trying to wrap my head around the types of things that are possible. In particular, I'm interested in using a bot as a "mediator" of communication among friends. For example, one could build build a bot to help make a group decision, like where four or five people will have lunch. Each person interacts only with the bot, the bot gathers lunch preferences, and communicates some type of optimal choice to all participants. This could require a back-and-forth discussion of preferences with each participant. Is that clear?
At this point, I'm wondering two things:
How would a user initially invite another user into the conversation? Suppose user A starts talking to the bot and the bot tells user A, "Invite some friends to join us in this conversation". Can the bot actually send these invitations on behalf of user A? Or does invitation have to take place via some other out-of-band mechanism?
Is messenger platform the most appropriate FB platform technology for creating this sort of interactive mediation app?
Thanks in advance, InterWebs...
If I'm understanding your idea correctly, it would be very difficult to build a bot that could chat with each person separately but offer a shared experience. When a user shares the bot with another user and the new user starts a chat, the bot has no way of knowing where the referral comes from, so there's really no way to know that the two users are linked.
What you could do is build a chat extension, which basically makes functionality from your bot available in a group chat:
https://developers.facebook.com/docs/messenger-platform/guides/chat-extensions

Alternative for Facebook request for non-canvas app?

I have an app where a user creates some object and invites people to interact with it. It's not a game and it's not a canvas app.
I tried to get requests to work probably and couldn't
After reading a bit, I understood that these don't work for non-canvas apps anymore.
So...
1) Does anyone know if this is going to stick? It's extremely painful that stupid games like candy crush are allowed to create requests, while apps that might actually provide users real value can't. If there's anyone from FB here, I'd really like to understand why this discrimination is taking place?
2) Are there any alternatives? Sending a message or feed post are possible but, I need to either a) generate a unique link per invitee or b) get the list of people the user sent the link to. Both don't seem to be an option with messages and feed dialog.
3) Is is ok to just embed my web app in the canvas as is?
Thanks
Yaron
Facebook policy indicates that you should not use app requests to send users to an external website. However, an embedded web canvas app is fine. It will let you use the apprequests function to render the Request Dialog and provide a user invite experience similar to the most popular Facebook games.

SMS notification when selected friends are online

I have an idea to develop a Facebook app which notifies the user through SMS when his/her friends come online. The user can pre-select the friends he/she wanted to get SMS notifications of.
This is my first attempt at developing for Facebook so I have zero experience and knowledge about the platform. I just want to know if my idea for such an app is possible? Does Facebook have an API for SMSes? Or do they let 3rd party messaging APIs (such as this one I came across) to work with them.
Thank you.
A Facebook app is actually ran off of your server and you can do anything that you want as long as you stay inside the limits of what you requested as far as information the app needs. As far and getting the information it is relatively easy. I made a extremely complicated app in 3 days. Once you read and get how to pull certain information, the rest is cake walk

Facebook-approved way to increase conversion from app requests?

I have a question about increasing visibility of Facebook app notifications.
As far as I can tell, there are only 2 places where Facebook app requests appear for users who don't click the "Apps & Games" section - in the top right section (https://skitch.com/nicksoman/8172w/facebook) or in the jewel (https://skitch.com/nicksoman/81737/2-facebook) - I believe the wording is a bit different on this one if recipients haven't used the app, as it references an invite rather than a request.
As other have noted, neither of these channels provides any context around the request. In the past I've seen context for apps like BranchOut and FarmVille, but I can't replicate this behavior by sending invites from these apps now (can anyone)?
Has anyone found a Facebook-approved way to either provide more context around these app requests or make them more visible?
I'm familiar with the history of Facebook tweaking channels due to abusive apps - just want to make sure I'm current on best practices today.
Are you referring to users who haven't authorized your app or users who did?
Basically, facebook calls this Social Channels and you have a few options, again, depending on if the user is already using your app or not.
If the user is using your app, you have the bookmarks bar which can be used by issuing a App-generated requests.
If the user isn't using your app then a friend of his that is using your app can send him a User-generated request.
You can and should encourage your users to publish your app stories to their friends' feed and/or to send them to friends.
There's that "Automatic Channels" which is discussed in the first link in this answer.
More options are to use the Social Plugins in your website, and to have a mobile version of your app.

Use Facebook Events As CMS

I want to build a mobile application that allows end users to sign up and participate in events (like parties, seminars, conferences etc..). Instead of building a CMS from scratch for an administrator to manage events, is it possible to use Facebook Events as the CMS? Then my mobile application will pull information about these events via the Facebook API.
Any one know if it's better for me to build the CMS from scratch or to use FB events? And what are things I have to consider in making this decision?
Let's say events are authored by users of the system, and if we go the FB CMS method, then users MUST have a Facebook account.
This is certainly possible with the events Facebook api. If you wanted all the events associated with an account you own, you could embed an access token into your application. If you want people to accept your event or host the event under their own account you would need to prompt users for permissions to manage events on their behalf.
It's pretty subjective question whether this is a good idea and it depends on what you are trying to achieve. The biggest upside is that its already built for you and designed to scale and wouldn't require servers, etc. The biggest downside I see is that Facebook changes their API and its not always the most reliable (see the always growing bug list they keep). Also, users may need an account depending on how you decide to implement the functionality.