Base URL
v26.0 is the recommended version. Polymorfa forwards the URL version for
operations it sends to Meta. Changing it does not change the behavior of
Polymorfa’s media, phone-number, or business-profile methods, or Linked Device
operations. Check the method reference for its supported versions.
Polymorfa-Version does not apply to Graph requests.
Authenticate with Authorization: Bearer <token> and keep the method’s
Meta-compatible request shape.
Session backends
Graph supports Linked Devices and Meta Cloud API sessions. The selected session determines which backend handles the request. This does not make every Meta operation available on every backend: unsupported operations return a Meta-compatible capability error. Credential scopes and session ownership still apply. Browse the resources under Graph API for method parameters, responses, and backend requirements. The Marketing Messages send method accepts a template request with an explicitSTRICT product policy. Meta
decides account eligibility and message status; a Campaign send stays on its
selected provider path.
The WABA status read
returns WhatsApp’s Marketing Messages onboarding status, the business
portfolio’s terms state, and the Cloud API marketing setting. Terms are accepted
in WhatsApp Manager, not through the API. Meta-format webhooks receive the
account_update terms notification (MM_LITE_TERMS_SIGNED).
Inbound messages that Meta marks with a Click-to-WhatsApp referral preserve
the provider’s referral object in Meta-format webhooks. Its click and source
identifiers describe the entry point; they are not payment or conversion results.
Linked Devices translate validated reply buttons, lists, and HTTPS call-to-action
URLs into native messages. Interactive forms without a native equivalent return
capability error 131026.
Business-profile GET and POST return a saved profile for Linked Devices and
simulated numbers. For a real Meta Cloud API number, both operations return
capability error 131026; they do not read or change the WhatsApp profile.
Structured order-details and order-status interactive sends return 131026
for both backends. Reading an incoming order does not confirm a payment.
Template creation, listing, and deletion require a Meta Cloud API session under the
requested WABA. A Linked Devices-only WABA returns a Meta-shaped capability error
with code 131026; it does not return an empty template list or a successful
deletion. A Meta Cloud API WABA with no stored templates returns an empty list.
Creation and deletion accept an optional Idempotency-Key. A completed or
uncertain attempt keeps the same key fenced for 24 hours, so a repeat does not
submit another provider write. A definite provider rejection or a proven
pre-dispatch failure releases the key for reuse. A
successful request returns a conflict response with
X-Polymorfa-Error-Code: idempotency_completed; an unconfirmed result returns
idempotency_outcome_unknown. A recorded server error replays its status. Read
the template catalog after an uncertain
result before deciding whether to submit another write.
Product catalog discovery reads the WABA linked to an Official API Number in
your project. Meta returns catalog visibility and permission errors from the
connected account. The catalog read does not link catalogs or change products.
The linked catalog product read
lists a small product projection with Meta cursors after checking the same WABA
catalog association. It does not establish product send or merchant eligibility.
Single-product and multi-product interactive sends require a catalog returned
for that Number’s WABA. The send route checks the association before dispatch.
Meta validates the product retailer IDs. See Catalogs and commerce.