top | item 33109139

(no title)

KIFulgore | 3 years ago

At my last company, we had 12 identical Facebook apps working as service-to-service messaging integrations. They chose to have 12 apps due to data sovereignty reasons, separating implementations in different regions. For each permission we needed, we'd record screencasts of all 12 apps and explain how to verify the system works, then submit for App Review.

Usually about 4 would get approved, and the other 8 would be rejected. All for different reasons. Usually it was something about Facebook Login - which we didn't use as an S2S integration. It was maddening.

We'd make token changes to the rejected reviews, resubmit, then keep resubmitting until they were all approved. On occasion an App would keep going to the same stubborn reviewer and we'd contact our Partner Manager. They're nearly powerless to do anything, since the Safety and Review team is firewalled off from the rest of Meta to prevent outside influence.

Funny nuance: when in development mode, Apps can't receive webhook events for wall posts. Only webhooks for Messenger (DMs) are active. We were adding support to reply to wall posts, but couldn't test or demonstrate the feature because public post webhooks weren't available. "How do we proceed?" "Well, you need to use the fetch API to get posts in batch for Approval, then you can use webhooks." Thing is, our platform wasn't interested in pulling posts in batch. Just routing public posts in real-time via webhooks.

So, we built a completely separate App to pull posts in batch and got it approved. Then used a proxy to slingshot webhooks through that App to our platform, bypassing the under-review Apps altogether. And we got them all approved.

It's a joke that Meta tries to enforce policy at the application level vs. API for enterprise S2S integrations. Workarounds "faking" the experience are always possible.

I advised simplifying things by having a single proxy service distributing messages to different cloud regions based on the customer. Or maybe 3 proxy Apps - dev, US, and Germany, as simple middleware shims. But not 12 Apps. It fell on deaf ears. Since I left, I hear with Instagram support and more granular permissions on Messenger, they're submitting 60+ App Review submissions every quarter. With the resubmissions and petitions it's nearly full-time position.

If I ever took another position working with Meta, it would have to be "retire in 3 years" kind of money.

discuss

order

No comments yet.