WhatsApp Integration: Should You Build it in 2024?
Rohan Rajpal
Last Updated: 19 July 2024
One of the biggest questions when building a startup is whether you should build on top of platforms. It’s always a double-edged sword, they can any day delist you or close down critical APIs, like Twitter did last year. But on the other end, they open up so, so many possibilities and problems to solve and build upon!
I launched Spur with my co-founder in September 2022, completely on top of the Meta platform, i.e., Instagram & WhatsApp Messaging. We’ve had our highs and lows, and in today’s edition, we bring you a one-stop guide for you to read before you build Facebook apps.
This will be a LONG read, so just grab your coffee before diving in.
Meta is a 1.25 trillion dollar company and has the resources and user base to build a thriving app ecosystem. Advertiser’s needs are always endless, and it’s impossible for Meta to solve all of them by itself, the only way for them to scale even faster is to allow companies to extend their platform.
Reasons WhatsApp will be the next big app platform:
- Penetration: >3b users
- Frictionless: no login needed
- Asynchronous: no lost info, interaction by text
- AI: personalized bots
Additionally, WhatsApp is aggressively pushing so, so many updates on their platform. From simple links that take you to a WhatsApp number to full-fledged forms: WhatsApp Flows!
Instagram also has >2b monthly active users. The possibilities are endless, and the WhatsApp + Instagram APIs are constantly updated, adding in more possibilities every month.
There is no doubt that the market is massive here. Lots of potentional and new possibilities every day.
When the market is big, competition will be there. But it’s not as crowded as established ecosystems like Shopify yet.
The problem here is that there are relatively fewer things to do on Meta platforms so far, so max 4-5 popular ideas are there and everyone is competing on that only. Shopify has a much broader variety of problems to solve in comparison.
You individually get every permission approved for your Facebook App
Facebook’s approval process is quite different from other app stores. You need to get approval for every permission you request.
Here’s an example, suppose you want to fetch the feed of an Instagram user.
You’ll have to use the Instagram Basic Display API for that. Here’s the exact API call. This API call requires instagram_graph_user_media, instagram_graph_user_profile
permission.
So you’ll need to:
- Build your feature on top of this API
- Record a demo video showing its working
- Finally, submit the details along with a demo account for the Meta team to test the legitimacy of the feature.
Unlike Shopify, where the app review just happens once before listing on the app store, here you have to do this for every permission.
I’d say the app review process is fairly reasonable since its for access to a social media and every additional permissions opens up avenues to a lot of potentially sensistive data. It takes a time to get used to, but it’s a cake walk after that.
Rohan’s verdict
This is one place Facebook is miles behind any other platform. The documentation is unorganized and bad.
I always end up wasting minimum 10 minutes before getting to the right API reference and examples on how to use the API. The search is as good as nothing, you’ll have to rely on Google and add site:developers.facebook.com
before the Google search query to get good results.
The WhatsApp API is not free, it is paid, they bill you for conversations. A conversation includes all messages delivered within a 24-hour period. A conversation starts when the first business message is delivered and ends 24 hours later.
Imo, the best way to understand it is to use the calculator I've built.
Another place where you might face issues when building a WhatsApp Integration is that you cannot bill clients on WhatsApp's behalf. If you're using the Cloud API.
You can do bill them on WhatsApp's behalf is you use a BSP like Dialog 360 or Gupshup, but their APIs are not as updated as Meta's APIs and their systems break quite often. You also will have to pay BSPs per number or in some other model as they are reselling the API to you.
Who's a BSP? When WhatsApp started this whole integration ecosystem, it gave a few companies access to their APIs to resell it for them, Cloud API came much, much later.
Well, we too have been trying, and they've closed their BSP program and have not been accepting any more companies for a while. So your path to build a WhatsApp Integration is via a BSP or directly use Cloud API. For Spur, we formerly worked with BSPs and later became Tech Partner ourselves.
The main problem, however, is not the pricing, but that Meta's payment Infra for WhatsApp is not as robust as their Ads billing system. So there are a ton of payment issues, and the only way to get around is to keep trying new cards.
Facebook support is BAD. Although they have been getting better over the last few years, they’ll make you go in circles, ask to put your question in the community (which no one opens) and ultimately, you have to repeat things a couple of times until they start getting reasonable.
That being said, it’s not easy to build a good support ecosystem, every partner’s needs are different, and it gets tough to cater to everyone. The best place to get a reply under 24 hours is to open a ticket using this link:
https://business.facebook.com/direct-support/
RSS Feeds are the way to go to stay updated on Meta Issues
On the consumer end, all Meta apps are fairly stable and there are barely any outages.
But on the WhatsApp API end, bugs do come up here and now. We follow the Meta Status page and have subbed to its RSS on our Slack channel to stay updates and inform our customers accordingly.
I also wrote a LinkedIn post on this.
It was a normal Monday morning for me last week, when suddenly one customer of ours from Germany tried to migrate to spur and their number went down.
We initially thought it was a mistake on our end. I tried to rectify it with a couple of tricks and was honestly shocked to know that it’s on Meta’s end and not present on their status page either.
I reported it to their direct support, community page and gave an official bug report as well. It took me around 3 days to convince them that the issue was on their end, and then finally the issue popped up on their status page.
Unfortunately, 3 more numbers went down on Monday and all 4 numbers were absolutely unusable. Thankfully, on the third day, an engineer from Meta came on a call with me and helped me get them back live until the bug was properly fixed the next day.
Meta is a great ecosytem to dive in. Both boostraped & funded companies are thriving, and the pie is only gettting bigger.