WhatsApp on Ziett
Ziett lets you send WhatsApp messages through the same API you use for SMS. WhatsApp itself is run by Meta, and it has its own accounts, billing, daily limits and message approval rules. This guide explains how those pieces fit together, and what you need in place on Meta's side before your first message.
How Ziett operates today. Ziett is a Meta Tech Provider. You connect your own WhatsApp Business account to Ziett, and Meta bills you directly for the messages you send. Ziett charges a separate processing fee. Details in Billing.
Key concepts
Meta uses a few similar-sounding terms. They are different things, and they live at different levels:
Business Portfolio ← messaging limit is set here
└── WhatsApp Business Account (WABA)
├── Payment method ← Meta bills this account
├── Message templates ← shared by every number in the account
├── Phone number A
└── Phone number B
| Term | What it is |
|---|---|
| Business Portfolio | Your company's container on Meta (formerly called Business Manager). It owns your assets, such as WhatsApp accounts, and holds your business verification and your daily limit. |
| WhatsApp Business Account (WABA) | The WhatsApp account inside your portfolio. It holds your payment method, your message templates and your phone numbers. |
| Phone number | A number registered in a WABA. It is the sender that your recipients see. One WABA can have several numbers. |
| Message template | A pre-approved message format with optional placeholders. Required to start a conversation on WhatsApp. |
Templates belong to the account, not the number
Templates are created in the WABA, not on a phone number. This means every phone number in the same WABA can use the same templates, and you don't need to recreate a template when you add another number to the account.
Billing
Two separate parties charge you for WhatsApp messages:
| Who charges | What for | How you pay | |
|---|---|---|---|
| Meta | Meta | The WhatsApp messages you send. The rate depends on the template category and the recipient's country. | With the payment method on your WhatsApp Business Account (credit or debit card). |
| Ziett | Ziett | Processing each message through the platform. | With your Ziett credit balance, like any other channel. |
Because Ziett enters the market as a Tech Provider, Ziett does not pay Meta on your behalf. Your WhatsApp Business Account must have a valid payment method on Meta, otherwise Meta will not deliver your messages, even if your Ziett balance is sufficient.
Ziett's processing fee follows the volume-based prices on the pricing page.
Messaging limits
Meta limits how many different people your business can start conversations with each day. This is the limit that most often surprises new senders, so it is worth understanding before you plan a campaign.
A messaging limit is the maximum number of unique WhatsApp users you can deliver messages to outside a customer service window, within a rolling 24-hour period.
How the limit is counted
- People, not messages. Sending three templates to the same person in one day counts as one.
- Rolling window, not a calendar day. There is no reset at midnight. Each contact stops counting 24 hours after you first reached them, and that capacity comes back continuously.
- Only messages you start. Replies you send inside the 24-hour customer service window (opened when a customer writes to you) don't count against the limit.
- Shared by the whole Business Portfolio. Since October 2025, the limit belongs to your Business Portfolio, not to each number. All numbers in the portfolio, and every platform or tool you use with them, draw from the same limit. Adding a second number does not add capacity, and a campaign on one number can use up what is left for the others.
The limits and how to raise them
| Limit (unique users / 24h) | How you get there |
|---|---|
| 250 | The default for a new Business Portfolio. |
| 2,000 | Complete one scaling path: verify your business, have your partner verify it, or send 2,000 delivered messages to unique users within 30 days using high-quality templates. Meta then reviews your message quality. |
| 10,000 | Automatic. Meta raises the limit by one level, within about 6 hours, when your messages are high quality and you used at least half of your current limit during the last 7 days. |
| 100,000 and Unlimited | Automatic, with the same two conditions at each step. |
Meta changes these rules from time to time. Check the live rules in Meta's documentation, and your current limit in WhatsApp Manager → Account tools → Messaging limits.
Verify your business
Business verification is not required to connect to Ziett or to send. But without it (or another scaling path), your limit stays at 250 unique contacts per 24 hours. Verify your Business Portfolio in Meta Business Settings early, ideally before your first large campaign.
Example: reaching 5,000 contacts
A company with a 250 limit wants to message a 5,000-contact base:
- Verify the business (or send 2,000 delivered messages over 30 days). The limit moves to 2,000.
- Send in lots within the limit, starting with your most engaged contacts, and keep quality high. Once you reach at least 1,000 unique contacts in a 7-day period (half of 2,000), Meta raises the limit to 10,000, usually within hours.
- Send the rest. With a 10,000 limit, the remaining contacts fit in a single day.
Each step depends on Meta's review, so plan for a few days, not a few hours.
How Ziett helps you stay within your limit
Messages above your limit are refused by Meta, and a high refusal rate hurts the quality of your account. So Ziett checks your limit before a campaign starts:
- Ziett compares the number of new unique contacts in your campaign with the capacity you have left in the last 24 hours.
- If the campaign doesn't fit, Ziett tells you your limit, how much you already used and how many contacts you can still reach, instead of sending messages that Meta would refuse.
- Contacts you already messaged in the last 24 hours don't use extra capacity.
Ziett can only count the messages sent through Ziett. If you also send from other tools in the same Business Portfolio, your real limit may be reached sooner than Ziett estimates.
Keep room for transactional messages. Because the limit is shared, a campaign that uses all of it also blocks your one-time codes, order updates and other notifications until capacity comes back. Size campaigns so some of the limit stays free.
Other limits that affect delivery
| Limit | What it means | What to do |
|---|---|---|
Per-user marketing limit (131049) | Meta may not deliver a marketing template to someone who has recently received many marketing messages from businesses. | Wait at least 24 hours before resending. Repeated retries make it worse. |
Same recipient, too fast (131056) | Too many messages from your number to the same person in a short time. | Space out messages to the same recipient. |
Quality and spam signals (131048) | When many recipients block or report your messages, Meta can restrict the number and stop your limit from growing. | Send only to people who opted in, and keep content relevant. See Best practices. |
Country restrictions (130497) | Meta can restrict a business from messaging users in some countries until it reaches the 2,000 limit. Marketing templates to US numbers (+1) are currently not delivered. | Check the destination countries of a campaign before sending. |
| Messages per second | A number sends up to 80 messages per second by default. Ziett paces sending for you. | Nothing. Large campaigns simply take a few minutes to go out. |
Before you send
Check each item on Meta's side:
- You have a Business Portfolio, and it owns your WhatsApp Business Account.
- Your WhatsApp Business Account is active and in good standing (not restricted or disabled by Meta).
- The account has a payment method (credit or debit card) attached.
- The phone number is registered in the account and connected, and its display name is approved.
- You have at least one approved template to send.
- You know your messaging limit and have planned campaigns around it.
Business verification is not required to connect or send through Ziett, but without it your limit stays at 250 unique contacts per 24 hours. See Messaging limits.
Then, on Ziett's side:
- The WhatsApp Business Account and phone number are connected to Ziett (see below).
- The templates you want to use are available in Ziett (see Templates).
- Your Ziett balance covers the processing fee.
Connecting your account
To send from a number, you connect your WhatsApp Business Account and phone number to your Ziett organization from the dashboard. Once connected, the number appears as a sender, and its Ziett ID is the remitter_id you use in the API.
Can I use the number I already have on WhatsApp?
Not at the same time. A phone number that is registered on the WhatsApp API cannot also be used normally in the WhatsApp or WhatsApp Business app.
- If you connect a number that is in use in an app, it moves to the API and stops working in the app, and the chat history in the app is not carried over. The number must first be released from the app.
- We recommend a dedicated number for the API. Keep your current number in the app for personal chats and day-to-day support, and use a separate number for notifications and campaigns. A dedicated number also avoids surprises when your customers reply to a campaign.
- Meta also offers a "coexistence" mode, where a number from the WhatsApp Business app (not the regular WhatsApp) works in the app and on the API at the same time. It has trade-offs: sending is capped at 20 messages per second, some app features are disabled, and it is not available in every country. Ziett does not support coexistence today.
The number must be able to receive a verification code by SMS or voice call, and it needs an approved display name before it can send. If the display name is still pending, messages fail until Meta approves it (error 131037).
Templates
On WhatsApp, a business-initiated message is sent from a template that Meta has approved. Ziett only sends approved templates.
Two ways to get a template into Ziett
| Method | How it works |
|---|---|
| Create in Ziett | Create the template from the Ziett dashboard. Ziett submits it to Meta for approval. |
| Create on Meta, then sync | Create the template directly on Meta, then sync it into Ziett. |
Syncing
Syncing imports templates from your WhatsApp Business Account into Ziett. You can sync:
- A specific template, by its name; or
- All templates associated with a WhatsApp Business Account.
Once a template is in Ziett, it has a Ziett template_id, and that is the ID you send in the API.
Using a template in the API
Send a template with the template_id and, if it has placeholders, the variables object. Ziett fills them in per message, optionally using your contacts.
{
"remitter_id": "019b4b56-e704-7c30-83a0-527df63c3e00",
"template_id": "019c2f7d-8a31-7b02-b6c5-1e94d0a37f58",
"channel_type": "WHATSAPP",
"target_e164": "+244990090990",
"variables": {
"values": { "body:order_id": "A-10293" }
}
}
- Templates & Variables — how placeholders are named and resolved.
- Send Message — send to one recipient.
- Send Batch Campaign — send to up to 1,000 recipients.
Best practices
Meta judges your account by how recipients react, not only by what you send. These habits protect your quality, your limit and your templates.
Get consent.
- Message only people who agreed to receive messages from you on WhatsApp, and say what they will receive.
- Make opting out easy, and honor it right away. Recipients who opt out of marketing messages are refused by Meta (
131050).
Grow your limit on purpose.
- Verify your business early. It is the fastest way from 250 to 2,000.
- Ramp up gradually. Start with your most engaged contacts and send in lots instead of one blast to a cold list.
- Using at least half of your limit over 7 days, with good quality, is what triggers the next level.
Protect your quality.
- Keep content relevant and expected. Many blocks and reports lower your quality rating and can restrict the number.
- Pick the right template category. Don't put promotions in a
UTILITYtemplate, because Meta can reclassify or reject it. - Don't resend the same marketing message to someone who didn't answer, and space out messages to the same person.
- Watch your number's quality rating and your templates' status in WhatsApp Manager. A paused or disabled template (
132015,132016) stops every message that uses it.
Keep your lists clean.
- Use international format (E.164), for example
+244990090990, and remove duplicates. - Remove numbers that repeatedly fail with "not on WhatsApp" (
131026). They cost you quality and give nothing back.
Plan around the limit.
- Check your remaining limit before large campaigns.
- Keep part of the limit free for transactional messages such as one-time codes.
- Schedule big sends over several days if you are still on a low limit.
Keep your account healthy.
- Keep a valid payment method on the WhatsApp Business Account (
131042blocks sending when payment fails). - Get the display name approved before your first send (
131037). - If you remove Ziett from your Business Portfolio on Meta, Ziett loses access to your account and stops sending. Reconnect from the dashboard to resume.
Who handles what
| You (on Meta) | Ziett | |
|---|---|---|
| Business Portfolio and business verification | ✅ | |
| WhatsApp Business Account and its payment method | ✅ | |
| Paying Meta for messages | ✅ | |
| Display name approval | Meta decides | |
| Template approval | Meta decides | |
| Raising your messaging limit | Meta decides | |
| Consent and opt-outs from your recipients | ✅ | |
| Connecting accounts and numbers to the platform | ✅ | |
| Syncing and managing templates in the dashboard | ✅ | |
| Checking your limit before a campaign | ✅ | |
| Sending through the API, variables, contacts | ✅ | |
| Tracking delivery status | ✅ | |
| Ziett processing fee | ✅ |
Rate Limits & Reliability
Understand Ziett's rate limits, how to handle 429 errors gracefully, and how to build a reliable integration using webhooks.
Conventions
The patterns and contracts that apply to every endpoint in the Ziett API — base URL, request format, responses, errors, pagination, and idempotency.