Everything you and your clients need to send compliant WhatsApp campaigns through the official Meta Cloud API.
1. Getting started
Vynex Solutions is a multi-tenant WhatsApp bulk sender. There are two roles:
- Owner (you) — create client accounts, manage plans, and see platform-wide usage in the Owner console.
- Client — connects their own WhatsApp Business number, imports contacts, builds templates, and sends campaigns from their Dashboard.
Each client's data is isolated at the database level (Row-Level Security), so one client can never see another's contacts, templates, or campaigns.
2. Onboarding a client
- Open the Owner console.
- Under Create a tenant, enter the client's business name, country (ISO2, e.g.
AE), login email, and plan. - Click Create tenant & login. You'll get a one-time temporary password — share it with the client securely.
- The client signs in at
/login.htmland lands on their own dashboard. - Click any client row to view full details, change their plan, suspend/reactivate them, or reset their login password.
3. Meta gateway (connect WhatsApp)
Each client connects their own WhatsApp Business account. In the client's Settings → WhatsApp connection, they enter three values from Meta:
The token must be a permanent System User token (the default 24-hour token will expire) with these permissions:
whatsapp_business_messagingwhatsapp_business_management
Vynex Solutions verifies the credentials against Meta on save and shows the connected number, verified name, and quality rating. Tokens are stored server-side only and never sent to the browser.
4. Templates
WhatsApp only allows sending pre-approved templates for outbound campaigns. In Templates:
- Click + New template and write the body. Use
{{1}},{{2}}… for variables. - Add an example value for each variable (Meta requires this for review).
- Pick a category — Utility is cheaper and better tolerated when the message is transactional; Marketing for promotions.
- Submit to Meta. Approval usually lands within minutes to 24 hours. Use Refresh to re-check status.
5. Contacts
- In Contacts, click Upload contacts and pick an Excel/CSV file (parsed in your browser).
- The file needs a phone column named one of
phone / number / whatsapp / mobile, plus any columns you want to feed into template variables (e.g.name). - Numbers are normalised automatically; local numbers default to the client's business country.
6. Campaigns
- In Campaigns, click + New campaign.
- Pick an approved template and a contact list, and map
{{1}},{{2}}… to contact columns. - Review the estimated cost (by destination country), then create and send.
- Watch delivery status update live — queued → sent → delivered → read — as Meta's webhooks arrive.
7. Webhooks (delivery receipts)
To get delivered/read ticks, set the callback URL in Meta for Developers → WhatsApp → Configuration, subscribed to the messages field:
https://app.vynexagency.com/webhookUse the same verify token you set in the server's environment, and set META_APP_SECRET so Vynex Solutions can verify that events genuinely came from Meta.
8. Compliance & opt-in
- Opt-in only. Only message people who agreed to hear from the sender. Vynex Solutions sends to contacts marked opted-in.
- Watch quality rating. If it drops, slow down and review message content.
- Category matters. Mis-categorising marketing as utility can hurt quality and violate policy.
9. FAQ
A client says "Connect your WhatsApp account first."
They haven't completed Settings → WhatsApp connection, or the token was rejected by Meta. Re-enter a valid permanent token.
Delivery status stays "sent" and never becomes "delivered".
The webhook isn't reaching the server. Check the callback URL, verify token, and that the messages field is subscribed in Meta.
A template was rejected.
Open it, read the rejection reason, edit, and resubmit. Avoid promotional language in utility templates.