# Zenziva Full Technical Map (LLM Context) ## Infrastructure Overview Zenziva operates a high-availability cloud messaging service in Indonesia. - **Official Status**: Meta Business Solution Provider (BSP). - **Core Technology**: Proprietary routing logic for Universal SMS, Voice TTS, and WABA Cloud API. - **SLA**: 99.5% uptime target with mission-critical monitoring. ## Full API Specification All requests are authenticated via the parameters/headers described per endpoint. Responses are JSON. ### --- Group: Zenziva Console (SMS, OTP, Voice, Balance) --- #### Send SMS **Description**: Send a single Masking SMS to one recipient. **Endpoint**: `POST {CONSOLE_BASEURL}/masking/api/sendsms/` **Parameters**: - `userkey` (Required): HTTP API Userkey - `passkey` (Required): HTTP API Key - `to` (Required): Recipient number - `message` (Required): Message content (max 400 characters) **Example Payload (JSON)**: ```json { "userkey": "userkey", "passkey": "p455k3y", "to": "08123456789", "message": "Hi John Doe, have a nice day." } ``` **Example Response**: ```json { "messageId": "157365", "to": "08123456789", "status": "1", "text": "Success" } ``` #### Send SMS OTP / Verification **Description**: High-priority OTP route over SMS. Bypasses ordinary SMS queueing for sub-second delivery. **Endpoint**: `POST {CONSOLE_BASEURL}/masking/api/sendOTP/` **Parameters**: - `userkey` (Required): HTTP API Userkey - `passkey` (Required): HTTP API Key - `to` (Required): Recipient number - `message` (Required): OTP message content (max 400 characters) **Example Payload (JSON)**: ```json { "userkey": "userkey", "passkey": "p455k3y", "to": "08123456789", "message": "Please input this number 385948." } ``` **Example Response**: ```json { "messageId": "157365", "to": "08123456789", "status": "1", "text": "Success" } ``` #### Send Text To Voice **Description**: Send a TTS voice call via GSM. The recipient's phone rings, and your message text is read aloud automatically. **Endpoint**: `POST {CONSOLE_BASEURL}/voice/api/sendvoice/` **Parameters**: - `userkey` (Required): HTTP API Userkey - `passkey` (Required): HTTP API Key - `to` (Required): Recipient number - `message` (Required): Message content (max 250 characters) **Example Payload (JSON)**: ```json { "userkey": "userkey", "passkey": "p455k3y", "to": "08123456789", "message": "Hi John Doe, have a nice day." } ``` **Example Response**: ```json { "messageId": "157365", "to": "08123456789", "status": "1", "text": "Success" } ``` #### Check Balance **Description**: Check your remaining wallet balance. GET request with query parameters. **Endpoint**: `GET {CONSOLE_BASEURL}/api/balance/` **Parameters**: - `userkey` (Required): HTTP API Userkey - `passkey` (Required): HTTP API Key **Example Payload (JSON)**: ```json { "userkey": "userkey", "passkey": "p455k3y" } ``` **Example Response**: ```json { "balance": "999999", "status": "1", "text": "Success" } ``` #### Webhook URL POST **Description**: Configure a Webhook URL in the Zenziva console. Zenziva will POST a JSON payload to it on every WhatsApp delivery status change. **Endpoint**: `POST https://your-app.example.com/webhook` **Parameters**: - `type`: Type of service (e.g. "whatsapp") - `messageId`: ID of message - `status`: Delivery status — one of: SENT, DELIVERED, READED, FAILED **Example Payload (JSON)**: ```json {} ``` **Example Response**: ```json { "type": "whatsapp", "messageId": "594512", "status": "Delivered" } ``` ### --- Group: WABA Platform (New Unified Platform, API Key Auth) --- #### Send Plain Text Message **Description**: Send a plain text WhatsApp message. Authenticate with your API key in the X-API-Key header. **Endpoint**: `POST {WABA_BASEURL}/api/messages/v1/send` **Parameters**: - `to` (Required): Recipient number in international format (E.164) - `text` (Required): Message text **Example Payload (JSON)**: ```json { "to": "+628123456789", "text": "Halo, ini pesan text dari API." } ``` **Example Response**: ```json { "success": true, "messaging_product": "whatsapp", "messages": [ { "id": "1473688840035974" } ] } ``` #### Send Template — Header Text + Body Variables **Description**: Send a pre-approved template with a text header and body variables. Components are auto-built — you only send the variable fields. **Endpoint**: `POST {WABA_BASEURL}/api/messages/v1/send` **Parameters**: - `to` (Required): Recipient number (E.164) - `templateName` (Required): Approved template name - `templateLanguage` (Required): Template language code (e.g. id, en_US) - `headerVariables` (Optional): Header values, ordered to match {{1}}, {{2}}, … (array) - `bodyVariables` (Optional): Body values, ordered to match {{1}}, {{2}}, … (array) **Example Payload (JSON)**: ```json { "to": "+628123456789", "templateName": "order_status", "templateLanguage": "id", "headerVariables": [ "Budi" ], "bodyVariables": [ "INV-2026-001", "Laptop", "dikirim" ] } ``` **Example Response**: ```json { "success": true, "messaging_product": "whatsapp", "messages": [ { "id": "1473688840035974" } ] } ``` #### Send Template — Media Header **Description**: Send a template whose header is an image, video, or document. Provide the media type and a publicly reachable link. **Endpoint**: `POST {WABA_BASEURL}/api/messages/v1/send` **Parameters**: - `to` (Required): Recipient number (E.164) - `templateName` (Required): Approved template name - `templateLanguage` (Required): Template language code - `bodyVariables` (Optional): Body values, ordered to match {{1}}, {{2}}, … (array) - `headerMediaType` (Required): image | video | document - `headerMediaLink` (Required): Public URL of the media file **Example Payload (JSON)**: ```json { "to": "+628123456789", "templateName": "promo_media_template", "templateLanguage": "id", "bodyVariables": [ "20%", "Laptop" ], "headerMediaType": "image", "headerMediaLink": "https://example.com/banner.jpg" } ``` **Example Response**: ```json { "success": true, "messaging_product": "whatsapp", "messages": [ { "id": "1473688840035974" } ] } ``` #### Send Template — Button URL Variable **Description**: Send a template with a dynamic URL button. Each button variable carries its subType, index, and value. **Endpoint**: `POST {WABA_BASEURL}/api/messages/v1/send` **Parameters**: - `to` (Required): Recipient number (E.164) - `templateName` (Required): Approved template name - `templateLanguage` (Required): Template language code - `buttonVariables` (Required): Array of { subType, index, value } objects **Example Payload (JSON)**: ```json { "to": "+628123456789", "templateName": "cta_tracking_template", "templateLanguage": "id", "buttonVariables": [ { "subType": "url", "index": 0, "value": "INV-2026-001" } ] } ``` **Example Response**: ```json { "success": true, "messaging_product": "whatsapp", "messages": [ { "id": "1473688840035974" } ] } ``` ### --- Group: WABA Legacy (For accounts on their own subdomain) --- #### WABA · Send WhatsApp Message **Description**: Send a WhatsApp message using a pre-approved template. **Endpoint**: `POST {WABA_BASEURL}/api/messages/` **Parameters**: - `userkey` (Required): HTTP API Userkey - `passkey` (Required): HTTP API Key - `data` (Required): Template body data (JSON object). **Example Payload (JSON)**: ```json { "userkey": "userkey", "passkey": "p455k3y", "data": { "to": "628123456789", "template_name": "otp_template", "template_language": "id", "otp_code": "123456" } } ``` **Example Response**: ```json { "messageId": "2345", "to": "+628123456785", "status": "1", "text": "Success" } ``` #### WABA · Delivery Report **Description**: Check the delivery status of a sent WABA message by its messageId. **Endpoint**: `GET {WABA_BASEURL}/api/report/` **Parameters**: - `userkey` (Required): HTTP API Userkey - `passkey` (Required): HTTP API Key - `messageId` (Required): Message ID returned from Send Message **Example Payload (JSON)**: ```json { "userkey": "userkey", "passkey": "p455k3y", "messageId": "157365" } ``` **Example Response**: ```json { "status": "1", "messageId": "157365", "msg-status": "DELIVERED" } ``` #### WABA · Check Balance & Expiry **Description**: Check remaining WABA credit balance and account expiry date. **Endpoint**: `GET {WABA_BASEURL}/api/balance/` **Parameters**: - `userkey` (Required): HTTP API Userkey - `passkey` (Required): HTTP API Key **Example Payload (JSON)**: ```json { "userkey": "userkey", "passkey": "p455k3y" } ``` **Example Response**: ```json { "balance": "999,999", "expired": "31 Desember 2026", "status": "1", "text": "Success" } ``` #### WABA · Add Contact **Description**: Add a contact to your WABA Phonebook. **Endpoint**: `POST {WABA_BASEURL}/api/addkontak/` **Parameters**: - `userkey` (Required): HTTP API Userkey - `passkey` (Required): HTTP API Key - `nama` (Required): Contact name - `nohp` (Required): Phone number **Example Payload (JSON)**: ```json { "userkey": "userkey", "passkey": "p455k3y", "nama": "Test", "nohp": "081234567890" } ``` **Example Response**: ```json { "status": "1", "text": "Success" } ``` #### WABA · Get Inbox **Description**: Get inbox messages within a date range. **Endpoint**: `GET {WABA_BASEURL}/api/getinbox/` **Parameters**: - `userkey` (Required): HTTP API Userkey - `passkey` (Required): HTTP API Key - `start_date` (Required): Start date — dd/mm/yyyy - `end_date` (Required): End date — dd/mm/yyyy **Example Payload (JSON)**: ```json { "userkey": "userkey", "passkey": "p455k3y", "start_date": "15/05/2026", "end_date": "15/05/2026" } ``` **Example Response**: ```json { "msg-count": 1, "msg": [ { "messageId": "424", "date": "2026-05-15 09:04:59", "dari": "+628123456789", "isiPesan": "Hi" } ] } ``` #### WABA · Get Outbox **Description**: Get sent messages within a date range. Maximum 2 days back. **Endpoint**: `GET {WABA_BASEURL}/api/getoutbox/` **Parameters**: - `userkey` (Required): HTTP API Userkey - `passkey` (Required): HTTP API Key - `start_date` (Required): Start date — dd/mm/yyyy - `end_date` (Required): End date — dd/mm/yyyy **Example Payload (JSON)**: ```json { "userkey": "userkey", "passkey": "p455k3y", "start_date": "15/05/2026", "end_date": "15/05/2026" } ``` **Example Response**: ```json { "msg-count": 1, "msg": [ { "messageId": "424", "date": "2026-05-15 09:04:59", "noTujuan": "+628123456789", "isiPesan": "Hi", "msg-status": "DELIVERED" } ] } ``` #### WABA · Inbound Message Webhook **Description**: Zenziva will POST to your URL when a new WhatsApp message arrives. **Endpoint**: `POST https://your-app.example.com/webhook` **Parameters**: - `object`: Always "whatsapp_business_account" - `entry`: Array of message changes - `type`: Message type (text, image, etc) **Example Payload (JSON)**: ```json {} ``` **Example Response**: ```json { "object": "whatsapp_business_account", "entry": [ { "id": "WABA_ID", "changes": [...] } ] } ``` ## Complete Pricing Tables (excl. PPN 11%) ### SMS Masking Rates (per SMS, IDR) | Operator | 500K - < 2 Jt | 2 - < 5 Jt | 5 - < 10 Jt | 10 - < 25 Jt | 25 - < 50 Jt | 50 - < 100 Jt | | --- | --- | --- | --- | --- | --- | --- | | Telkomsel | 720 | 700 | 680 | 670 | 660 | 650 | | XL | 790 | 770 | 750 | 740 | 730 | 720 | | Indosat | 750 | 730 | 710 | 700 | 690 | 680 | | Tri | 750 | 730 | 710 | 700 | 690 | 680 | | Smartfren | 770 | 750 | 730 | 720 | 710 | 700 | ### Voice API Rates (per second, IDR) | Tier | Deposit Amount | Rate/sec | | --- | --- | --- | | 1 | 500K - < 2 Jt | 70 | | 2 | 2 - < 5 Jt | 60 | | 3 | 5 - < 10 Jt | 50 | | 4 | 10 - < 25 Jt | 40 | | 5 | 25 - < 50 Jt | 30 | | 6 | 50 - < 100 Jt | 20 | | 7 | ≥ 100 Jt | 15 | ### WhatsApp Business API (WABA) Rates (IDR) - **Utility**: 367 / message *Transaction notifications and updates to customers on purchase status, including post-purchase notifications and periodic invoices.* - **Authentication**: 367 / message *Authenticate users with one-time passwords (OTP), at any step of the login process (e.g. account verification, account recovery).* - **Marketing**: 597 / message *Promotions or offers, info updates, or invitations for customers to respond / take an action.* - **Service**: 367 / message *Customer-initiated chats. Free-form replies (not templates) sent within the 24-hour window are now billed per message at the Utility/Authentication rate.* > Service category: billed per message from 1 October 2026 (previously free within the 24-hour customer window), at the same rate as Utility and Authentication. Ref: https://developers.facebook.com/documentation/business-messaging/whatsapp/pricing/non-template-messages ## Strategic Solutions / Industry Playbooks ### Fintech & Digital Banking **Overview**: Low-latency OTP delivery and reliable transaction notifications for digital banks, e-wallets, and paylater services. **Hurdle**: Fintech needs 99.99% deliverability and sub-second latency, one delayed OTP means a failed transaction and a frustrated user. **Challenges**: - Q: How do you handle traffic spikes on payday or flash sales? A: Our SMS and WhatsApp routes are built for high throughput with redundant operator connections, so OTP delivery stays consistent even at peak. - Q: Is the API secure enough for financial data? A: Every request is authenticated and encrypted in transit (TLS), with restricted internal access, built to meet financial-grade standards. **Playbook / Workflows**: - **Layered OTP**: WhatsApp and SMS for the verification code, with Voice OTP as the fallback your system triggers from the delivery callback when the code goes unread. - **Real-time Transaction Alerts**: Send instant notifications for every top-up, transfer, and payment so users always know their balance is safe. - **Due-Date Reminders**: Friendly WhatsApp reminders before paylater or loan installments are due, cutting late payments without a debt-collector tone. - **Account Security Alerts**: Notify users instantly of new-device logins or password changes so they can act the moment something looks off. --- ### BPR, Cooperatives & Multifinance **Overview**: Send deposit alerts, loan disbursement notifications, and friendly installment reminders straight to your clients WhatsApp. **Hurdle**: Rural banks and cooperatives rely heavily on field collectors and manual calls. Automating reminders slashes NPLs and reduces operational overhead. **Challenges**: - Q: How do we make our institution look more professional? A: Using verified SMS Masking and WhatsApp Official accounts builds immediate trust compared to using personal numbers. - Q: Can this integrate with our local Core Banking System (CBS)? A: Yes, our REST API is straightforward and designed to plug straight into most standard Core Banking systems for instant trigger messages. **Playbook / Workflows**: - **Disbursement & Mutation Alerts**: Notify clients instantly when their loan is disbursed or when a deposit matures. - **Installment Reminders**: Send friendly reminders a few days before the installment is due to prevent late fees. - **OTP for Account Login**: Secure your mobile banking app with reliable SMS and WhatsApp OTP codes. - **Promo & Financial Literacy**: Broadcast new loan products or financial education materials to your client base. --- ### E-commerce & Retail **Overview**: Automate order confirmations, shipping updates, and promo broadcasts on WhatsApp, the channel your customers actually open. **Hurdle**: Indonesian shoppers buy through chat, COD, and flash sales, they need clear updates, not another email they will never open. **Challenges**: - Q: How do we cut down on "where is my order?" chats? A: Push order confirmations and tracking numbers straight to WhatsApp the moment the status changes, most questions answer themselves. - Q: Can we blast promos safely at scale? A: Our WABA platform handles large broadcasts within Meta’s official limits, far safer than blasting from a personal number that risks a ban. **Playbook / Workflows**: - **Order & Receipt Confirmation**: Send an instant order confirmation, then the tracking number (resi) the moment the package ships. - **Shipping Status Updates**: Keep buyers posted from "dikemas" to "diterima" so they stop chatting CS to ask. - **COD Confirmation**: Confirm COD orders before dispatch to weed out fake orders and slash return rates. - **Promo & Flash Sale Blast**: Announce flash sales and vouchers to opt-in customers with rich images and a direct "Beli Sekarang" button. - **Repeat-Order Voucher**: Win back past buyers with a personal voucher, far more effective than asking them to fill out a survey. --- ### Logistics & Supply Chain **Overview**: Coordinate couriers and recipients with low-latency messaging so fewer packages bounce back. **Hurdle**: Failed deliveries cost money, success hinges on the recipient being ready when the courier arrives. **Challenges**: - Q: How do we reduce failed deliveries? A: Send an automated "kurir OTW" message so the recipient is home and ready before the courier knocks. - Q: What if the recipient is not available? A: Enable 2-way WhatsApp so they can reschedule the delivery instantly, no failed trip, no repeat dispatch. **Playbook / Workflows**: - **Real-time Tracking Link**: Push a live tracking link to the recipient the moment the package leaves the warehouse. - **Courier On-the-Way Alert**: Notify the recipient when the courier is nearby so someone is there to receive it. - **Delivery & COD Verification**: Use secure codes to confirm the package reached the right hands and the COD cash was collected. - **2-way Reschedule**: Let recipients pick a new delivery slot via WhatsApp before a trip is wasted. --- ### Hospitality & Tourism **Overview**: Automate bookings, check-in, and concierge chat so guests get answers without queuing at the front desk. **Hurdle**: Guests expect instant info on their phone, and a smooth booking-to-checkout flow keeps them coming back. **Challenges**: - Q: Can guests make requests through WhatsApp? A: Yes, 2-way WhatsApp lets guests ask for towels, room service, or a late check-out without calling reception. - Q: How do we secure bookings before arrival? A: Send a booking confirmation with an e-voucher, then a friendly reminder to settle the deposit or balance. **Playbook / Workflows**: - **Booking Confirmation & E-Voucher**: Send an instant booking confirmation with the e-voucher and itinerary as soon as payment lands. - **Digital Check-in**: Send room numbers and Wi-Fi codes automatically via WhatsApp the moment the guest arrives. - **2-way Guest Service**: Handle room service, housekeeping, and tour requests over chat, no front-desk queue. - **Deposit & Balance Reminder**: Nudge guests to settle the deposit or remaining balance before arrival, friendly and on time. --- ### Real Estate & Property **Overview**: Respond to leads in seconds and keep buyers warm from first inquiry to handover. **Hurdle**: Property leads cool fast, speed of response is the single biggest factor in closing. **Challenges**: - Q: How do we respond to leads fast enough? A: Auto-send the brochure and floor plan the instant a lead fills the form, then follow up on WhatsApp. - Q: How do we manage site visits? A: Automated WhatsApp reminders 2 hours before the showing keep no-shows down. **Playbook / Workflows**: - **Instant Lead Response**: Auto-send the floor plan and brochure the moment a prospect submits an inquiry form. - **Site-Visit Reminders**: Remind prospects 2 hours before a unit viewing so the slot does not go to waste. - **Payment Notifications**: Friendly reminders for booking fees, KPR, and upcoming installment schedules. - **Construction Progress Updates**: Send photo updates of the unit in progress to keep inden buyers confident and engaged. --- ### Healthcare & Pharma **Overview**: Private appointment reminders and lab-result alerts that arrive on time, every time. **Hurdle**: Healthcare demands privacy and guaranteed delivery, a missed reminder means an empty slot and a patient who skips care. **Challenges**: - Q: Is patient data kept private? A: We follow strict protocols and never expose medical details in the message, sensitive results sit behind a secure link. - Q: How do we reduce no-shows? A: Automated reminders 24 hours and 1 hour before the appointment, with a tap-to-reschedule option. **Playbook / Workflows**: - **Appointment Reminders**: Send reminders 24h and 1h before the visit to keep no-shows down. - **Lab Result Alerts**: Send a secure link for patients to access their medical results privately. - **Prescription & Medication Reminders**: Remind patients when it is time to refill a prescription or take their medication. - **2-way Confirm & Reschedule**: Let patients confirm or move their appointment over WhatsApp, saving your front-desk hours. --- ### Education & EdTech **Overview**: Connect schools, students, and parents, from exam schedules to SPP reminders. **Hurdle**: Schools need to reach parents reliably, printed letters get lost in backpacks and emails go unread. **Challenges**: - Q: How do we reach parents instantly? A: Broadcast attendance alerts and announcements straight to WhatsApp, the app every parent already checks. - Q: Can the system handle PPDB season? A: Our API scales for admission season and handles high registration volumes without breaking a sweat. **Playbook / Workflows**: - **Schedule & Exam Alerts**: Send schedule and room details to students 24h before exams. - **Tuition (SPP) Reminders**: Automated reminders to parents keep SPP payment cycles on time, without awkward phone calls. - **Parent Announcement Broadcast**: Blast holidays, meetings, and emergency notices to every parent in one tap. - **Admission (PPDB) Updates**: Guide prospective students through registration and send status updates during admission season. --- ### SaaS & Tech **Overview**: One clean API for authentication, billing alerts, and platform events. **Hurdle**: Tech platforms need reliable webhooks and easy integration to keep uptime, and retention. **Challenges**: - Q: How reliable is delivery? A: 99.5% SLA with real-time delivery reporting per carrier. - Q: Can we integrate it with our existing stack? A: Yes. A small hook or webhook calls the Zenziva API whenever an event fires in your system. Every endpoint and code sample is in our API docs. **Playbook / Workflows**: - **2FA Auth Workflows**: A clean REST API for multi-factor authentication across SMS, WhatsApp, and Voice. - **Incident Alerts**: Automated SMS alerts to your engineering team the moment infrastructure events fire. - **Billing & Subscription Alerts**: Notify users of upcoming renewals and failed payments to keep involuntary churn low. - **Onboarding & Activation**: Nudge new users through setup with timely WhatsApp prompts that drive activation. --- ### HR & Recruitment **Overview**: Coordinate candidates and keep employees in the loop, on the channel they actually answer. **Hurdle**: Recruiters lose candidates when emails sit ignored for hours, and ghosting goes both ways. **Challenges**: - Q: How do we speed up candidate response? A: People reply to WhatsApp in minutes while emails sit for hours, move coordination to chat. - Q: Can we keep candidates warm through a long process? A: Send status updates at each stage so good candidates do not drift to a competitor. **Playbook / Workflows**: - **Interview Coordination**: Send interview links and location maps to candidates automatically. - **Application Status Updates**: Keep candidates posted at each stage so the best ones stay engaged. - **New-Hire Onboarding**: Drip-feed orientation info to new hires via WhatsApp through their first week. - **Internal Broadcast**: Announce payslip availability, holidays, and company news to all staff at once. --- ### Government Services **Overview**: Official notifications for public services, tax reminders, and emergency alerts. **Hurdle**: Public agencies must reach everyone, including citizens without smartphones. **Challenges**: - Q: How do we guarantee reach? A: SMS reaches virtually every active handset in Indonesia, including basic phones with no internet. - Q: How do we prevent impersonation and fraud? A: SMS Masking with the official agency name makes messages clearly authentic and hard to fake. **Playbook / Workflows**: - **Service Notifications**: Alert citizens when a document (KTP, SIM, permit) is ready or a deadline approaches. - **Emergency Broadcast**: Instant mass alerts for weather, health, or safety warnings. - **Tax & Levy Reminders**: Remind citizens before PBB or vehicle-tax (pajak kendaraan) deadlines to lift compliance. - **Queue & Schedule Info**: Send queue numbers and service schedules so citizens skip the long wait. --- ### NGOs & Foundations **Overview**: Build donor trust with transparent updates and coordinate volunteers at scale. **Hurdle**: Foundations keep donors giving by showing, transparently, where the money goes. **Challenges**: - Q: How do we keep donors engaged? A: Send personal WhatsApp photos and reports of the impact their donation created. - Q: How do we coordinate volunteers quickly? A: Broadcast logistics, meeting points, and schedules to the whole team in one message. **Playbook / Workflows**: - **Donation Receipt**: Send an instant thank-you and receipt after every donation. - **Volunteer Coordination**: Mass-coordinate event logistics and meeting points over WhatsApp. - **Impact Report Updates**: Share photos and progress so donors see exactly what their giving achieved. - **Recurring Donation Appeals**: Invite donors to give again or support a new appeal with a warm, personal broadcast. --- ### Automotive **Overview**: Service reminders, parts alerts, and tax renewals that keep customers coming back to your workshop. **Hurdle**: Dealerships lose recurring revenue when customers forget routine service, and forget where they bought. **Challenges**: - Q: How do we bring customers back for service? A: Automated reminders 6 months after the last service date, with a tap-to-book button. - Q: Can customers book a service slot easily? A: Yes, a direct "Booking Jadwal" button on WhatsApp lets them pick a slot in seconds. **Playbook / Workflows**: - **Routine Service Reminders**: Remind customers when their next periodic service is due. - **2-way Service Booking**: Send a WhatsApp with a direct "Booking Jadwal" button so customers reserve a slot instantly. - **Parts-Ready Alerts**: Notify customers the instant their ordered part arrives at the workshop. - **Tax & STNK Renewal Reminders**: Remind customers before their vehicle tax or STNK expires, a service they will thank you for. --- ### Travel & Airlines **Overview**: E-tickets, itineraries, and time-sensitive updates delivered straight to the traveler’s phone. **Hurdle**: Travelers need time-sensitive info on the device in their hand, not buried in an inbox. **Challenges**: - Q: How do we handle schedule changes and delays? A: Broadcast changes instantly to affected travelers to avoid crowding and confusion. - Q: Can we send tickets and itineraries through chat? A: Yes, send e-tickets, QR boarding passes, and full itineraries directly on WhatsApp. **Playbook / Workflows**: - **E-ticket / Digital Boarding Pass**: Send e-tickets and QR boarding passes straight to WhatsApp ahead of departure. - **Trip Status Updates**: Critical, real-time alerts for delays, gate changes, and rescheduling. - **Booking & Itinerary Confirmation**: Send the full itinerary the moment a booking is confirmed. - **Tour Payment Reminders**: Friendly reminders for tour deposits and final payments before departure. --- ### Insurance **Overview**: Policy renewals, premium reminders, and claim tracking that keep policyholders confident. **Hurdle**: Insurance runs on timely renewals and clear claim communication, silence breeds lapses and distrust. **Challenges**: - Q: How do we simplify the claims process? A: Let policyholders submit claim photos directly through WhatsApp chat, no app, no portal. - Q: How do we reduce policy lapses? A: Send premium and renewal reminders ahead of the due date so coverage never quietly expires. **Playbook / Workflows**: - **Policy Renewal Alerts**: Friendly reminders 30 days before a policy expires. - **Claim Tracker**: Automated step-by-step updates through the claim approval process. - **Premium Payment Reminders**: Remind policyholders before each premium is due to keep coverage active. - **Policy Confirmation & e-Policy**: Deliver the digital policy document instantly once payment clears. --- ### F&B & Restaurant **Overview**: Take reservations, confirm orders, and bring regulars back, all on WhatsApp, where your customers already are. **Hurdle**: Most cafes and restaurants run bookings and orders through a personal WhatsApp that one staffer juggles between serving tables, messages get missed and no-shows pile up. **Challenges**: - Q: How do we cut no-shows on reservations? A: Send an instant booking confirmation and an H-1 reminder with a one-tap confirm or reschedule, gentle nudges that keep tables from sitting empty. - Q: Can we promote a new menu without spamming? A: Broadcast a new menu or weekend promo only to customers who opted in, with a photo and a "Pesan Sekarang" button, far higher open rates than Instagram stories. **Playbook / Workflows**: - **Reservation Confirmation**: Confirm the table the moment a guest books, with date, time, and party size. - **H-1 Reminder**: Remind guests a day before so they show up, or free the table early if they cannot. - **Order & Pickup Updates**: Tell takeaway and delivery customers when the order is being cooked and when it is ready. - **Comeback Promo**: Win back quiet regulars with a personal voucher on their favorite menu. --- ### Beauty & Wellness **Overview**: Salons, spas, clinics, and studios run on appointments. Confirm them, remind them, and rebook them, automatically on WhatsApp. **Hurdle**: A single empty slot is lost revenue you never get back. Manual reminders are easy to forget, and clients quietly drift to the next place. **Challenges**: - Q: How do we stop last-minute cancellations? A: An H-1 reminder with confirm/reschedule buttons lets clients adjust early, so you can offer the slot to someone else instead of losing it. - Q: How do we bring clients back for the next treatment? A: Send a friendly rebook nudge timed to the treatment cycle (e.g. 4 weeks after a facial) with a booking link, repeat visits without chasing. **Playbook / Workflows**: - **Booking Confirmation**: Confirm the service, therapist, date, and time the moment a client books. - **Appointment Reminder**: Nudge the day before to cut no-shows and free up slots early. - **Rebook & Aftercare**: Send aftercare tips, then a rebook reminder timed to the treatment cycle. - **Member & Promo Broadcast**: Announce new services or member-only promos to opted-in clients. --- ### Laundry & Dry Cleaning **Overview**: Tell customers the moment their laundry is ready, take pickup bookings, and bring them back with a simple promo, all on WhatsApp. **Hurdle**: Laundry runs on "is it done yet?" chats and clothes left uncollected for days. A quick, automatic update fixes both, but typing it by hand never scales. **Challenges**: - Q: How do customers know their laundry is ready? A: Send an automatic "ready for pickup" message the moment an order is marked done, no more uncollected piles or repeated chats. - Q: Can customers book a pickup for dirty laundry? A: Yes, let them request a pickup over WhatsApp; you confirm the slot and send a reminder when the driver is on the way. **Playbook / Workflows**: - **Order Received**: Confirm the order with item count, service type, and estimated finish time. - **Ready for Pickup**: The key message: "cucian Anda sudah siap" the instant it is done. - **Pickup & Delivery Booking**: Take pickup requests and send a "driver OTW" reminder for the slot. - **Subscription & Promo**: Nudge monthly subscribers and broadcast a quiet-day discount to fill capacity. --- ### Photobox & Photobooth **Overview**: Photobooth events live on instant photo sharing. Send the photo or gallery link to each guest, book event slots, and follow up, on WhatsApp. **Hurdle**: Guests want their photos now, not an email later. Collecting numbers on a notepad and sending files by hand at a busy event simply does not work. **Challenges**: - Q: How do guests get their photos instantly? A: The moment a session ends, send the photo or a gallery link straight to the guest WhatsApp, instant delivery that doubles as social reach. - Q: How do we book and confirm event slots? A: Confirm the event date, package, and DP over WhatsApp, then send an H-1 setup reminder so nothing slips on the day. **Playbook / Workflows**: - **Instant Photo Delivery**: Send each guest their photo or gallery link the second the session ends. - **Event Booking & DP**: Confirm date, package, and down payment so the slot is truly locked. - **Setup Reminder**: Send an H-1 reminder with venue and time details to the client and crew. - **Post-Event Follow-up**: Share the full gallery and a referral or repeat-booking offer. --- ### Service & Repair **Overview**: Gadget, electronics, and AC repair shops keep customers updated from intake to pickup, quotes, approvals, and "ready" alerts on WhatsApp. **Hurdle**: Customers call again and again to ask if their device is fixed, while finished units sit uncollected. A simple status update would solve both, if anyone had time to type it. **Challenges**: - Q: How do customers know when the repair is done? A: Send a "unit selesai, siap diambil" message the moment it is fixed, fewer calls, faster pickups, free counter space. - Q: How do we get approval for extra costs? A: Send the diagnosis and a cost estimate with an approve/decline reply, work proceeds only once the customer says yes, no disputes later. **Playbook / Workflows**: - **Intake Confirmation**: Log the device with a ticket number and estimated check time. - **Quote & Approval**: Send the diagnosis and cost; proceed only on a one-tap approval. - **Ready for Pickup**: Alert the customer the second the unit is fixed, with the total due. - **Service Reminder**: Nudge for the next routine service (e.g. AC cleaning) months later. --- ### Pet Care & Vet **Overview**: Grooming salons and vet clinics book appointments, send vaccine reminders, and share "anabul siap dijemput" updates, with photos, on WhatsApp. **Hurdle**: Pet owners are anxious and attached; they want updates and reminders. Missed vaccine schedules and silent grooming sessions cost trust and repeat visits. **Challenges**: - Q: How do we keep owners calm during grooming or treatment? A: Send a quick photo update mid-session and a "siap dijemput" message when done, owners love it and come back for it. - Q: How do we keep vaccine and checkup schedules on track? A: Automated reminders tied to each pet record bring owners back on time for vaccines, deworming, and follow-ups. **Playbook / Workflows**: - **Appointment Booking**: Confirm grooming or consult slots with date, time, and pet name. - **Photo & "Ready" Update**: Share a mid-session photo and a pickup-ready message owners adore. - **Vaccine & Checkup Reminder**: Auto-remind for the next vaccine, deworming, or follow-up visit. - **Promo & Restock**: Tell opted-in owners about grooming packages or pet-food restock. --- ### Rental & Sewa **Overview**: Cars, cameras, gear, costumes, sound systems, manage availability, bookings, deposits, and return reminders over WhatsApp. **Hurdle**: Rental runs on availability questions, double-booking risks, and items that come back late. Tracking it across chats and notebooks invites costly mistakes. **Challenges**: - Q: How do we avoid double-bookings? A: Confirm each booking with dates and item over WhatsApp the moment it is locked, so both sides have a clear record. - Q: How do we get items back on time? A: Send a return reminder before the due time with the deposit and late-fee terms, fewer overdue items, fewer disputes. **Playbook / Workflows**: - **Availability & Booking**: Confirm the item, rental period, and price as soon as a customer books. - **Deposit & Pickup**: Send deposit details and a pickup reminder with terms attached. - **Return Reminder**: Nudge before the due time to avoid late returns and fee disputes. - **Repeat & Promo**: Offer loyal renters a discount on their next booking. --- ### Umroh & Hajj Travel **Overview**: Departure schedules, document checklists, payment installments, and group updates, keep every pilgrim informed on WhatsApp. **Hurdle**: Umroh and Hajj travel runs on countless WhatsApp groups, missed document deadlines, and anxious families. One missed update can mean a pilgrim left behind. **Challenges**: - Q: How do we collect documents on time? A: Send a clear checklist and timed reminders for passports, vaccines, and visas, far more reliable than a noisy group chat. - Q: How do we keep pilgrims updated during the trip? A: Broadcast departure times, gate changes, and itinerary updates to the whole group instantly, and to their families back home. **Playbook / Workflows**: - **Registration & Installments**: Confirm registration and send payment installment reminders. - **Document Checklist**: Remind pilgrims about passports, vaccines, and visa deadlines. - **Departure & Itinerary**: Broadcast manifest, schedules, and gate or hotel updates to the group. - **Family Updates**: Reassure families at home with safe-arrival and progress messages. --- ### Home Services **Overview**: Cleaning, AC service, massage, and handyman businesses confirm bookings, send "teknisi OTW", and schedule recurring visits, on WhatsApp. **Hurdle**: Customers wait at home not knowing if the technician will show. Vague arrival times and forgotten recurring visits cost trust and repeat business. **Challenges**: - Q: How do customers know the technician is coming? A: Send a booking confirmation and a "teknisi sedang OTW" message with an ETA, no more waiting around or missed appointments. - Q: How do we bring customers back for routine service? A: Schedule a reminder for the next cleaning or AC service so recurring revenue runs on autopilot. **Playbook / Workflows**: - **Booking Confirmation**: Confirm the service, address, date, and time slot. - **Technician On the Way**: Send a "teknisi OTW" alert with an ETA so the customer is ready. - **Job Done & Invoice**: Confirm completion with a summary and the amount due. - **Recurring Reminder**: Remind for the next scheduled visit to lock repeat business. --- ### Printing & Percetakan **Overview**: Digital printing and print-on-demand shops send design proofs for approval and "pesanan siap" alerts, over WhatsApp, with the file attached. **Hurdle**: A typo printed 500 times is a costly reprint. Proof approvals scattered across chat and email lead to mistakes, disputes, and reprints nobody wants to pay for. **Challenges**: - Q: How do we get a clear design approval? A: Send the proof file with an explicit "setuju untuk cetak" reply, printing proceeds only on a recorded yes, so reprint disputes vanish. - Q: How do customers know the order is ready? A: Send a "pesanan siap diambil" message the moment it is finished, with the total due. **Playbook / Workflows**: - **Order & Spec Confirmation**: Confirm material, size, quantity, and finishing before production. - **Proof Approval**: Send the design proof and proceed only on a recorded approval. - **Ready for Pickup**: Alert the customer when the job is done, with the amount due. - **Repeat & Promo**: Remind business clients of recurring print needs and seasonal promos. --- ### Distributor & Wholesale **Overview**: Wholesalers and reseller networks send daily price lists, restock alerts, and take orders, over WhatsApp, the way the market already runs. **Hurdle**: Prices shift often and catalogs run long, many variants, units, and shorthand codes. Resellers order from whoever sends the clearest, most up-to-date list first. **Challenges**: - Q: How do we send today's price list to every reseller? A: Broadcast the daily price list to your whole opted-in reseller base at once, everyone gets the same clear list before they order. - Q: How do we handle restock and stock-out alerts? A: Notify resellers the moment a hot item is back or running low, so they order in time and you move stock faster. **Playbook / Workflows**: - **Daily Price-List Broadcast**: Send today's prices by item and variant to all opted-in resellers. - **Restock & Stock-Out Alerts**: Tell resellers when items are back or running low. - **Order Confirmation**: Confirm the order recap and total before pickup or delivery. - **Payment & Receipt**: Send payment reminders and a receipt once settled. --- ### ISP & WiFi Networks **Overview**: Automate your billing reminders, outage alerts, and OTP logins. **Hurdle**: Collecting monthly internet bills manually from thousands of customers is exhausting, and keeping them calm during an unexpected outage requires instant, reliable communication. **Challenges**: - Q: Can we secure public WiFi logins with OTP? A: Yes. Add OTP verification to your MikroTik or Cyberoam captive portal, the guest enters their phone number and the router calls the Zenziva API to send the code via SMS or WhatsApp. You build a real customer database in the process. - Q: How do we automate billing reminders, and does it work with our billing app (Mikhmon, MixRadius)? A: It works as long as your billing app can fire an HTTP request (custom gateway/webhook), or via a MikroTik scheduler. Trigger a reminder 3 days before due, an isolation warning the day before, and an e-receipt on payment, over WhatsApp, SMS, or Voice from one account. **Playbook / Workflows**: - **Automated Monthly Billing**: Trigger automatic WhatsApp reminders 3 days before the bill is due directly from your billing system. - **Outage Fallback (SMS)**: When the internet goes down, WhatsApp messages won't deliver. Use SMS Masking to broadcast outage explanations instantly to cellular networks. - **Hotspot OTP Logins**: Secure your public WiFi with OTP verification sent via WhatsApp or SMS, generating qualified leads for your agency or business. - **Isolation Warnings**: Send a final polite reminder automatically 24 hours before the connection is suspended for non-payment. ## Knowledge Base / Technical Articles ## Article: Building an Intelligent WhatsApp AI Chatbot *Learn how to connect Large Language Models (like ChatGPT) to WhatsApp Business API to create an intelligent 24/7 customer service bot.* Traditional rule-based chatbots frustrate customers. Today, businesses are connecting AI to their WhatsApp Business API to create intelligent assistants that understand natural language and resolve issues instantly. ### The Evolution of Chatbots: Level 1 to Level 3 Understanding where your business stands on the chatbot maturity curve is crucial: - Level 1 (Rule-based): Traditional bots with rigid menus and predefined keyword triggers. Often frustrates users when they ask off-script questions. - Level 2 (LLM): Conversational bots powered by AI engines (like OpenAI, Claude, or Gemini). They understand natural language, intent, and can converse dynamically. - Level 3 (Agentic): Autonomous AI agents that don't just talk, but take action (e.g., checking inventory, processing refunds, or updating databases) using tools and APIs. ### The Anatomy of an Intelligent WhatsApp Chatbot To build a truly intelligent chatbot (Level 2 or 3), you need three fundamental layers: - 1. Context (RAG & Memory): An AI without context will hallucinate. By connecting a Knowledge Base using RAG, your bot can instantly retrieve proprietary company data before answering. - 2. Tools (The Hands): Executable functions (API calls, DB queries) that allow the AI to interact with the outside world, such as checking a receipt number or booking a calendar slot. - 3. Skills (The Brain): In modern frameworks like Mastra, a 'Skill' combines Tools with specific Context and instructions. It tells the agent exactly *when* and *how* to use the Tools without overloading the main prompt. - 4. The Delivery Pipeline (WhatsApp API): Regardless of how smart your AI is, a reliable WhatsApp API provider securely delivers the customer's text to your AI, and returns the response back to WhatsApp. ### Why API Reliability Matters for AI AI models generate responses in seconds. If your WhatsApp API connection is slow or drops webhooks, the customer will experience delays or miss messages entirely. High-performance AI requires a high-performance API. --- ## Article: How to Create Your Meta Business Portfolio the Right Way *Your Meta Business Portfolio is the foundation for WABA, ads, and the blue tick. Follow the right setup steps, plus tips to avoid account limits from day one.* Before you can run WhatsApp Business API (WABA), Meta ads, or apply for the blue tick, you need one thing: a Meta Business Portfolio, the tool Meta used to call Facebook Business Manager (FBM) and renamed in 2024. It's the free control center that holds your business assets and identity in one place, and you create it directly inside Meta Business Suite, no Facebook Page required first. Quick naming note: Meta Business Suite is the dashboard you log into daily, inbox, posts, insights, while the portfolio sits underneath it, holding ownership, access, and assets. You create the portfolio once and live in the Suite every day. ### What you need first - A personal Facebook account (used only to verify your identity at login). - A business email address, ideally one on your own domain, like you@yourbrand.com. - Basic business details: legal name, address, phone, and website. ### Step 1: Create your business portfolio in Meta Business Suite Head to business.facebook.com and log in with your personal Facebook account. There's no hidden button to hunt for, the option lives right in the account switcher at the top left. 1. Click the account dropdown at the top left, just below Home. 2. Choose "Create a business portfolio" (Buat portofolio bisnis). 3. Enter your business portfolio name, match your public brand name, and skip special characters. 4. Add your first name, last name, and a business email, Meta sends a confirmation link there. 5. Click Create. Your portfolio is live straight away. ### Step 2: Link your business assets With the portfolio created, link the assets you'll manage. A Facebook Page is optional, add it only if you need a public identity or plan to run ads. 1. Add a Page: Settings › Accounts › Pages › Add (optional). 2. Connect Instagram: Settings › Accounts › Instagram accounts. 3. Add your team: Settings › Users › People, invite staff and set their permissions. ### Step 3: Configure Business Settings and lock it down Open Settings and complete your company info: your business registration number, that's your NIB, NPWP, or TIN, plus website, phone, and time zone. This is also where you manage who gets in. Meta splits access into three types, so give each person only what they need: - People, your own staff and freelancers, added by email. - Partners, an agency or external business that manages assets on your behalf. - System users, non-human accounts your apps and APIs use (this is what WABA connects through). ### Common mistakes to avoid - Creating the portfolio on a coworker's personal profile who might leave, always keep two admins. - Using a business name that doesn't match your documents, it stalls verification later. - Skipping two-factor authentication, then getting stuck before verification. - Using a free email (Gmail, Yahoo) when you have a domain, a domain email makes verification smoother. Key Takeaways: - Business Manager and "Meta Business Portfolio" are the same thing, Meta renamed it in 2024. - Create the portfolio straight from the account dropdown in Meta Business Suite, no Page needed first; link it later. - Add two admins and turn on 2FA before anything else, it protects you and is required before business verification. ### Next step: verify your business, then connect WhatsApp Your portfolio is the foundation, not the finish line. To go live on WhatsApp Business API through Zenziva, your business has to be verified by Meta first, and the documents you'll need depend on your business type. We walk through the whole verification flow, screen by screen, in the next guide. --- ## Article: How to Verify Your Meta Business Portfolio for WABA *A complete guide to Meta business verification: the documents you need, the steps, how long it takes, and what to do if you're rejected. Required before your WABA number can send.* Before your WhatsApp number can send on WABA, two things have to be done: connecting it to Zenziva, and getting your business verified by Meta. Verification is the gate: until it clears, you can't submit templates or send a single message, and your limits stay frozen. The two can happen in either order. ### Verify your business with Meta Verification runs at your Business Portfolio level, and Meta handles the whole review. You need full control of that portfolio, Meta's highest permission level, to start; without it, the Security Center option won't even appear. The documents Meta asks for depend on the business type you choose, here's the flow, screen by screen. Open Settings › Business info. If you see "Business verification status: Not verified," click View details to begin. This opens the Security Center (Pusat Keamanan). Under Business verification, click Start verification. (If you see "Ineligible for verification", you don't need to complete it in Security Center, you may be notified to complete it from another platform like WhatsApp Manager). Meta previews what's ahead: verify your business details, confirm your relationship to the business, and upload a document if asked. Click Start. Pick the country where your organization is based, then continue. Choose your business type, Corporation, Sole proprietorship, Partnership, Privately held company (PT), or Institution. This choice decides which documents Meta needs. Tell Meta whether your business is officially registered. "Registered" means you hold government registration documents; "Not registered" is for individuals or businesses without them, Meta then asks for lighter proof. From here you fill in your business details, legal name, address, business phone, website, and your registration number (NIB, NPWP, or TIN). Every detail has to match your official records exactly, and your website must load over HTTPS. If Meta can't match you automatically, it asks you to upload a document that shows your legal business name alongside your official address or phone number, current, and issued by the relevant authority. What's accepted: - Business registration or licence document (NIB / izin usaha). - Government-issued business tax document (NPWP / official tax notice), self-filed tax documents aren't accepted. - Certificate or deed of establishment (Akta Pendirian). - Business bank statement (Laporan Bank Bisnis). - Utility bill (electricity, water, internet), accepted only to confirm your address or phone, not your legal business name, and your business name must still appear on it. If you chose "Not registered" or a sole proprietorship, Meta verifies you as an individual instead: upload a government ID (KTP, SIM, or passport) and, if prompted, a short selfie video. It's used only to confirm your identity and is deleted within about 30 days. Last, pick how you want to confirm your connection, email, SMS, WhatsApp, a phone call, or domain verification (adding a meta tag or DNS record to your site). Enter the code to submit. If you choose email, Meta may also ask you to prove you own your website's domain. One thing to remember: if you edit any business detail after submitting, Meta makes you run verification again, so get the details right the first time. ### Track the status After you submit, the status switches to "Under review" (Sedang ditinjau). The review runs on Meta's side, automated and manual checks combined, and the result also arrives by email. Your status settles on one of four outcomes: Timing varies. Many applications clear in about two business days; restricted or complex ones can take up to two weeks. If it stalls longer than that, the cause is usually a "need more information" request sitting unread in your Support Inbox, not a quiet rejection. ### If your verification gets rejected A rejection is almost always a mismatch, not a sign your business isn't legitimate. Run through this checklist before you resubmit: - The name or address on the document doesn't match what you typed, even punctuation matters. - The document or ID is blurry, cropped, expired, or in an unaccepted format. - You used a free-domain email instead of your business domain for the code. - The phone number on the form doesn't appear on any supporting document. - Your website fails to load, is not HTTPS-compliant, or contains broken links (error messages). - Meta suspects false or misleading information, or an attempt to claim a business you don't own (this can result in permanent blocks). If your verification application is rejected, you may be eligible to appeal. Check the Security Center or the platform where you began the process to learn more about your status. ### The other step: connect your number to Zenziva Verification handles the Meta side. Separately, your number has to be connected to Zenziva through Embedded Signup, once it is, your WhatsApp Account shows up inside Meta Business Suite, and it's worth confirming it sits under the right business portfolio. You can do this before or after verification; both just need to be done before you go live. 1. Open Meta Business Suite → Settings › Accounts › WhatsApp Accounts. 2. Find the number Zenziva just connected in the list. 3. Confirm it's owned by your business portfolio and that Zenziva appears as the connected partner. If the number isn't there, the connection didn't finish, reconnect from your Zenziva dashboard before moving on. Key Takeaways: - Going live needs both: connect your WhatsApp Account to Zenziva and complete Meta business verification. The order is flexible, but you can't send messages or submit templates until verification clears. - Business verification now lives in the Security Center, pick your business type, and the required documents follow from it. - The blue tick is a separate, optional step that comes later, verification alone doesn't grant it. ### After verification: scale up, then consider the blue tick Verified and connected, your number can start sending and climb the messaging tiers as long as your quality holds up. When your brand is well-known enough, the blue tick (Official Business Account) becomes a possibility, we cover exactly how that works, and what notability really means, in our full blue-tick guide. --- ## Article: WhatsApp Template Categories Explained: Marketing, Utility, Authentication & Service *Every WhatsApp template gets a category that sets the price and the rules. Here's what each one means, with examples, and the mistake that gets them rejected.* Before WhatsApp lets you send a templated message, you have to tag it with a category. Pick the wrong one and Meta auto-rejects the template before a human even looks at it, or worse, flags your account later. Most confusion in Indonesia comes from not knowing what each category actually means, so let's make it clear. ### Why the category matters A template's category does three things at once: it sets the price you pay per message, it decides the rules your content must follow, and it determines how fast Meta approves it. Marketing is the most expensive; Authentication is usually the cheapest; Utility sits in between. From 1 October 2026, Service messages are billed too, at the same rate as Utility and Authentication. ### Marketing Anything that promotes, sells, or re-engages. If the goal is commercial, it's Marketing, even a friendly "we miss you" nudge. It needs clear opt-in and carries the highest per-message rate. - Promos and discount campaigns - New product or feature launches - Abandoned-cart reminders - Newsletters and seasonal offers ### Utility Updates the customer expects because they just did something, bought, booked, or changed an account setting. Utility messages must tie back to a specific transaction or interaction; they can't sneak in a promo. - Order confirmations - Shipping and tracking updates - Payment receipts - Appointment and schedule reminders - Account change notifications ### Authentication One-time passcodes and verification, nothing else. These templates follow a fixed format, the code, an optional security note, an expiry, and a one-tap autofill button. Keep them clean: no marketing, no extra links. - Login OTP - Phone-number verification - Password reset codes - Two-factor transaction confirmation ### Service, not actually a template Here's the part people miss: Service isn't a template you submit. It's any free-form reply you send within 24 hours after a customer messages you first. No category approval, no template, but from 1 October 2026 it's billed per message, at the same rate as Utility and Authentication. The moment that 24-hour window closes, you're back to sending an approved template. ### Pre-Flight Template Checklist To prevent operational bottlenecks from rejected templates, train your team to run this checklist before every submission to Meta: 1. Verify Intent: Is there any promotional wording? If yes, it must be Marketing. Do not try to sneak it into Utility. 2. Check the Code: Is it purely an OTP or verification code? Use the fixed Authentication format. 3. Confirm the Trigger: Did a user action (like a purchase) trigger this? If so, tag as Utility. 4. Review the Window: Are you just replying to a customer query within 24 hours? Stop. You don't need a template, use a free-form Service reply (billed at the Utility/Authentication rate since 1 Oct 2026, and no approval needed). A strict operational process for tagging categories ensures fast approvals, predictable costs, and zero risk of temporary bans from Meta. --- ## Article: WhatsApp for Online Shops & Social Commerce *Winning the sale on Instagram and TikTok takes work. Keeping it, confirming orders, stopping fake COD, bringing buyers back, is where WhatsApp earns its keep.* Closing a sale in the DMs is its own win, but the real grind starts right after: a flood of order confirmations, COD verifications, and follow-ups, all from one phone that's also running your CS, your packing, and your life. Moving that flow onto the WhatsApp Business API fixes two things at once: buyers trust an official, verified number, and you stop risking a ban from blasting confirmations off a personal account. ### Stop fake COD orders before they ship Fake and impulse COD orders eat your shipping budget and your patience. Send a confirmation with a one-tap "Ya, pesan" before dispatch, anything left unconfirmed gets held, and your return rate drops fast. ### Turn one-time buyers into regulars Your opted-in buyers are your warmest audience, reach them directly. Broadcast a restock alert or a personal repeat-order voucher, and tag people by what they bought so every blast actually matches their interest. ### The flow from checkout to repeat order 1. Order confirmation, confirm the item, total, and address right after checkout. 2. COD verification, ask for a one-tap confirm before dispatch to weed out fake orders. 3. Shipping & resi updates, send the tracking number and status so nobody asks "sudah dikirim?". 4. Restock & repeat order, alert opted-in buyers when a sold-out item is back, with a quick reorder link. Key Takeaways: - Move order confirmations to an official number, buyers trust it, and bulk chats stop getting your personal account banned. - A one-tap COD confirmation before dispatch is the single fastest way to cut returns and wasted shipping. - Tag buyers by purchase so restock and promo broadcasts land on the right people. --- ## Article: WhatsApp Notification API: Send Automated Customer Notifications *Order updates, reminders, and alerts customers actually read, sent automatically via the WhatsApp Notification API. Here's how it works and what you can send.* Email gets ignored and SMS is plain. WhatsApp notifications land where your customers already are, with a 90%+ open rate, which is why order updates, reminders, and alerts increasingly run on the WhatsApp Notification API. ### What is the WhatsApp Notification API? It's the official WhatsApp Business API used to send automated, system-triggered messages, an order ships, a payment clears, an appointment is tomorrow. Your app calls the API (or Zenziva's dashboard does it for you) and the customer gets a notification on WhatsApp. ### What you can send - Order confirmations and shipping/tracking updates. - Payment receipts and bill reminders. - Appointment and schedule reminders. - Account alerts and security notifications. - Promotions and re-engagement, to opted-in customers. ### Notifications need an approved template Business-initiated notifications use pre-approved message templates, categorized as Marketing, Utility, or Authentication. Utility (transaction updates) and Authentication (OTP) are the backbone of notifications; the category sets both the rules and the price. ### Getting started with Zenziva Start small: pick one high-value notification, an order confirmation or an OTP, get that template approved, and wire it to fire from your system. Once one flow runs clean, the rest follow the same pattern. --- ## Article: Integrating MikroTik & Cyberoam Hotspots via SMS and WhatsApp *A technical guide for Network Engineers to send Hotspot OTPs via SMS and WhatsApp Business API using POST /tool fetch scripts in MikroTik and Cyberoam.* A hotspot guest types their phone number into the captive portal, then waits for a code that never shows up, and the culprit is almost always one mis-written line of script calling the API. OTP vouchers look simple, but the technical details decide whether it works or stalls. Here we'll wire MikroTik and Cyberoam (Sophos) to Zenziva over HTTP POST, via SMS, Voice, or WhatsApp, and compatible with both Zenziva platforms: Console and the WABA Platform. ### OTP-Based Hotspot Authentication Architecture Before touching scripts, understand the flow. When a visitor connects to the AP, they are redirected to a Captive Portal. Upon entering their phone number, the router generates a local password and asynchronously calls the Zenziva API to deliver it. 1. Visitor connects to the AP and is redirected to the Captive Portal. 2. Visitor inputs their phone number. 3. Router generates a password locally. 4. Router calls Zenziva API using HTTP POST. 5. Visitor receives SMS/WhatsApp with the OTP code, then logs in. ### Platform Compatibility with the Zenziva API It comes down to two different requirements. The Console API (SMS & Voice) only needs a plain HTTP POST with form parameters (userkey, passkey, to, message), almost any device can do this. The WABA Platform needs a custom X-API-Key header plus a JSON body, so only devices that can send custom headers support it. ### 1. MikroTik Hotspot Integration via /tool fetch (POST) In MikroTik, we utilize the Event Scheduler within the User Profile. Open WinBox, navigate to IP > Hotspot > User Profiles, and edit the profile in use. In the 'Scripts' tab, under 'On Login', you can call the Zenziva API. #### Script A: Sending Masking SMS Use HTTP Form-Data protocol (http-data). The $user variable automatically populates with the visitor's username (phone number). #### Script B: Sending via WhatsApp Business API (WABA v1) If you're on Zenziva's WABA Platform (the newer accounts), delivery uses a JSON payload with authentication in the HTTP header (X-API-Key), not the userkey/passkey pair used by the Console. In MikroTik, this needs escape syntax (\") inside the string. The keep-result=no parameter is crucial so your MikroTik storage doesn't fill up with HTTP response files. ### 2. Cyberoam / Sophos Integration (Custom HTTP Gateway) For Cyberoam or Sophos XG Firewall, navigate to Identity > Guest Users > SMS Gateway. Since the Cyberoam UI is designed for simple webhook integrations, we map the parameters explicitly. - Gateway Name: Zenziva API - URL: {CONSOLE_BASEURL}/masking/api/sendsms/ - HTTP Method: POST Under Request Parameters, input: ### 3. A Workaround: Bridging WABA on Limited Devices Cyberoam, Sophos, and some older billing apps can't send a custom header (X-API-Key) or a JSON body, so they can't call the WABA Platform directly. The trick: run a tiny relay, and it can be serverless, with no server to manage at all. The device just calls a plain URL (query params), and the relay builds the header and JSON for Zenziva. You can host the relay anywhere. From easiest to most hands-on: - No-code: use Pipedream, Make, or n8n, build a 'Webhook in → HTTP request out' workflow with the X-API-Key header and JSON body. Best if you'd rather not touch code. - Cloudflare Workers (recommended): free up to 100,000 requests/day, gives an instant HTTPS URL, and needs no server at all. Deploy by pasting the code into the dashboard and clicking Deploy. - Google Apps Script: free and just uses your Google account, write the script, Deploy > New deployment > Web app, and you get an endpoint URL. Handy if you're more at home in Google's ecosystem. - PHP/Node on your own server: if you already run a web host, the same logic just goes there. An example Cloudflare Worker. Store TOKEN, API_KEY, WABA_URL, TEMPLATE, and LANG as Environment Variables (Settings > Variables), don't hardcode them: Or a Google Apps Script version. Store TOKEN, API_KEY, WABA_URL, TEMPLATE, and LANG in Project Settings > Script Properties, then Deploy as a Web app (Execute as: Me, Who has access: Anyone): On the device side, point the SMS/OTP gateway at that relay with a plain URL, this part is supported by Cyberoam, Sophos, and billing apps alike: ### Field Tips & Troubleshooting Most integrations fail not because of the API, but because of small details on the device side. These are the ones that most often stop the OTP from arriving: - SSL certificate errors on older MikroTik: import the right root CA into /certificate. The Console endpoint uses GlobalSign Root CA - R6; the WABA Platform uses Google Trust Services LLC. If you go through a relay, Cloudflare Workers (workers.dev) and Google Apps Script (script.google.com) currently use Google Trust Services LLC too, so that one root covers both. For testing you can use check-certificate=no, but for production importing the CA is far safer. - Spaces in the message: in http-data, replace every space with + (as shown) or %20. Otherwise the message can get cut off at the first space. - Number format: $user is the hotspot username (the phone number). Console SMS accepts 08xxxxxxxxxx, while the WABA Platform uses E.164 (+628xxxxxxxxxx). Normalize it first if your portal stores it differently. - WABA needs an approved template: the template name (otp_hotspot) must be approved by Meta first, and the bodyVariables order follows the {{1}}, {{2}} placeholders in your template. Key Takeaways: - Console (SMS & Voice) only needs a form HTTP POST (userkey/passkey), it runs on almost any device, including Cyberoam. - The WABA Platform needs an X-API-Key header + JSON body, supported by MikroTik, but not by the built-in Cyberoam/Sophos SMS gateway. - Use keep-result=no in MikroTik so the router's storage doesn't fill up with HTTP response files. - Test the script manually in the Terminal before wiring it into On-Login. Ready to try it? Check the per-message cost on the pricing page, then sign up and grab your userkey/passkey (Console) or API Key (WABA Platform) to start sending hotspot OTPs today. --- ## Article: Send Automatic Internet Billing Notifications from Billing Apps (Mikhmon, MixRadius) *Stop chasing internet customers one by one. Here's how to wire your billing app (Mikhmon, MixRadius) or MikroTik to Zenziva for auto reminders on WhatsApp.* Every start of the month, same story: hundreds of customers to chase one by one, some forget, some default, and you become the 'collector' glued to WhatsApp all day. Yet your billing app already knows exactly who's due, it just needs to message them itself. Here we wire your billing app (or MikroTik) to Zenziva so reminders, isolation alerts, and e-receipts run automatically. ### Three moments worth automating Billing isn't about sending as many messages as possible, it's about sending at the right time. These three moments move your cashflow the most: ### Two ways to connect to Zenziva Pick based on what your billing app can do. Both end up at the same API endpoint. #### Option 1: A billing app with a custom gateway / webhook Modern billing apps usually have a 'WhatsApp/SMS Gateway' or 'Webhook' menu. Just point it at the Zenziva endpoint and fill in the parameters. For SMS/Voice (Console), use a form HTTP POST with userkey/passkey. For WhatsApp (WABA Platform), use the X-API-Key header and a JSON body, as long as the app allows custom headers. #### Option 2: Trigger from MikroTik (no extra app) If billing is still manual or you run Mikhmon on top of MikroTik, use System > Scheduler to fire /tool fetch to Zenziva on a given date. The full scripts (form data for SMS, and JSON + X-API-Key for WABA) are covered in the hotspot integration guide, the pattern is identical, only the trigger changes. ### Notes for Mikhmon & MixRadius - Mikhmon: has a notification feature you can point at an HTTP gateway. For SMS/Voice Console it's enough. For WABA, make sure your version can send a custom X-API-Key header and JSON body, if not, relay it through a bridge or use the MikroTik Scheduler. - MixRadius: RADIUS-based billing with webhooks/API. As long as it can fire an HTTP request to a custom URL, Console integration works; for WABA the same custom-header requirement applies, and if it isn't met, route it through a bridge first. - Not sure your app supports custom headers? Start with the Console SMS path, it's the most compatible. To still send WABA from a limited app, use the serverless bridge/relay trick (Cloudflare Workers or Google Apps Script) covered in the hotspot guide. ### No billing app? Broadcast from the dashboard Not everyone has a billing app they can tinker with, and not everyone wants to touch an API. Good news: the integration is optional. As long as you have a customer list and due dates, you can send the same reminders straight from the Zenziva dashboard. This is the path admin teams without a technical background actually use. It's three steps, and each month you just repeat it in minutes. 1. In SMS Masking, open Send SMS → From Excel and download the sample file. Fill the NAMA, NOMOR HP, and ISI PESAN columns, type the amount and date right into each row. 2. Want a uniform but still personal message? Use the [nama] and [alamat] tokens in the ISI PESAN column; both auto-fill per row, and 'alamat' can be repurposed for the amount or the due date. 3. Send now, to a Group or All Contacts from the Phonebook, or schedule it via SMS Scheduled to go out automatically on a specific date (a one-time send, not recurring). For WhatsApp, the path is the WABA platform: open Broadcast Campaign, pick a Meta-approved template, then upload your recipient list. The message follows the template (not free text like SMS), but each recipient can still carry their own details, their name, the amount, or the due date. Once your volume grows and you want it fully automated, just graduate to the API path above. The dashboard and the API share the same account, so there's nothing to start over. Key Takeaways: - Automate three moments: a 3-day reminder, a 1-day isolation warning, and an e-receipt on payment. - A billing app with a custom gateway/webhook points straight at the Zenziva API; if not, use the MikroTik Scheduler. - Console SMS (userkey/passkey) is the most compatible; the WABA Platform (X-API-Key + JSON) needs an app that can send custom headers. - No billing app or don't want to touch the API? Send the same reminders from the dashboard, SMS via From Excel, WhatsApp via an approved template. No code. - Keep transactional messages separate from promo to protect your WABA quality rating. Ready to stop chasing payments by hand? Check the per-message cost on the pricing page, then sign up and start this month, broadcast straight from the dashboard to get going fast, or grab your userkey/passkey (Console) and API Key (WABA Platform) for full automation. --- ## Article: SMS Notifications & Alerts: Messages That Always Arrive *When a message absolutely must be delivered, OTP, security alerts, critical reminders, SMS reaches any phone, no internet needed. Here's when to use it.* WhatsApp is great until the customer has no data or doesn't use the app. For notifications that simply cannot fail, OTP, fraud alerts, payment-due warnings, SMS still wins because it reaches every phone, instantly, without internet. ### When SMS is the right channel - OTP and verification codes that must arrive in seconds. - Security and fraud alerts where every second counts. - Payment-due and overdue reminders. - Critical notices to customers who are offline or non-smartphone. ### Make it trusted with Sender ID Masking A notification from a random number looks like spam. SMS Masking shows your brand name as the sender, so alerts and OTPs are instantly recognized and acted on, not ignored. ### SMS and WhatsApp work better together The smart pattern: send rich notifications on WhatsApp, then have your own system send an SMS next when the WhatsApp delivery callback shows it didn't land. The fallback is your app's decision based on that callback, not an automatic switch on our side. Either way, your customer gets the message on whichever channel reaches them. ### Send SMS notifications with Zenziva Zenziva delivers branded SMS notifications across Telkomsel, Indosat, XL, Axis, Tri, and Smartfren through premium routes, with the same dashboard and API as WhatsApp and Voice. --- ## Article: Automatic WHMCS Notifications: Domain Reminders via SMS & WhatsApp *WHMCS already sends email reminders, but emails often go unread. Here's how to add reminders over SMS and WhatsApp, with one small hook file in your WHMCS.* WHMCS reliably sends those due-date reminder emails, trouble is, emails are easy to miss. SMS and WhatsApp almost always get read. Adding them isn't a hassle either: one small hook file that calls our API the moment a domain nears its due date, and your WHMCS starts sending reminders over SMS or WhatsApp. ### What you'll need - Access to your WHMCS install, specifically the /includes/hooks/ folder. - For SMS: a userkey & passkey from the Console. For WhatsApp: an API Key from the WABA Platform plus one Meta-approved template. - Not comfortable touching files? It's a one-time, ~5-minute setup, just hand this file to your hosting admin or developer. ### The hook: a domain due-date reminder (example: 3 days before) Create a file zenziva_notify.php in /includes/hooks/ and paste the code below. This hook runs automatically on the WHMCS daily cron, finds domains expiring in 3 days, and sends an SMS to each owner: That's it. Swap API_USERKEY and API_PASSKEY for your Console credentials, upload, and reminders start on the next cron. The H-3 timing here is just an example, you control it via strtotime('+3 days'): use '+1 day' for H-1, 'today' for the due day, or '-1 day' to nudge accounts a day overdue. Want several nudges? Add more than one trigger. ### The WhatsApp version (WABA Platform) Want to send over WhatsApp? Replace the Console curl block above with this one. The difference: it authenticates with an X-API-Key header and sends a JSON body using a template name Meta has approved on the WABA Platform. Key Takeaways: - One hook file in /includes/hooks/ is all it takes to start sending SMS & WhatsApp reminders. - Console SMS uses userkey/passkey; WhatsApp (WABA Platform) uses an X-API-Key header + JSON body. - The hook runs on the WHMCS daily cron and is compatible with old and new versions. - Start with SMS, then move up to WhatsApp once Meta has approved your template. Need the full API parameters or other integration examples? See our API integration guide. Ready to try it? Check the per-message cost on the pricing page, then sign up and grab your userkey/passkey (Console) or API Key (WABA Platform) to start sending WHMCS reminders today. --- ## Article: Polite Payment Reminders: SMS & WhatsApp (+ Templates) *Chasing payments by SMS or WhatsApp can stay polite and still work. Here are the principles plus ready-to-use templates for bills, installments, and due dates.* Chasing payments is honestly an art. The wrong tone can leave a customer hurt and distant; the right one keeps the relationship warm and gets you paid faster. The two channels you'll lean on are SMS and WhatsApp, and both get read within minutes almost every time. ### SMS or WhatsApp for collections? The answer is usually: both. SMS reaches any phone instantly, no internet needed, so it's your go-to for short reminders and customers who are offline. WhatsApp is richer: a "Pay Now" button, links, even two-way replies when a customer wants to talk through installments. A play that works well: send the first reminder on WhatsApp (richer and friendlier), then keep SMS as a safety net if WhatsApp doesn't go through. The principles and templates below fit both. ### Principles of a polite payment reminder - Greet by name. A personal message feels like a reminder, not a threat. - State clear numbers and dates, the amount and the due date. - Give one easy next step: a payment link or a number to reach. - Use a helpful tone, not pressure. Offer a solution, don't judge. - Close with a thank-you. Politeness is cheap, but it pays off. ### 8 ready-to-use payment reminder templates Just swap the parts in curly braces for your own details. Use a brand-name Sender ID so the message is trusted right away (more on that below). ### Make collections trusted: Sender ID & a verified account Picture it: a bill from a random number looks like a scam, and more and more people just ignore those. The fix differs by channel: on SMS, SMS Masking shows your brand name as the sender (e.g. "INDIHOME") instead of a string of unfamiliar digits; on WhatsApp, a verified business account shows your name and the official blue tick. Either way, customers trust the message right away, so the bill actually gets read and paid. ### What to avoid - Threats or shaming. Beyond being rude, this can break debt-collection rules. - ALL CAPS, it reads like shouting. - Sending too often. Spam makes even important messages get ignored. - Sketchy links. Use your official domain so it isn't mistaken for phishing. Key Takeaways: - Polite + clear + one easy step = faster payment. - SMS is reliable without internet; WhatsApp is richer with pay buttons and two-way chat. - A Sender ID (SMS) and a verified business account (WhatsApp) make bills trusted. - Mind the timing and frequency, don't bombard customers. - Send in bulk from the dashboard: SMS via From Excel (a message per row, [nama]/[alamat] tokens); WhatsApp via an approved template. ### Send to many at once: Broadcast & Blast Got hundreds of customers due on the same date? You don't have to type each message by hand. From the Zenziva dashboard, the same message goes out to hundreds of numbers at once. The how differs a little between SMS and WhatsApp. #### Over SMS Masking Open Send SMS → From Excel, then upload an Excel file with NAMA, NOMOR HP, and ISI PESAN columns. Each row carries its own message, so you can type the amount and date right in. Want it faster? Use the [nama] and [alamat] tokens in the ISI PESAN column, both auto-fill from their columns, and you can repurpose 'alamat' to hold the amount or the due date. Already have saved contacts? Send straight to a Group or All Contacts from the Phonebook. Want to send later? Schedule it via SMS Scheduled for a specific date, a one-time send, not recurring. #### Over WhatsApp (WABA) On the WABA platform, open Broadcast Campaign, pick a Meta-approved template, then upload your recipient list. The message still follows the template (not free text like SMS), but each recipient can carry their own details, so one broadcast can send a different amount and due date to every customer. ### How to set up automatic monthly delivery You don't need to copy these templates one by one every month. If you run a local ISP on a billing app (like Mikhmon or MixRadius), as long as it supports a custom HTTP gateway, just point it at our API, the bills fire automatically on the due date. Ready to send bill reminders from your own brand name? Take a look at the cost on the pricing page, then sign up and start, broadcast straight from the dashboard or automate via the API, with Zenziva SMS Masking and WhatsApp Business API. --- ## Article: How to Register SMS Masking in Indonesia (All Carriers) *Register your SMS Masking Sender ID across every carrier in one process: the documents you need, the cost, and the 3-14 day approval. Send SMS from your brand name, not a random number.* SMS Masking simply means sending SMS from your brand name instead of a random number. It can't switch on instantly, though: each carrier has to approve your Sender ID first. The good news? With Zenziva you register just once, and we'll handle the submission to every carrier at the same time. ### Mobile carriers in Indonesia There are four main networks, and each approves Sender IDs separately: - Telkomsel (including by.U), the largest network; often has its own terms and routes. - Indosat Ooredoo Hutchison (Indosat & Tri). - XL Axiata (XL & Axis). - Smartfren. Handling each carrier yourself means four processes, four queues, and four piles of paperwork. This is exactly where a provider like Zenziva takes the load off you. ### Requirements to register a Sender ID - A Sender ID of letters and numbers, up to 11 characters (e.g. your company, brand, or product name). - The Sender ID must match your legal identity, you must own the rights to that brand. - A stamped letter of authorization on your company letterhead with an official seal (a template is provided). - Company legal documents: NPWP (tax ID), NIB (business ID), and SIUP (trade license). - An active company website that's accessible and carries complete information about your company or brand. - A blank copy of the registration form your company uses to collect customer numbers, or a screenshot of the sign-up page on your website/app, with the site URL or the Play Store/App Store link. - For companies in the financial sector: licensing from OJK, Bank Indonesia, BAPPEBTI, or the relevant authority. - An initial deposit of at least Rp2,000,000 to start the process. ### Register once for all carriers with Zenziva You only prepare the documents once. From there, Zenziva submits to Telkomsel, Indosat, XL, and Smartfren, and we keep an eye on each one until it's fully active. So you never face each carrier's bureaucracy alone: one Sender ID, one registration, and you reach every network. ### Telkomsel runs two separate routes On Telkomsel, traffic is split into two routes: Premium for OTP/verification, and Regular for notifications/broadcast. The price is the same on both. The rule to remember: all OTP must go through the Premium route. ### How long it takes, and what to maintain - Approval usually takes 3–14 business days. - Keep a minimum traffic level (e.g. 100 SMS per quarter per carrier) so the Sender ID isn't suspended. - All OTP traffic must go through the OTP/Premium route, not the regular one. Key Takeaways: - SMS Masking needs Sender ID approval from each carrier. - With Zenziva, one registration covers Telkomsel, Indosat, XL, and Smartfren. - Prepare a stamped authorization letter and an initial deposit; it takes 3–14 business days. Ready to send SMS from your brand name across every carrier? Reach out to our team to get your Sender ID registration started, or check the cost on the pricing page first. --- ## Article: SMS Sending Costs in Indonesia: Masking, OTP & Blast *SMS pricing isn't one flat rate: it depends on the destination carrier, text length, and volume. See the going rates for Masking, OTP, and blast, and how to estimate your monthly cost.* "So how much is one SMS, really?" The honest answer: it depends. But there's no need to worry, business SMS cost comes down to just a few factors. Once you understand them, budgeting gets much easier and there are no more bills that quietly balloon. ### What determines SMS cost ### Why OTP must use the premium route OTP messages have to go through the carrier's premium route, the one reserved for codes and tokens, and it's genuinely faster and prioritized. The rate is the same as a regular SMS, so this isn't about cost, it's about the rules. Send OTP on a non-OTP route and the carrier treats it as a violation with a 200% penalty, so make sure you route it correctly from the start. ### Message length quietly doubles the cost One SMS holds 160 characters (GSM-7). Go past that and the message splits into parts of about 153 characters each, and each part is billed on its own. Even a single emoji can flip the message to Unicode and shrink the limit to 70, so keep it short and skip the special characters. ### How to keep SMS costs down - Keep messages under 160 characters and skip emoji to stay one SMS. - Route OTP on the OTP route, the wrong route triggers a 200% penalty on the SMS price. - Pick the right channel. For rich/interactive messages, WhatsApp can be cheaper per conversation. - Consolidate volume to earn a better per-message rate. Key Takeaways: - SMS cost depends on the destination carrier, message length, and volume. - OTP and regular SMS cost the same; OTP just has to use the carrier's premium route. - A short message (≤160 chars, no emoji) = one SMS, the cheapest. Curious about the exact cost for your volume? Open the calculator on the pricing page, or sign up and start sending SMS Masking and OTP with Zenziva. --- ## Article: What Is an SMS Gateway? How It Works & Why Businesses Use It *An SMS gateway connects your app to carrier networks so you can send SMS automatically and at scale. Here's how it works and why businesses rely on it.* Sending one SMS from your phone is easy. Sending 50,000 OTP or notification messages straight from your app, automatically and with a delivery status you can track, is an infrastructure problem. An SMS gateway is that infrastructure: the layer that connects your application to the carrier networks through an API. ### What is an SMS gateway? Technically, an SMS gateway bridges your application to the carrier's Short Message Service Center (SMSC), the network component that actually delivers SMS to recipients' phones. Your app just sends a request over an HTTP API; the gateway translates it into the carrier protocol (SMPP) and forwards it to the SMSC. The message lands in seconds, and you never touch a SIM card or a modem. ### Types of SMS gateway The term "SMS gateway" covers several forms, from hardware to cloud services: - Hardware (GSM) gateway. A device with a GSM modem and SIM card that sends SMS straight over the cellular signal, installed on your own network. Fine for low volume, but limited and hard to scale. - Direct-to-SMSC. An application connects straight to a carrier's SMSC over the SMPP protocol, usually via the internet or a dedicated leased line. This is the route aggregators and large enterprises use. - Cloud (HTTP API) gateway. A provider manages the carrier connections and you simply call their HTTP API. Fastest to integrate and easiest to scale, this is the model Zenziva uses. ### How an SMS gateway works For a cloud gateway, the model most businesses use, the flow looks like this: 1. Your app sends a request to the gateway API (destination number + message). 2. The gateway picks the best route and forwards the message to the destination carrier's SMSC (sometimes via an intermediary aggregator). 3. The SMSC delivers the SMS to the recipient's phone. 4. The delivery status (sent/failed) is returned to your system via callback or report. ### Why businesses need an SMS gateway - Automated. Messages are triggered by your system, OTP at login, notifications on transactions, reminders at due dates. - Scale. Send thousands to millions of messages with no manual effort. - Reach. SMS lands on any phone, with no internet needed on the recipient's side. - Trackable. Every message has a delivery status for audit and analytics. - Integrated. Plugs directly into your app, website, or ERP/CRM via API. ### SMS gateway vs sending manually ### Features to look for - A clear, documented API for fast integration. - Sender ID / SMS Masking so messages show your brand name. - Delivery reports and status callbacks. - A dedicated OTP route for time-sensitive verification messages. - Local technical support that understands Indonesian carrier rules. ### An SMS gateway with Zenziva Zenziva provides an SMS gateway with a lean HTTP API, plus SMS Masking for a brand-name Sender ID, delivery reports, and a dedicated OTP route. You just call the endpoint from your app, website, or system. Code samples are in the docs, and you can estimate the cost on the pricing page. Key Takeaways: - An SMS gateway connects your system to carriers via an API. - Ideal for OTP, notifications, and reminders at scale and automated. - Look for a clear API, Sender ID, delivery reports, and an OTP route. Ready to send SMS straight from your code? Open the API docs, or sign up and start using the Zenziva SMS gateway today. --- ## Article: How to Register the WhatsApp Business App (and Move to WABA Later) *Setting up the WhatsApp Business app, what happens when your number is already on regular WhatsApp, and how to move up to the API when you outgrow the app.* There are three ways to be on WhatsApp: the regular app for personal chats, the WhatsApp Business app for small teams, and WhatsApp Business API (WABA) for sending at scale. This guide covers registering the Business app, and the question almost everyone hits: "my number is already on regular WhatsApp, now what?" ### Regular app vs Business app vs WABA ### The one rule that explains everything A single phone number can only live on one WhatsApp account at a time. That's why you can't run the regular app and the Business app on the same number on the same phone, and why moving to WABA needs a clear plan for the number you already use. ### Registering the WhatsApp Business app 1. Download WhatsApp Business from the App Store or Google Play. 2. Open it and accept the terms. 3. Enter your business phone number and verify the OTP code sent by SMS or call. 4. Set up your business profile: name, category, hours, address, and logo. ### "My number is already on regular WhatsApp" Good news: you don't lose anything. When you register a number that's already on the regular app, WhatsApp Business offers to convert the existing account, your chats, contacts, and history carry over automatically. The catch is that one phone can't run both apps on that number, once it's converted to Business, the regular app stops using it. Back up your chats first so the migration is clean. ### Moving up to WABA: two paths When the Business app can't keep up, you need automation, API integrations, or large broadcasts, you move the number to WhatsApp Business API. There are two ways to do it. - Coexistence: keep chatting in the Business app while the API runs on the same number in parallel. Chats stay, and you don't delete anything. Eligibility is decided by Meta based on your account's age and messaging quality, and a few consumer features get disabled (View Once, Disappearing Messages, Live Location). - Full migration (API only): move the number entirely to the API. You must delete the existing WhatsApp/Business app account on that number first, and afterward you can no longer use Messenger or the Business app on it. ### Which path should you choose? If a team still handles one-on-one chats by hand on the phone, coexistence is the gentler route. If you're going fully automated, OTP, notifications, broadcasts driven by your systems, full migration to a dedicated API number is cleaner. Many businesses also pick a fresh number for WABA and leave the Business app untouched. ### Next step with Zenziva Decide up front which path fits, coexistence to keep chatting in the app, or a full migration to a dedicated API number, then back up your chats before you start so nothing is lost in the switch. --- ## Article: How Many Characters Are in 1 SMS? GSM-7 vs Unicode *One SMS can quietly become two, and cost twice as much, all from a single emoji. Here's how GSM-7 and Unicode encoding work, and how to stay in one segment.* You type a short message, sure it's one SMS, but the bill says two. The culprit is almost always the same: encoding. Once you understand GSM-7 and UCS-2, you can keep every message short, cheap, and in one piece. ### 160 or 70? It depends on the encoding SMS isn't unlimited free text. Each message is encoded with one of two schemes, and that scheme decides how many characters fit in a single SMS. The moment one character falls outside the GSM-7 set, the encoder shifts the entire message to Unicode (UCS-2), and the limit drops from 160 to 70 in one go. ### What quietly triggers Unicode - Any emoji, even a single one is enough. - Smart quotes (' ' " ") and long dashes (, –) that sneak in when you copy from Word or Notes. - Accented letters like é, ñ, ü, or ç. - Arrows and special symbols (→, ★, ✓) and non-Latin scripts (Arabic, Chinese). ### Characters that are safe in GSM-7 As long as you stick to these, your message stays on GSM-7 and fits 160 characters: - Letters A–Z and a–z, and digits 0–9. - Space and common punctuation: ., ? ! : ; ' " ( ) / + - * = % & @ # - Note: a few symbols like [ ] { } \ ~ ^ | and € are "GSM extended" and count as 2 characters each. ### Long messages get split, and each one is billed Cross the limit and the message splits into several SMS, then gets stitched back together on the recipient's phone. Each part is sent and billed separately. And because each part reserves room for the stitching info (a UDH header), the limit drops to about 153 characters (GSM-7) or 67 (Unicode) per part. ### What Zenziva supports Zenziva SMS uses GSM-7: letters, numbers, spaces, and common punctuation, with no emoji or non-GSM characters. A single SMS holds 160 characters; if it's longer, Zenziva concatenates up to 4 SMS (around 153 characters per part) and bills per SMS. Sticking to GSM-7 is deliberate, since it keeps delivery reliable and the cost down. ### Tips to keep an SMS to one segment - Type directly in the message field; don't paste from Word, that's the main source of smart quotes and Unicode dashes. - Skip emoji. For a warm tone, lean on word choice, not icons. - Shorten links and trim filler to stay under 160. - Use a brand-name Sender ID instead of writing your brand inside the body, it saves characters and adds trust. Key Takeaways: - GSM-7 fits 160 characters; Unicode only 70. - One emoji or special character flips the whole message to Unicode. - Messages over the limit split into several SMS, and each segment is billed. - Zenziva uses GSM-7 (no emoji) for reliable, cost-efficient messages. Want to calculate the per-message cost for your volume? Visit the pricing page, or sign up and start sending SMS Masking with your brand-name Sender ID today. --- ## Article: Automated Reminders for Business: Appointments, Bills & Schedules *No-shows and late payments quietly drain revenue. Automated reminders over WhatsApp, SMS, and Voice fix it, here's how to set them up right.* Every missed appointment and forgotten invoice is money you already earned but didn't collect. A well-timed reminder is the cheapest revenue you'll ever recover, and once it's automated, it works while you sleep. ### Where reminders pay off most - Appointment reminders (clinics, salons, services) to cut no-shows. - Bill and installment reminders to speed up payments. - Renewal and expiry reminders (membership, subscription, documents). - Event and schedule reminders so people show up prepared. ### Pick the right channel for each reminder ### Timing is everything One reminder a day before, and a gentle follow-up on the day, beats a single message buried a week early. Give people a one-tap way to confirm, reschedule, or pay, the easier you make it, the more they act. ### Automated Reminder Setup Checklist 1. Audit your CRM or backend to identify exactly when an appointment or bill is triggered. 2. Draft clear, actionable WABA Utility templates for the H-1 and D-Day reminders. 3. Configure your API webhook to listen for delivery status and trigger Voice OTP if the primary channel fails. ### Automate it with Zenziva Trigger these reminders from your own system via the API across WhatsApp, SMS, and Voice, dramatically reducing the manual load on your operations team. --- ## Article: Real-Time Transactional Notifications Customers Trust *Order placed, payment received, OTP sent, transactional notifications must be instant and trustworthy. Here's how to deliver them reliably at scale.* Transactional notifications are the messages customers actually wait for: the OTP to log in, the receipt after paying, the confirmation that an order went through. They have to arrive in seconds, and they have to look legitimate, or trust evaporates. ### What counts as a transactional notification - OTP and login verification codes. - Order and payment confirmations (receipts). - Shipping status and delivery updates. - Account changes and balance alerts. ### Two things that make or break them Speed and trust. Trigger the message straight from your system the instant the event happens, webhooks keep your records in sync. And send it from a recognized identity: a branded SMS Sender ID or a verified WhatsApp business name, so customers know it's really you. ### Pick the channel by urgency Use WhatsApp for rich confirmations and receipts, SMS for OTP and anything that must arrive without internet, and Voice OTP as a fallback when a code doesn't get through. A multi-channel setup means the notification always lands. ### Operations Checklist for Peak Traffic 1. Verify your API rate limits before major sale events. 2. Implement a webhook retry mechanism in your backend. 3. Set up auto-top-up for your balance so notifications don't halt mid-event. ### Build it on Zenziva One API and dashboard for WhatsApp, SMS, and Voice, with delivery webhooks, so your transactional notifications stay fast, branded, and reliable as you scale operations. Start with your OTP and order-confirmation flows, then add the rest. --- ## Article: WhatsApp Business API (WABA) ROI: Quantifying Official Messaging Value *How WhatsApp Business API (WABA) reduces operational costs and increases conversion compared to traditional channels.* In the Indonesian market, WhatsApp is the primary communication layer. Moving to an Official WABA infrastructure is a strategic shift from high-friction manual communication to a high-efficiency automated ecosystem. ### Operational Efficiency Drivers Official WABA impacts the P&L through three primary levers: 1. Channel Consolidation: moving scattered, manual customer outreach onto one unified, verified WhatsApp channel. 2. Higher Engagement: Verified brand names (Blue Tick) consistently achieve higher open and click-through rates than unknown numbers. 3. Scalable Automation: Programmatic messaging allows for exponential growth in volume without increasing head-count. ### Strategic Channel Performance ### Operational Checklist for ROI Measurement 1. Track support ticket volume before and after deploying automated WABA Utility templates. 2. Measure the open-rate delta between your email campaigns and WABA Marketing broadcasts. 3. Calculate the man-hours saved from customer service reps no longer manually sending reminders. ### Zenziva Partnership As an Official WhatsApp Business Solutions Partner, Zenziva provides the local infrastructure and operational support required to maximize your messaging ROI in Indonesia. --- ## Article: WhatsApp Business API (WABA) Economics: Message Categories & Cost Control *WhatsApp Business API (WABA) is billed per message by category, not per conversation. Here's how the categories work, what changes on 1 October 2026, and how to keep bills steady.* WABA isn't billed like a phone bill or a flat session fee, every message is charged individually, and the rate depends on its category. From 1 October 2026, that includes Service replies inside the 24-hour customer window: Meta now bills them per message, at the same rate as Utility and Authentication. Get the categories right and budgeting becomes simple. ### Billed per message, not per conversation This is the part teams most often get wrong. Sending three templates to the same customer in one afternoon is three charges, there's no "one fee covers the whole chat" bundle. Since 1 October 2026, even the free-form replies you type inside the 24-hour customer window are billed per message, at the Utility/Authentication rate. The only messages you're never charged for are the ones that fail to deliver. ### The categories that set your rate ### A worked example: one month of sends Say a mid-size shop sends, in a month: 20,000 order/shipping updates (Utility), 5,000 OTPs (Authentication), and 8,000 promo blasts (Marketing). Each of those 33,000 template messages is billed individually at its category rate, Authentication and Utility cheap, Marketing the priciest. Since 1 October 2026, the free-form Service replies their support team sends inside the 24-hour window are billed too, at the Utility/Authentication rate, so factor those into the forecast. The takeaway for a finance team: your WABA bill tracks the count of template messages by category, plus the fixed platform fees below. It's forecastable line by line, model your monthly template volume per category and you have your number. ### Fixed fees to plan for - Minimum initial balance top up: Rp 600,000 (Rp 100,000 for subsequent top ups). - Monthly service fee: Rp 500,000 (automatically deducted from available balance. If insufficient, the account will be suspended). - Per-message rates depend on the destination country; all prices exclude PPN 11%. - Direct Meta integration, Zenziva passes through Meta's rates with no hidden markup. ### How to lower your WABA bill - Lean on Utility and Authentication for the everyday flow (orders, OTP, reminders) and reserve Marketing for sends that genuinely earn their higher rate. - Inside the 24-hour window, a free-form Service reply now costs the same as a Utility or Authentication template, so use it for genuine back-and-forth support, and save templates (and Marketing rates) for outbound sends. - Consolidate notifications: one clear Utility update beats three fragmented ones. - Keep templates approved and healthy so sends don't fail and get retried, a paused template means wasted effort and re-sends. ### ROI at scale For businesses sending tens of thousands of notifications a month, per-message WABA still tends to beat fragmented tooling on engagement-per-rupiah, messages land where customers actually read, on one high-trust, programmable channel. The cost is predictable because it's mechanical: count your template messages by category, add the fixed fees, and you've modeled the bill. --- ## Article: WhatsApp Business API (WABA) Quality Score: The Metric Every CEO Should Care About *Meta watches how recipients react to your WhatsApp Business API (WABA) messages and caps how fast you scale if quality slips. Here's how to stay healthy.* WhatsApp has a built-in customer-protection mechanism: it tracks how recipients react to your messages and decides whether to let you grow. If your customers block, report, or ignore, Meta freezes your limit where it is and your quality rating drops. If they engage, Meta quietly raises your limit. You can check the rating in WhatsApp Manager, but you mostly feel it in how much you're allowed to send. ### How Meta decides your limit Meta weighs how recipients respond, blocks, reports, and ignores versus genuine engagement. What you actually see is the result: your messaging tier, 1k, 10k, 100k, or unlimited unique recipients per 24-hour window. Poor sending keeps you capped; healthy sending lets the tier rise. ### Two ratings: your number and each template It helps to separate the two. Your phone number has one quality rating that decides whether Meta lets you climb to the next messaging tier, low quality freezes your ceiling until it recovers. Each message template also carries its own rating: if a specific template draws too many blocks or reports, Meta pauses it (3 hours, then 6 hours) and permanently disables it on the third strike, while your other templates keep running. ### What hurts your standing Promotional content sent to a list that didn't opt in. The same template sent to the same recipient too many times. Generic broadcasts that look like spam. Sending at odd hours. Not responding when customers reply. These compound, three or four together can drag a healthy number's quality down within a week. ### What keeps you healthy Use Utility templates (order shipped, payment received, appointment reminder) more than Marketing. Always honour opt-out, when someone says STOP, never message again. Personalize: address the recipient by name (templates support variables) so the message doesn't look like spam. Keep template wording short and to-the-point. Reply to inbound messages within 24 hours, it signals real engagement to Meta. ### Why it's a CEO-level concern If your marketing team treats WhatsApp like email-blast software, Meta will quietly cap your growth within a month, your tier stops climbing and low-quality templates get paused. The cost isn't a fine, it's a frozen ceiling on your most important customer channel, and you only notice when sends start getting blocked. A CEO who owns the WhatsApp roadmap and insists on disciplined, opt-in sending prevents the problem before it starts. ### Where Zenziva fits Your quality rating lives in WhatsApp Manager, but the ROI hits your bottom line. Follow the practices above and your sending stays healthy on its own. Zenziva provides the official WABA infrastructure and strategic local support to help you maximize your messaging ROI in Indonesia. --- ## Article: WABA Coexistence: Using WhatsApp Business App and API Simultaneously *Learn how to maintain your mobile WhatsApp Business app for manual chat while leveraging Zenziva's API for powerful automation on the same phone number.* For many businesses, moving to the WhatsApp Business API (WABA) often meant losing the convenience of the mobile app. With WABA Coexistence, you get the best of both worlds: personal touch via the app and industrial-scale automation via Zenziva's API. ### What is WABA Coexistence? WABA Coexistence is a hybrid feature from Meta that allows a single phone number to be active on both the standard WhatsApp Business App and the WhatsApp Cloud API. This eliminates the need to 'migrate' and delete your old account, making the transition to professional automation smooth. ### Key Benefits for Your Business - Group Chat Support: Unlike standard WABA, Coexistence allows you to keep using WhatsApp Groups on your mobile phone. - Zero-Cost Manual Replies: Messages sent directly from the mobile app do not trigger Meta's API conversation fees. - Centralized Inbox: Your field staff can use the app, while your HQ support team handles central interactions through Zenziva's WhatsApp Inbox. ### Technical Comparison ### Important Limitations While powerful, Coexistence disables a few consumer-grade features on the app to ensure API stability. This includes 'View Once' media, 'Disappearing Messages', and 'Live Location'. Additionally, group chat messages are not synchronized to the API dashboard, they remain local to the mobile app. ⚠️ IMPORTANT: You must open your WhatsApp Business app on your phone at least once every 14 days to keep the connection active. If you fail to do so, access to WABA features will be disconnected. As an official Meta Business Solution Provider, Zenziva provides the reliable API infrastructure you need for automation, while you retain full control over your mobile app and Meta Business Manager document verifications. --- ## Article: The Ultimate Guide to WhatsApp Blue Tick (Official Business Account) *Everything you need to know about the WhatsApp Verified Badge: from legal requirements and 'notability' factors to common reasons for rejection.* The blue tick (Official Business Account) is the highest level of trust on WhatsApp, Meta retired the old green tick and replaced it with this blue Meta Verified badge. It signals to your customers that they're talking to a verified, notable brand. But getting it takes more than a business licence: it takes a real sending track record and proof of public recognition. ### Business Account vs. Official Business Account Every WABA user starts with a 'Business Account'. You can send messages, use bots, and broadcast officially. However, an 'Official Business Account' (OBA) adds the Blue Tick and displays your brand name even if the customer hasn't saved your number. ### The Core Requirements - Legal Entity: Your business must be a registered legal entity (PT, CV, or Yayasan in Indonesia). - Facebook Business Verification: Your Meta Business Suite account must be fully verified with valid documents. - 2-Factor Authentication: Security must be active on your business account. - Notability: This is the most critical factor. Your brand must be recognized by the public through news articles and media coverage. ### Build a sending track record first The blue tick isn't a day-one badge. Before you apply, your number needs a healthy history: message real customers, climb the messaging tiers (you start at 250 unique customers a day, and business verification raises it to 1,000, then 10,000 and beyond), and keep your template and phone-number quality ratings in the green. A weak or brand-new account rarely gets approved. ### Understanding 'Notability' Meta defines notability as a business that is 'well-known' and 'often searched for'. To prove this, we typically submit 3-5 links to organic news articles from major national media outlets (e.g., Detik, Kompas, Tempo). Paid press releases or social media follower counts are generally not considered valid proof of notability by Meta's review team. ### Zero Tolerance for Illicit Industries While Meta has its own rules restricting Blue Ticks for industries like tobacco or alcohol, Zenziva enforces a strict, global zero-tolerance policy. If a business involves gambling, fraud, adult content, hate speech, or any activity that violates Indonesian law, it is completely barred from our platform. You cannot use our WhatsApp, SMS, or Voice services, period. ### What Happens if You're Rejected? Rejection is common and does not affect your ability to use WABA. If Meta denies your Blue Tick application, you can continue using your business account normally (displaying your phone number) and re-apply after 30 days once you have gathered more media coverage. As an Official Meta BSP, Zenziva guides you through the entire application process, from document preparation to submitting the final request to Meta. --- ## Article: WhatsApp Business API (WABA) Infrastructure: Scaling Fintech and Logistics *Official WhatsApp Business API (WABA) is critical infrastructure for high-growth sectors. Here is how leading industries implement Zenziva at scale.* For Fintech, E-commerce, and Logistics, WABA is no longer an option, it is the baseline. Verified official accounts are the dividing line between enterprise-grade operations and fragmented messaging. ### Strategic Implementation by Sector ### Trust as a Performance Metric Psychologically, a verified sender name (Blue Tick) signals security. In industries handling capital or sensitive data, this trust is a technical requirement. Zenziva's low-latency infrastructure is built to hold up under heavy traffic. ### Operational Workflows - Lifecycle Automation: From onboarding to re-engagement, handled via programmatic triggers. - Two-Way Resolution: Resolve support tickets instantly via automated, interactive prompts. - Consent Management: Implement strict opt-in/opt-out protocols for financial compliance. ### The Technical Advantage Zenziva provides more than just connectivity. We provide an enterprise partnership anchored in local infrastructure and deep understanding of the Indonesian messaging regulations. --- ## Article: WhatsApp Business API (WABA) vs WhatsApp Business App: Evaluating the Switch *The free WhatsApp Business app has real limits in automation and scale. Here's how to tell if you're ready for the WhatsApp Business API (WABA) platform.* Most businesses start on the free WhatsApp Business app, and for a small team, it's a great start. But scaling past a single handset means moving from a phone-based app to API-based infrastructure. WABA (WhatsApp Business Account) gives you the programmable access modern business systems need. ### Indicators for Transition - High Manual Volume: You are manually sending order updates from a single handset. - Deliverability Issues: Your broadcasts are restricted due to Meta detecting high-volume patterns on consumer numbers. - Agent Limitations: Your support team needs more active devices and unified dashboard access than the app allows. - Integration Requirements: You need to connect WhatsApp directly to your CRM or ERP via API. ### Technical Feature Comparison ### What you gain with WABA On WABA, everything runs from a single official account: a verified brand name with a blue tick, approved templates for order confirmations and OTPs, a centralized WhatsApp Inbox, and the scale to reach millions of customers reliably. ### Making the move Switching to WABA takes one setup step: Meta business verification, with documents that depend on your business type and a review of roughly 1–2 weeks. Once verified, you start on the 250/day tier and scale up automatically as your quality holds; the blue tick is a further, optional badge. As an official WhatsApp Business Solutions Partner, Zenziva handles the Meta side and gives you a production-ready dashboard and API, the bridge from manual chatting to automated messaging, no coding required to start. --- ## Article: How to Register for WhatsApp Business API: Requirements & Steps *Registering for WhatsApp Business API (WABA) is now instant: sign up, log in, pay, then connect your number. Here's what to prepare at each stage.* Registering for WhatsApp Business API (WABA) is now instant. You sign up, log in, and land straight in the dashboard, activate your subscription and top up your balance, then connect your WhatsApp number yourself via Embedded Signup. The only thing that gates going live is Meta business verification, so it pays to prepare those documents up front. ### What you need to register - Business identity (NIB), NPWP, and your deed of establishment. - A Meta Business Portfolio ID. - An official business website that Meta's team can verify. ### The stages and timeline 1. Sign up & log in, instant. 2. Activate the monthly subscription and top up your balance, instant. 3. Connect WhatsApp via Embedded Signup (Settings → Integration Settings → Login with Facebook), a few minutes. 4. Meta business verification, roughly 1-14 days, depending on the business type and Meta's review. The first three steps are self-serve and happen right away. Going live then takes Meta business verification, the documents depend on your business type, and the review runs roughly 1-14 days. Once verified, you start on the 250/day tier and scale up as your quality holds. The blue tick is a further, optional step; even without it, WABA works, your business name shows as the sender, just without the badge. ### After you're live Once approved, you submit message templates for Meta's review, then send through the dashboard or the API. WhatsApp bills per message by category (Marketing, Utility, Authentication), and the rate depends on the destination country. From 1 October 2026, Service replies inside the 24-hour window are billed too, at the Utility/Authentication rate. Zenziva, an official WhatsApp Business Solutions Partner, gives you instant access to the dashboard and API the moment you register. You connect your number through Embedded Signup and complete Meta business verification yourself in Meta Business Suite, using our step-by-step guides. --- ## Article: WhatsApp Business API Pricing in Indonesia: Rates & Categories *How WhatsApp Business API (WABA) pricing works in Indonesia, message categories billed per message, the 1 October 2026 Service pricing change, and the fixed fees to budget for.* WhatsApp Business API isn't billed like regular SMS. Every message is charged per message by category, not per conversation, and from 1 October 2026 that includes the free-form Service replies you type in a customer-initiated chat, billed at the Utility/Authentication rate. Understanding the categories is the key to budgeting. ### The four message categories ### Fixed fees to plan for - Minimum initial balance top up: Rp 600,000 (Rp 100,000 for subsequent top ups). - Monthly service fee: Rp 500,000 (automatically deducted from available balance. If insufficient, the account will be suspended). - All prices exclude PPN 11%. ### Good to know Every message you send is billed individually, sending three templates to one customer means three charges, even within the same chat. Since 1 October 2026 that includes the free-form Service replies you type within 24 hours of a customer reaching out first, billed at the Utility/Authentication rate; only messages that fail to deliver aren't charged. Templates that don't qualify as Utility or Authentication are billed as Marketing. Always check the latest rate card, as Meta updates pricing periodically. --- ## Article: How to Broadcast WhatsApp Officially Without Getting Banned *Mass WhatsApp blasts from a personal number get banned fast. Here's how to broadcast officially via WhatsApp Business API (WABA) without getting blocked.* "WhatsApp blast" usually means firing the same message at a huge list at once. Do that from a personal number or an unofficial tool and Meta will block it quickly. The official route, WhatsApp Business API (WABA), lets you reach a large audience without that risk, as long as you play by the rules. ### Why unofficial blasts get banned Meta actively detects high-volume, repetitive sending from consumer numbers and unofficial gateways. Accounts that trigger it get throttled or blocked, and you lose the number. There's no genuine "unlimited blast" that's also safe; anything promising that is operating against Meta's rules. ### How official WABA broadcasting works - You send pre-approved templates to customers who opted in. - Volume scales by messaging tier (1k → 10k → 100k → unlimited unique recipients/day), which rises automatically as you keep sending responsibly. - Your campaigns are routed through Meta's verified infrastructure, ensuring high deliverability and protecting your brand's reputation. ### Keep your broadcasts healthy - Only message opted-in contacts, and always honour opt-out. - Favour utility content over heavy marketing to protect your sending reputation. - Personalize with the recipient's name so messages don't look like spam. ### Broadcast with Confidence As an official WhatsApp Business Solutions Partner, Zenziva runs your broadcasts on the official WABA platform, protecting your brand reputation and keeping every message on a stable, high-deliverability route. --- ## Article: Maximizing Business Reach with WhatsApp Business API (WABA) *Why the official WhatsApp Business API (WABA) is the gold standard for professional customer communication in Indonesia.* With over two billion active users globally, WhatsApp is where your customers live. But for a business to scale, a personal account isn't enough. The WhatsApp Business Account (WABA) provides the advanced features and API reliability required for modern enterprises. ### Official Status vs. Personal Apps The primary differentiator is professional credibility. A WABA with a 'Blue Tick' tells your customers that they are talking to the real brand. Beyond trust, WABA allows for API integration and programmatic messaging that personal or free business apps simply cannot handle without risk of being banned. ### High Engagement, Real Results Statistics show that 80% of WhatsApp messages are read within five minutes, with an average open rate of 98%. This makes it the most effective channel for time-sensitive notifications, transaction alerts, and authentication messages (OTP) sent through approved templates. Zenziva's WABA platform enables you to harness this engagement at scale. ### Integration and Automation WABA is designed to be part of your stack. Whether it's integrating with your CRM for customer support or your backend for automated order updates, the API-first nature of WABA ensures that communication stays smooth and data-driven. At Zenziva, we provide the infrastructure to turn WhatsApp into your most powerful business asset. --- ## Article: WhatsApp Gateway vs Official WhatsApp Business API: The Difference *"WhatsApp Gateway" can mean very different things. Here's how an unofficial gateway compares to the official WhatsApp Business API (WABA), and why it matters.* Search "WhatsApp Gateway" in Indonesia and you'll find two very different things: unofficial tools that automate a regular WhatsApp account, and the official WhatsApp Business API (WABA). They look similar on the surface but carry very different risk. ### Unofficial gateways An unofficial gateway drives a normal WhatsApp account through automation that Meta doesn't sanction. It can be cheap and quick to start, but it carries a real risk of the number being banned, no verified branding, and no guarantees if Meta changes anything. ### Official WhatsApp Business API (WABA) WABA is Meta's sanctioned platform: verified branding (blue tick), approved message templates, a centralized WhatsApp Inbox, and tiered broadcasting within official limits. It takes a one-time onboarding, but it's built to scale without the ban risk of an unofficial setup. ### Which is right for you? If WhatsApp is core to your business, the official WABA is the safer long-term foundation, your number and your brand are protected. Zenziva, an official WhatsApp Business Solutions Partner, sets you up on the official platform with one dashboard and API. --- ## Article: How to Choose the Right WhatsApp Business API Provider *Not all WhatsApp API providers are equal. Learn how to compare pricing, infrastructure stability, and support before committing.* Choosing a WhatsApp Business API provider is a critical infrastructure decision. A wrong choice leads to frequent downtime, hidden fees, and poor customer service experiences. ### 1. Transparent Pricing Some providers offer cheap upfront costs but hide fees in per-message markups or mandatory software bundles. Look for providers with transparent pricing structures where you only pay for what you use, directly aligned with Meta's official pricing. ### 2. Infrastructure & SLA Your API provider sits between your servers and Meta. If their servers go down, your messages stop. Always demand a 99.5% uptime SLA to ensure your critical OTPs and notifications are always delivered. ### 3. Fast & Reliable Technical Support When technical issues arise, waiting for delayed email responses can significantly slow down your operations. A fast and reliable support team that understands your business context ensures rapid resolution times. --- ## Article: Customer Support: Managing 2-Way Conversations via WhatsApp API *Broadcasts are great, but customer service requires a 2-way conversation. Learn how to set up an interactive helpdesk via WhatsApp Business API.* While WhatsApp Business API is famous for sending massive OTPs and notifications, its true power lies in 2-way conversations. Customers expect to reply to your messages and get immediate help. ### What is 2-Way Chat on WhatsApp API? Unlike SMS Masking which is strictly 1-way (recipients cannot reply), WhatsApp API supports full conversational flows. When a customer replies to your broadcast or sends the first message to your number, a 'Customer Service Window' opens for 24 hours. ### The 24-Hour Rule Meta enforces a strict 24-hour customer service window to prevent spam. If a customer messages you, you have 24 hours to reply with free-form text. Once the 24 hours pass, you can only message them again using a pre-approved Template Message. ### Build Your Interactive Helpdesk With Zenziva's reliable API infrastructure, you can easily integrate 2-way messaging into your existing CRM, or use a ready-made Inbox dashboard to start replying to customers today. --- ## Article: WhatsApp Business API (WABA) in Indonesia: A Complete Guide *What WhatsApp Business API (WABA) is, how it differs from regular WhatsApp, and how Indonesian businesses use it, a complete guide.* WhatsApp Business API, also called WABA, is the official way for businesses to message customers on WhatsApp at scale. It's not an app you install; it's a platform you connect to, with a verified brand name, message templates, and an API. ### What is WhatsApp Business API (WABA)? WABA is Meta's official channel for medium and large businesses. Unlike the free WhatsApp Business app, which runs on a single phone, WABA runs in the cloud and connects to your CRM or app through an API. It's the foundation for verified branding, approved templates, and large-scale messaging. ### Regular WhatsApp vs Business App vs Business API ### What you can do with WABA - Send from a verified business name with the blue tick (subject to Meta approval). - Use approved templates for utility, authentication, marketing, and service messages. - Run two-way conversations with a centralized WhatsApp Inbox. - Connect to your CRM or app via REST API and webhooks. - Reach customers in Indonesia and abroad, pricing adjusts by destination country. ### How to get started in Indonesia Going live on WABA takes Meta business verification, with a number, a Meta Business Portfolio, and documents that depend on your business type. The review runs roughly 1–2 weeks; once verified you start on the 250/day tier and scale up, with the blue tick an optional later step. As an official WhatsApp Business Solutions Partner, Zenziva gives you a self-serve platform to connect your number, a ready-to-use dashboard, and a comprehensive API, with guidance at each step. --- ## Article: Engineering-First: Strategic Messaging Integration for Developers *A strategic overview of Zenziva's API architecture. Focus on reliability, scalability, and developer-first design.* For modern engineering teams, messaging is not just about sending a text, it's about building reliable, resilient notification infrastructure. Zenziva's unified REST API is designed to be the backbone of your application's communication layer. ### Technical Architecture and Reliability Our API is built on REST principles, ensuring a consistent developer experience across all channels, WABA, SMS Masking, and Voice. One predictable HTTP interface covers every channel, with low-latency endpoints that keep your application responsive. Each request returns a clear status so your system always knows what happened. ### Developer-First Design We understand your time is valuable. Authentication is straightforward, SMS and Voice use a userkey/passkey pair, while the WhatsApp (WABA Platform) endpoint uses an X-API-Key header. Responses come back as structured JSON with clear status codes, and real-time webhooks push delivery events to your server so your system reacts to what actually happened. ### Technical Reference A quick taste, sending an SMS over the Console API is a single HTTP POST: WhatsApp goes through the WABA Platform endpoint with an X-API-Key header and a JSON body. Full endpoint specs, auth guides, and ready-made samples for Node.js, Python, PHP, and Go live in the docs. --- ## Article: Modernizing Educational Communication with Automated Messaging *Bridging the gap between schools and parents through automated alerts and scheduled announcements.* In the educational sector, clear and timely communication with parents and students is essential. Automated messaging solutions replace manual efforts with reliable, scalable outreach. ### Strategic Use Cases for Schools - Parent Connectivity: Send automated mass messages directly to parents' phones for meeting invitations. - Scheduled Announcements: Automate reminders for class schedules, exams, and event dates. - Attendance Alerts: Notify parents instantly if a student is absent from class. - Personalized Support: Send congratulatory notes or specific course reminders to students. ### The Automation Advantage With Zenziva, educational institutions can deliver critical updates quickly and reliably, helping lift participation and engagement while saving valuable administrative time. --- ## Article: Multi-Channel Messaging: Scaling Your Online Business *From automated registration to order notifications, discover how multi-channel communication drives growth.* In the competitive world of e-commerce, the speed and reliability of your communication determines your success. Multi-channel messaging, combining WABA, SMS, and Voice, is the key to providing a superior customer experience. ### Key Automation Strategies - Registration Verification: Use SMS or Voice OTP to ensure users are real and valid. - Order Status: Automate notifications for confirmation, payment receipt, and shipping. - Failed Payment Recovery: Trigger a reminder when a transaction isn't completed within an hour. - Re-engagement: Send personalized offers based on previous purchase history. ### Channel Comparison for E-commerce ### Why It Matters A well-informed customer is a loyal customer. By reducing anxiety through real-time updates and ensuring secure access via OTP, you build the trust required to turn a one-time buyer into a lifetime advocate. --- ## Article: What is WhatsApp Official OTP & How Does it Work? *Understand what WhatsApp Official OTP is and why relying on a single channel is a risk. Learn how to layer WhatsApp, SMS, and Voice to ensure delivery.* An OTP that doesn't arrive is a lost customer. In Indonesia's fragmented network landscape, the most reliable approach is a layered one: SMS as the dependable primary, Voice as the closer for critical access, and official WhatsApp Business templates for customers who live in the app. ### Technical Channel Comparison ### The Fallback Protocol Checklist 1. Step 1: Send the OTP via WhatsApp Authentication Template. Fast, rich, and verified brand identity. 2. Step 2: Monitor the delivery webhook. If WhatsApp doesn't confirm delivery within the timeout you set, have your system fall back to SMS Masking. 3. Step 3: The last resort. If the SMS delivery callback still doesn't confirm, trigger a Voice OTP that calls the user and reads the code aloud. ### Why Operational Resilience Matters Zenziva gives you one operational dashboard across SMS, Voice, and WhatsApp. With all three on one integration, your system automatically executes the fallback protocol checklist without juggling separate vendor contracts or balances, ensuring customers always get their OTP. --- ## Article: Voice Broadcast: Reach Thousands of Customers by Phone at Once *Harness the human reflex of answering a ringing phone to drive engagement and event participation.* Voice Broadcast, also known as Voice Blasting, has emerged as a powerful tool in modern marketing campaigns. It allows businesses to send voice messages to large audiences simultaneously, cutting through the noise of crowded email inboxes and chat lists. ### The Power of the Ringing Phone There is a fundamental human reflex to answer a ringing phone. This simple action gives your message a better chance of getting through than text-based channels. Whether it's a brand introduction, an event reminder, or a special limited-time offer, voice messages capture attention immediately. ### Cost-Effective Scalability Compared to manual calling or hiring large call-center teams, Voice Broadcast is exceptionally cost-effective. It reduces human resource costs and saves time, allowing you to reach thousands of prospects within minutes. Zenziva's platform provides detailed reporting, allowing you to track engagement and refine your strategy based on real data. ### Personalized Engagement Modern voice technology allows for personalization. You can include recipient names or specific transaction details in your broadcasts, making the interaction feel personal rather than generic. This builds a stronger connection with your audience and increases the likelihood of a positive response. --- ## Article: Automated Voice Calls: Bridging the Gap in Urgent Communications *Exploring how automated voice notifications have evolved since 2019 to become a critical fallback for high-stakes alerts.* Text-based communication is dominant, but it's easy to miss. Notifications pile up unread, apps get closed, and data connections drop. An automated voice call is a different kind of event, it lands in the call log and is far harder to overlook than one more message in a crowded inbox. Zenziva has offered Voice as that fail-safe layer for critical alerts since 2019. ### The Psychology of a Ringing Phone A ringing phone triggers a different psychological response than a vibrating text. It demands immediate attention. In urgent scenarios, such as a security breach, a major system outage, or a critical payment failure, a voice call ensures that the message is heard, literally. Our Text-to-Voice technology converts your written alert into a natural-sounding call that reads the information directly to the user. ### Accessibility and Reach Voice calls bypass the limitations of the modern smartphone. They work on 'feature phones', they don't require a data plan, and they are accessible to users with visual impairments. For businesses serving the diverse Indonesian population, voice ensures that no customer is left out of the loop, regardless of their technology stack. ### The Ultimate OTP Fallback The most common use case for Automated Voice is as a fallback for SMS OTP. When a delivery callback shows the SMS didn't arrive, your system can trigger a Voice OTP in response. You orchestrate this 'cascading' flow from the callbacks, so user onboarding isn't interrupted by network congestion, maximizing your sign-up conversion rates. ### Maturity and Reliability Since we launched our Voice service in 2019, we have refined the infrastructure to handle the unique complexities of the Indonesian telco landscape. Today, Zenziva's Voice platform offers crystal-clear audio, sub-second call initiation, and detailed delivery reports, making it a dependable component of any enterprise communication strategy. --- ## Article: Human-Centric Text-to-Voice: An Inclusive Solution for Business Notifications *Notifications are no longer just text. Voice adds a personal, urgent, and accessible dimension to your communications.* Communication is evolving. While text is dominant, it can often be ignored or missed. Text-to-Voice technology ensures that your most critical messages, like OTPs or urgent payment alerts, are literally heard. ### Bridging the Accessibility Gap Unlike SMS or WhatsApp which require a screen and often an internet connection, Voice calls work on any phone, including landlines and basic feature phones. For users with visual impairments or those in areas with poor data coverage, a voice call is a lifeline for receiving essential information. ### Natural Sounding Technology Gone are the days of robotic, hard-to-understand automated voices. Zenziva's Text-to-Voice uses natural-sounding Indonesian speech patterns, so your message comes through clearly. This 'human-centric' approach improves the effectiveness of the communication and reflects better on your brand. ### Easy Integration Whether through our web dashboard or our reliable API, implementing Text-to-Voice into your business process is straightforward. You type the message, and our system handles the conversion and the call initiation. It’s an essential layer for any serious multi-channel notification strategy. --- ## Article: SMS Masking Rules in Indonesia: Operator Compliance Explained *Indonesian carriers regulate SMS Masking tightly to fight fraud. Here are the rules that keep your Sender ID active, and the habits that get messages through.* SMS Masking is powerful precisely because it's trusted, and that trust is protected by strict operator rules. Break them and your Sender ID can be suspended. ### Why it's regulated A brand-name sender is exactly what fraudsters would love to fake. To prevent that, operators only grant a Sender ID to a verified business and tie it to legal documents, so only the legitimate owner can send under that name. ### The key rules - Verified identity: a valid NIB and supporting documents are required, and the Sender ID must match your business or brand name. - OTP route: any message containing a code or password must be sent on the dedicated OTP / Premium route. Sending OTP on the wrong route incurs a penalty and, if repeated, the operator can shut the Sender ID down. - Content limits: gambling, fraud, hate speech, pornography, and anything against Indonesian law are prohibited. - Minimum activity: keep traffic above the quarterly minimum per operator, or the Sender ID may be suspended and need re-registration. ### Beyond the rules: habits that lift deliverability Following the rules keeps your Sender ID alive. A few practical habits take it further and push your delivery rate, the share of messages that actually reach the handset, higher. - Clean your number list: validate format and drop inactive numbers before sending. - Keep content clear and concise, avoid spam-trigger wording and excessive links. - Subscribe to delivery webhooks so you can see, per message, what was delivered and what failed. ### When SMS doesn't get through Some numbers are simply unreachable, switched off, out of coverage, or blocked. For messages that absolutely must land, read the delivery callback and let your system trigger a Voice OTP that reads the code aloud as a backup. ### Staying compliant, and delivered Route OTP and verification traffic through the OTP / Premium endpoint, keep promotional and transactional content clearly separated, and watch your real-time delivery reports per operator. Fix the list and the content where messages fail, and a provider that knows each operator's requirements keeps your Sender ID healthy and your messages flowing. --- ## Article: How to Create a Corporate SMS Masking Sender ID *A step-by-step guide to creating an official SMS Masking Sender ID for your company, including documents and operator timelines.* Registering a Sender ID isn't instant, it's a regulated process run with each operator. Knowing what's required up front saves weeks of back-and-forth. ### Documents you'll need - Company legal documents: NPWP (tax ID), NIB (business ID), and SIUP (trade license). - A Sender ID that matches your registered business, brand, or product name. - A letter of appointment on company letterhead, stamped and signed on meterai. - An active company website with complete information about your company or brand. - A blank copy of the registration form you use to collect customer numbers, or a screenshot of the sign-up page on your website/app, with the site URL or the Play Store/App Store link. - For companies in the financial sector: licensing from OJK, Bank Indonesia, BAPPEBTI, or the relevant authority. ### The timeline and deposit Approval takes 3 to 14 working days, depending on each operator's queue and how complete your documents are. A minimum deposit of Rp 2,000,000 is required to start the masking registration. ### Sender ID rules to remember - Up to 11 characters, letters or numbers. - One-way only, recipients can't reply to a masked SMS. - Any SMS containing a code, token, or password counts as OTP and must go through the dedicated OTP / Premium route. - Keep traffic above the quarterly minimum (around 100 SMS per operator per quarter) or the Sender ID may be suspended. ### Per-operator notes The Sender ID is registered separately with Telkomsel, Indosat, XL, Axis, Tri, and Smartfren. On Telkomsel, traffic is split into two routes, Premium (OTP / verification) and Regular (notification / broadcast), priced the same; OTP must use the Premium route. Reactivating a suspended Sender ID on Tri carries a re-registration fee of Rp 300,000. Zenziva acts as your liaison with every operator, preparing the paperwork, submitting the registration, and getting you to go-live with one API for all five carriers. --- ## Article: SMS Masking vs Regular SMS: Which Fits Your Business? *Both send a text to a phone, but the sender, the trust, and the setup are very different. Here's how to choose.* Regular SMS goes out from a numeric sender; masked SMS goes out from your brand name. That single difference changes how recipients trust, and act on, your message. ### Side by side ### When masking is worth it If you send OTPs, payment alerts, shipping updates, or anything where the recipient needs to trust the source, masking pays for itself in fewer ignored messages and fewer fraud complaints. ### When regular SMS is fine For low-stakes, two-way conversations where a reply is expected, a standard numeric sender works fine. Since Zenziva focuses purely on official, one-way SMS Masking, businesses typically handle these regular two-way SMS conversations independently using their own phones or a custom hardware gateway connected to their systems. --- ## Article: What Is SMS Masking and How Does It Work? *SMS Masking replaces a random phone number with your brand name as the sender. Here's what it is, how it works, and why Indonesian businesses rely on it.* When a customer gets an SMS from 'BANKABC' instead of '+62812…', they instantly know who sent it. That's SMS Masking: messages delivered with an alphanumeric Sender ID, your brand name, instead of a plain mobile number. ### What is SMS Masking? SMS Masking, technically an alphanumeric Sender ID, lets a business register a short text string (up to 11 characters) as the sender name on every SMS it sends. Instead of a generic number, recipients see your company, brand, or product name. In Indonesia it is a one-way channel: recipients can't reply to it. ### How does it work? 1. Register your brand name and supporting documents, which are pre-validated against the six operators. 2. Each operator reviews and approves the Sender ID, this takes 3–14 working days. 3. Once approved, we will notify you that the Sender ID is active across all providers and ready to use. 4. Go live, send from your brand name and track each message in real time. ### Why businesses use it - Trust: a recognizable brand name reassures recipients the message is genuine. - Anti-fraud: it's far harder for scammers to impersonate a registered Sender ID. - Brand recall: every message reinforces your name, not an anonymous number. - Fewer ignored messages: branded SMS is less likely to be dismissed as spam. ### What you need to get started You'll need a valid business identity (NIB) and supporting documents, plus a minimum deposit of Rp 2,000,000 for the registration. Each of the six operators, Telkomsel, Indosat, XL, Axis, Tri, and Smartfren, is registered separately, which is why approval spans 3–14 working days. Since 2012, Zenziva has handled this registration for thousands of Indonesian businesses, managing the paperwork with each operator and providing one API to reach them all. --- ## Site Map - / - /about - /articles - /clients - /connect-waba - /connect-waba-legacy - /contact - /docs - /faq - /features - /forgot-password - /howitworks - /pricing - /privacy - /refund - /signup - /sla - /sms - /solutions - /terms - /voice - /waba --- Full technical documentation is available at https://zenziva.id/docs. © 2026 Zenziva.