Skip to main content
If you already call Meta’s Cloud API, LazyApp accepts Meta-shaped requests and returns Meta-shaped responses. You can move without rewriting your integration, then adopt the native API where it earns its keep.

The swap

Same body, same response shape, same error envelope. The version segment is accepted and ignored, so you do not have to chase Graph API versions.

What the proxy covers

The proxy is a translation layer over the same services the native API uses, not a fork — so behaviour cannot drift between the two.

Webhooks change shape

This is the one part that is not a drop-in. Meta’s webhook payload is deeply nested under entry[].changes[].value. LazyApp’s is flat:
Signature verification also differs: X-LazyApp-Signature over the raw body with your endpoint secret. See verifying webhooks.

Suggested order

1

Point sends at the proxy

Change the base URL and token in one place. Verify traffic flows with an sk_test_ key first.
2

Move webhooks to LazyApp

Register an endpoint, verify signatures, and map the flat payload. This is the only real code change.
3

Adopt what you could not do before

Once traffic is flowing, the native API gives you things the Cloud API does not: scheduling, events that decouple your code from template names, broadcasts with opt-out and frequency caps enforced server-side, and Verify with fraud controls.
Keep using the proxy indefinitely if it suits you. It is a supported surface, not a temporary shim.