Working with an AI agent? Download the full documentation as a Markdown file to use as context.
Download full .mdWhat each channel supports, the license tiers, and the platform limits.
All three channels are connected the same way (OAuth). The table below shows what each channel supports.
| Feature | Facebook Messenger | ||
|---|---|---|---|
| Outbound text — max length | 4096 chars | 1000 chars | 2000 chars |
| Outbound media (Pro) | image, audio, video, document | image, audio, video, document | image, audio, video, document |
| Template messages (Pro) | ✅ Required outside 24h window | ❌ Not supported | ❌ Not supported |
| Incoming webhooks — text | ✅ type: "text" |
✅ type: "text" |
✅ type: "text" |
| Incoming webhooks — media (Pro) | image, audio, video, document, sticker | image, audio, video, document | image, audio, video, document |
| Delivery statuses | sent delivered read failed |
delivered read |
delivered read |
| Recipient format | Phone number without + |
IGSID | PSID — |
| 24h window workaround | Use approved templates | None — wait for user to message | None — wait for user to message |
| Channel identifier | phone_number_id |
ig_account_id |
page_id |
| Sender profile | data.from_name (from Meta contacts) |
Via profile endpoint | Via profile endpoint |
Note: Each Meta account (phone number, Instagram account, or Facebook Page) can only be connected to one Fiwano user at a time.
Fiwano offers two license tiers. Each connected channel requires an active license.
| Tier | Monthly | Capabilities |
|---|---|---|
| Starter | $12 | Unlimited inbound and outbound text messages, delivery statuses |
| Pro | $19 | Everything in Starter + inbound media with files, outbound media via HTTPS URL (signed URLs supported), WhatsApp template management and sending |
New accounts start with a 7-day free trial (Pro tier). For the billing lifecycle and how a channel's subscription state is reported, see Subscriptions & Billing. For how this flat fee relates to Meta's own per-message charges, see Messaging Costs Explained.
Message sends are limited to 10 accepted send attempts per second per channel
across all API keys. The limit is shared by text, media, and template sends, so
creating another key does not increase one channel's allowance while one key can
drive many channels independently. Exceeding it returns HTTP 429 with
Retry-After. Other public API operations do not share a product-wide RPS cap.
During exceptional outbound saturation, a send can briefly return HTTP 503 +
Retry-After; honor the header and retry. Meta also enforces its own channel and
recipient limits (shown in Meta Business Manager, not controlled by Fiwano).
Meta restricts when you can message a user outside an open conversation:
POST /api/v1/messages/send-template. This is a Meta policy.Meta downloads your media_url and enforces its own per-platform caps. Fiwano
does not re-check the file, so an oversize file is rejected by Meta with
error_code 100 and the message is not retried — see
Errors.
| Media type | ||
|---|---|---|
| Image | 5 MB (JPEG, PNG) | 8 MB (JPEG, PNG) |
| Video | 16 MB (MP4, 3GPP) | 25 MB (MP4, OGG, AVI, MOV, WebM) |
| Audio | 16 MB (AAC, AMR, MP3, MP4, OGG) | 25 MB (AAC, M4A, WAV, MP4) |
| Document | 100 MB (PDF, Office, text) | 25 MB (PDF) |
Meta does not publish per-type caps for the Facebook Messenger Send API. Treat the Instagram figures as a safe working assumption for Messenger and handle the oversize rejection rather than relying on a fixed number.
These are Meta's limits and Meta may change them. Note that encoding overhead can push a file over the cap even when its size on disk looks safe.
GET /api/v1/media/{media_id} promptly after
the webhook; files are cleaned up automatically after expiry. Maximum file
size: 10 MB.type: "unsupported" with upgrade_required: "pro". See
Subscriptions & Billing.