Channels
Messaging channels — a GENERIC, multi-instance framework (multiple Telegram bots / WhatsApp lines / Instagram accounts per tenant), each optionally bound to a department that new conversations inherit. Telegram is the first concrete source. The provider token + webhook secret are encrypted at rest and NEVER returned — responses expose only has_token + a 4-char token_preview and the (non-secret) webhook URL/status. Admin-only. The inbound provider webhook is a separate public, signature-verified endpoint.
Amazon SP-API authorization callback (public)
Where Amazon returns the browser after the seller's consent (doc 72
Amazon Selling Partner Appstore login URI (public)
Where an authorization started in the Selling Partner Appstore lands
List channels
A page of the tenant's configured messaging channels. Admin only. The
Connect a manual channel
Connect + persist a MANUAL (non-OAuth) channel — currently Telegram only.
What the Hepsiburada connect form needs before a channel exists
Our developer user name at Hepsiburada — what the seller types into the
Start connecting an eBay seller account (OAuth)
Mints the eBay consent URL the panel opens (doc 79 §2.2). The seller signs
Sync an eBay channel's messages, feedback, orders and returns now
Queues the message, feedback, order and Post-Order (returns, item not
eBay's own messages to the seller (read only)
The `FROM_EBAY` conversations — account notices, case updates, policy
eBay OAuth redirect target (public)
The RuName's 'accept' (and 'decline') URL. **Public** — eBay sends the
eBay notification endpoint challenge (public)
eBay's endpoint check for the application's notification destination
eBay notification delivery (public)
The ONE application-level endpoint every connected seller's
eBay Marketplace Account Deletion challenge (public)
The endpoint check for the MANDATORY Marketplace Account Deletion
eBay Marketplace Account Deletion notice (public)
An eBay user asked for their data to be deleted. Verified like every
What the Amazon connect form needs before a channel exists
Whether the platform's Amazon application is configured (LWA client +
Start connecting an Amazon seller account
Parks the tenant, the store, the mailbox Amazon's buyer mail arrives
Continue an authorization started in the Amazon Appstore
The panel's half of the Appstore flow (doc 72 §3.3): parks a state for
Meta platform config (client-safe)
The CLIENT-SAFE platform Meta App config so the SPA can init the Facebook
Exchange a Meta OAuth code + discover assets
Exchange the OAuth `code` from the FB Login popup for an access token
Connect selected Meta assets
Create channels for the SELECTED discovered assets. Admin only. The access
Get a channel
Get a channel
Update a channel
Patch the editable, non-secret fields (name / department binding /
Delete a channel
Delete the channel and best-effort remove its provider-side webhook.
Rotate a channel's credential without deleting it
Doc 65 S10. Replaces the one credential this channel's source can rotate
A phone line's measured health
Doc 65 S7. Our call records for this line, the signalling gateway's
Test a phone line now
Asks a `current` gateway to send one SIP OPTIONS to the line's server
Sync a Trendyol channel's orders and returns now
Queues the order-stream and claims mirror jobs for this channel at
Sync an n11 channel's orders and returns now
Queues the order and claim (return / cancel / exchange) mirror jobs for
Sync a Çiçeksepeti channel's questions, orders and returns now
Queues the question poll and the order and return mirror jobs for this
Sync a Hepsiburada channel's questions, orders and claims now
Queues the 'Ask the Seller' question poll and the order and claim
Sync a Pazarama channel's questions, orders and returns now
Pazarama has no webhook (doc 75 §1), so this queues at once what the
Start 'Connect with Etsy' (OAuth 2.0 + PKCE)
Parks the tenant, the chosen history window and a fresh PKCE
Sync an Etsy channel's reviews and orders now
Queues at once what the schedule otherwise runs hourly (new reviews)
The Etsy shop's public profile and policies (read-only)
The shop's rating, vacation state and policies — shipping, payment,
Etsy OAuth callback (public)
Where Etsy redirects the browser after consent (must equal
Etsy order webhook (public, one url for the whole platform)
Etsy's webhooks are subscribed ONCE for our Etsy app, by hand in its
Reactivate a Trendyol channel's order webhook
Trendyol pauses an order webhook after 13 failed deliveries. This asks
Change an Amazon channel's mailbox and automatic review request
`mailbox_channel_id`: the e-mail channel Amazon's buyer mail arrives on
Sweep an Amazon channel's orders now
Queues the order sweep the schedule runs every ten minutes (Orders
Sync an idefix channel now
Queues all four idefix pollers for this channel at once — product
The Mirakl operators the connect form names
Operators whose Mirakl instance address has been measured (doc 84 §11) —
Sync a Mirakl channel now
Queues the thread poll, the order and return mirror and the shop refresh
Mirakl reply SLA and thread kinds
The reply deadline in hours (1–168, default 24) counted from the buyer's
Retry webhook registration
Re-run the channel's webhook registration (e.g. after deploying to a
Who this channel notifies
The team roster with, for each member and each kind of event this
Set who this channel notifies
Replaces, per submitted event, the set of members who should NOT be
The number's ice breakers and commands
Best-effort against Meta: an unreachable Graph still renders the editor,
Replace the ice breakers and commands
A FULL REPLACE: Meta stores exactly what is sent, so both lists travel on
What WhatsApp cost this account, and on what
Meta's own `conversation_analytics` and `pricing_analytics` for the
Per-template sent / delivered / read / clicks, and the consent gating them
Meta returns none of this until the WABA has been opted in with
Record the tenant's consent and enable template analytics at Meta
The only place the `is_enabled_for_insights` switch is thrown. Requires
Collect the last few days now instead of waiting for the nightly job
Bounded to Meta's seven-day engagement window, because that is the only
Quality rating, messaging limit and warm-up rung for this number
None of this is new data — the quality and capability webhooks have been
Arm or disarm identity-change protection on a number
WhatsApp numbers get recycled. When one does, the previous owner's
Where this number stands on being findable
The badge status, the two discoverability switches, and Meta's
Set search visibility and/or username
Neither needs the badge. A username makes the number findable by exact
Apply for the Official Business Account badge
Four of Meta's five eligibility conditions are facts we already hold;
List the number's QR codes / short links
Refreshed from Meta on every call, because codes can also be created or
Mint a QR code / short link
Creates a `wa.me/message/<CODE>` link with the given prefilled message.
List the account's In-App Signup deep links
`wa.me/<number>/signup/<id>` opens an opt-in screen inside WhatsApp: the
Create an In-App Signup deep link
Creates the signup at Meta and stores the phone number the link will be
Edit a signup link, or turn it off
Only the fields present in the body change. There is deliberately NO
Change the message behind a code, and/or its label
The point of the feature: the PRINTED code is untouched and keeps
Retire a QR code
Irreversible from the customer's side: anyone who scans the printed code
The flows this Page could open a Click-to-Messenger ad with
Every flow the tenant owns, each with its publish state AND, when it
Publish a flow as this Page's welcome message flow
Publishes the flow's FIRST STEP — the text and its buttons. When the
Take the greeting off the Page
The stored mapping is dropped only when Meta agreed. Dropping it on a
Where this tenant's customers' commercial data may live
ADR-005. Rendering Meta's address form is a feature; keeping everyone's
Change where commercial data may live
`acknowledge` is REQUIRED to switch storage on and ignored when
Which other apps may work this Page
Handover is the one Messenger feature whose availability is neither ours
Why a connected Messenger / Instagram channel might be silent
A Meta social channel can connect successfully, report healthy and
The m.me / ig.me link that opens a conversation
THE SERVER BUILDS THE STRING because the three rules that decide whether
Re-read the Page's public handle from Meta
The handle is stored when a channel CONNECTS, and it started being stored
What Meta's own books say about a Page's messaging
Four metrics (37 §E1.5), and one of them is not like the others.
Meta's utility template library and the Page's own copies
Both lists in one response (37 §E8.1). The library is Meta's and is not
Copy a Meta library template onto the Page
The clone comes back APPROVED in the same response — no review, no
Remove a utility template from the Page
Meta deletes the template in EVERY language when only a name is given,
Ready-made WhatsApp forms, and which of them this number has
Sending a Flow has worked end to end for a while; the form ITSELF had to
Install a ready-made form on this number
Creates the form on the Business Account and PUBLISHES it in the same
Retire this number's copy of a form
DEPRECATES the form at Meta rather than deleting it. A published flow
Endpoint-flow status for this number
Everything the endpoint-flows panel shows (G30): whether the RSA-2048
Generate and upload the Flow endpoint encryption key
Generates the channel's RSA-2048 pair if absent (private half stored
Health-check the Flow data endpoint
Three independent readings: `key_pair` proves a probe AES key survives
Create and publish an endpoint-backed flow
Creates the flow on the WABA with `endpoint_uri` pointing at this
Replace an endpoint flow's screen map
Edits OUR half only — the screen map the data endpoint answers from.
Retire an endpoint-backed flow
Deprecates the flow at Meta (published flows cannot be deleted) and
List WhatsApp message templates
Every message template on this WhatsApp channel's Business Account, with
Create a WhatsApp message template
Submit a new template for Meta review (the returned status is normally
Edit a WhatsApp message template
Edit an existing template, identified by `name` + `language` in the body.
Upload a media-header sample
Upload a sample image / video / document via the Resumable Upload API and
Browse Meta's pre-approved template catalogue
Meta's own catalogue of pre-written templates. Worth its own screen for
Create a template from the library
Create a template from a catalogue entry. The returned status is
Delete a WhatsApp message template
Remove a template by name (every language version of it). Admin-gated
Lift a pacing pause on a WhatsApp template
Two pauses look identical in the panel and behave nothing alike. A
WhatsApp business profile + phone status
The public business profile and the phone number's operational status. Admin-gated (Channel `view`).
Update the WhatsApp business profile
Update the public business profile fields. Admin-gated (Channel `update`); a Graph rejection is a 422 with `detail`.
Set the WhatsApp profile photo
Upload a profile photo (JPEG/PNG, up to 5 MB) via the Resumable Upload
Telegram bot settings
The bot's own surface — the slash-command menu, the empty-chat text, the
Update the Telegram bot settings
Apply an edit. Only the fields present are written — a field left out is
Telegram inbound webhook (public)
PUBLIC server-to-server endpoint Telegram calls with each update. NO
Gmail push notification from Cloud Pub/Sub (public)
PUBLIC server-to-server endpoint the platform's Cloud Pub/Sub push
Meta webhook verification handshake (public)
PUBLIC server-to-server handshake Meta calls ONCE when the operator saves
Meta inbound webhook (public, shared by all Meta products)
PUBLIC server-to-server endpoint Meta calls for WhatsApp / Messenger /
Marketplace (Trendyol) order webhook (public)
Where Trendyol posts order-package events (doc 70 §12.4). **Public**,
Hepsiburada order / claim webhook (public, POST paths)
Where Hepsiburada posts order and claim events (doc 71 §5.2). **Public**,
Hepsiburada order / claim webhook (public, PUT paths)
The PUT half of the same webhook (cancel, unpack, in transit, deliver,