L’API di WhatsApp
che non cade.
Invia OTP, notifiche e automazioni via HTTP. Ridondanza tra numeri con failover, webhook firmati, SDK in vari linguaggi e playground. Parti in pochi minuti, paghi solo ciò che usi.
Senza carta · piano Free per sempre · 2 numeri con ridondanza
# invia un messaggio in 1 request
curl https://api.bzapper.com.br/messages/text \
-H "Authorization: Bearer bz_live_…" \
-d '{
"to": "+5551999998888",
"text": "Il tuo codice è 318204"
}'
# risposta
{
"message_id": "9d41…bbbd",
"status": "queued",
"number": "+5551999198087"
} Dal primo numero al webhook in tre passi
Collega un numero, chiama l’API, ricevi gli eventi. Integrazione in minuti.
Collega un numero
Collega dal pannello. La ridondanza tra numeri si attiva da sola.
Chiama l’API
Un POST e il messaggio entra in coda, con controllo del ritmo per numero.
Ricevi webhook
Consegnato, letto, risposto, numero caduto — tutto firmato e in tempo reale.
Tutto ciò che serve a un prodotto serio
Dalla ridondanza tra numeri all’OTP sicuro, dai webhook agli SDK — pensato per la produzione.
Ridondanza multi-numero
Più numeri per progetto, con failover automatico e monitoraggio della salute. Uno cade, il traffico prosegue.
OTP sicuro
Codice in un messaggio separato, mai persistito né mostrato — né nello storico, né in inbox.
Webhook firmati
Eventi in tempo reale con HMAC-SHA256, retry e dedup. Relay locale stile `stripe listen`.
SDK multi-linguaggio
Node, Python, PHP, Java e Go — generati da OpenAPI. Copia, incolla ed esegui.
Inbox unificata
Conversazioni unificate per contatto anche quando cambia il numero di uscita. Eco proprio e contesto di gruppo.
Media privati
File in bucket privato, scaricati via URL pre-firmato — il client scarica direttamente, senza passare dalla tua API.
Progetti e multi-utente
Isola gli ambienti per progetto, invita il team, controlla per chiave e scope.
Playground API
Prova qualsiasi endpoint e ispeziona i webhook in tempo reale, direttamente dal pannello.
Una sola API REST. Tutto WhatsApp.
Dall’OTP ai webhook firmati, dai gruppi all’inbox unificata — ogni capacità qui sotto è un endpoint reale, coperto da tutti e 5 gli SDK.
Messaggistica
- 13 tipi in una sola API REST
- Inoltra, rispondi (cita) e menziona
- Invio programmato con scheduled_at
- OTP in messaggio separato, mai persistito
Consenso e conformità
- Opt-out automatico per parola chiave
- Registro di consenso per contatto
- Blocco e soppressione via API
- Media privati con URL prefirmata
Contatti (CRM)
- Profilo ricco: documento e indirizzo
- Tag, gruppi e correlazione automatica
- Filtri avanzati + cronologia e note
- Opt-out, blocco e opt-in
Conversazioni e inbox
- Cronologia unificata per contatto
- Archivia, fissa, silenzia e segna come letto
- Etichette di conversazione
- Contesto di gruppo ed eco proprio
Gruppi WhatsApp
- Crea e amministra gruppi
- Partecipanti: aggiungi, promuovi, rimuovi
- Link d’invito e ingresso via codice
- Approva le richieste di ingresso
Numeri e istanze
- Collega via QR o codice
- Profilo white-label per numero
- Privacy per numero
- Failover con monitoraggio della salute
Webhook e tempo reale
- Webhook firmati con HMAC-SHA256
- Retry, dedup e consegne verificabili
- Stream SSE in tempo reale (/stream)
- Relay locale stile stripe listen
Widget integrabile
- Modalità flottante o embedded
- I tuoi clienti collegano i numeri
- Mini dashboard di utilizzo
- Chiave pubblica bloccata per origine
Piattaforma e dev
- SDK in 5 linguaggi + OpenAPI
- Playground API nel pannello
- Piani Free/Pro + add-on
- Utilizzo, metriche e 6 lingue
Ogni voce qui sopra corrisponde a un endpoint reale dell’API — niente vaporware. Provali tutti nel Playground.
Copia, incolla, esegui.
SDK ufficiali generati da OpenAPI in Node, Python, PHP, Java e Go. Webhook firmati con HMAC, retry e dedup. Relay locale stile stripe listen per testare sul tuo localhost.
$ npm install @bzapper/client $ pip install bzapper $ composer require bzapper/bzapper $ go get github.com/bernisoftware/bzapper-go $ br.com.bernisoftware:bzapper (Maven) Eventi webhook
# inviare un OTP
curl https://api.bzapper.com.br/messages/otp \
-H "Authorization: Bearer bz_live_…" \
-d '{"to":"+5551999998888","code":"318204"}' // npm install @bzapper/client
import { Bzapper } from '@bzapper/client';
const bz = new Bzapper({ apiKey: 'bz_live_…' });
await bz.sendOTP({ to: '+5551999998888', code: '318204' }); # pip install bzapper
from bzapper import Client
bz = Client("bz_live_…")
bz.send_otp("+5551999998888", code="318204") // composer require bzapper/bzapper
$bz = new Client('bz_live_…');
$bz->sendOtp('+5551999998888', '318204'); // go get github.com/bernisoftware/bzapper-go
import bzapper "github.com/bernisoftware/bzapper-go"
bz := bzapper.NewClient("bz_live_…")
bz.SendOTP("+5551999998888", "318204") // br.com.bernisoftware:bzapper
var bz = new BzapperClient("bz_live_…");
bz.sendOtp("+5551999998888", "318204"); Porta la gestione dei numeri dentro al tuo prodotto
Un widget standalone che integri nel tuo sistema. I tuoi clienti collegano, scollegano e monitorano i numeri del progetto — senza che tu costruisca alcuna schermata. Una riga di codice.
Numeri del progetto
Carica automaticamente i numeri collegati del progetto associato alla chiave. Ognuno con stato in tempo reale.
Collega via QR
Il cliente scansiona il QR e collega un nuovo numero lì — aggiungi numero (se il piano lo consente) o scollega, tutto nel widget.
Mini dashboard
Uso e consumo del progetto a colpo d’occhio: messaggi, numeri e storage del periodo. La parte finanziaria resta nel pannello.
Sicuro per origine
La chiave wgt_ è pubblica, ma bloccata da una allowlist di origini (CORS). Non espone mai la tua API key reale.
Flottante (plug-and-play)
Una bolla nell’angolo dello schermo. Incolla solo lo <script> con la tua chiave — si apre con un clic.
Embedded (inline)
Renderizza <bzapper-widget> dove vuoi nella tua pagina, come un blocco nativo del tuo pannello.
Modalità flottante — una riga nel tuo HTML:
<!-- incolla prima di </body> -->
<script src="https://widget.bzapper.com.br/v1/widget.js"
data-key="wgt_sua_chave" async></script> La chiave wgt_ è pubblica (va nell’HTML) ed è bloccata da una allowlist di origini che configuri nel pannello. La tua API key reale non compare mai. La parte finanziaria (piani e fatture) resta nel pannello — il widget gestisce solo le connessioni.
WhatsApp via API, senza interruzioni
La consegna è ingegneria. Ogni numero del progetto ha limiti di volume propri, controllo del ritmo in invio, monitoraggio continuo della salute e avvisi in tempo reale. Quando un numero cade, il traffico prosegue sugli altri — senza che tu faccia nulla.
- Distribuzione del carico tra i numeri del progetto
- Aumento graduale del volume sui numeri appena collegati
- Conversazioni unificate per contatto, anche cambiando numero
- Avvisi in tempo reale quando un numero cade
Una rubrica contatti che lavora per te
Ogni numero che tocchi diventa un contatto ricco — con documento, indirizzo, tag e cronologia. Correlato da solo per progetto e numero, filtrabile in pochi secondi e sempre sotto il tuo registro dei consensi.
- Profilo ricco
Nome, telefono, email, documento (codice fiscale) e indirizzo completo — città, provincia, CAP e paese.
- Tag e gruppi
Organizza con tag e gruppi con dizionari propri. Un contatto può stare in più — tutto versionato.
- Correlazione automatica
Ogni contatto viene collegato da solo al progetto e al numero da cui ha parlato. Nessun inserimento manuale, nessun duplicato.
- Filtri avanzati
Cerca per stato, tag (tutti o qualsiasi), città, documento, attività e date — dall’API o dal pannello.
- Cronologia e note
Una timeline append-only di ogni evento del contatto, più note interne del team. Nulla va perso.
- Opt-out e blocco
Sopprimi o blocca con un POST. Lo stato diventa opted_out o blocked e ferma l’invio prima della coda.
- OTP consegnato e letto · 2 min fa
- Collegato al numero +55 51 99919-8087
- Tag “piano-pro” aggiunto da te
- Opt-in registrato nel registro dei consensi
Contatti, tag, gruppi e soppressioni vivono isolati per progetto — una chiave vede solo il proprio progetto.
Vedi nella documentazione →Programma l’invio per il momento giusto
Invia qualsiasi messaggio con data e ora future. bZapper lo conserva e lo invia all’istante esatto — niente cron sul tuo server, nessun processo da tenere attivo.
- Un solo campo
Aggiungi scheduled_at a qualsiasi invio — testo, media, qualunque cosa. Il resto è uguale a un invio normale.
- Numero scelto all’invio
Il numero sano viene scelto al momento dell’invio, non della programmazione — non finisce mai su un numero andato offline.
- Annulla quando vuoi
Elenca e annulla le programmazioni in sospeso in qualsiasi momento, via API o pannello.
// programma tra 2 ore
POST /messages/text
{
"to": "+5511999990000",
"body": "Bom dia! ☀️",
"scheduled_at": "2026-07-01T09:00:00Z"
} I tuoi contatti sono il tuo bene più prezioso
Un numero bannato e una lista bruciata costano cari. Per questo proteggere la tua base non è un extra — è il modo in cui bZapper è costruito, dall’isolamento per progetto al registro del consenso.
Li trattiamo come se fossero nostri: protetti, isolati e sotto il tuo controllo.
- Isolamento per progetto
Numeri, inbox, chiavi e soppressione vivono in progetti isolati. Una chiave vede solo il proprio progetto — nulla trapela tra clienti o ambienti.
- Media privati con presign
I file di conversazione stanno in un bucket privato e si aprono solo con una URL prefirmata a breve durata (24h di default). Niente di indicizzabile, niente allo scoperto.
- Opt-out e soppressione nativi
Chi risponde PARAR/SAIR/STOP viene soppresso automaticamente e non riceve più invii. La block list ferma l’invio prima di accodarlo.
- Registro del consenso
Ogni opt-in e opt-out entra in un registro append-only, datato e verificabile — la prova della base giuridica richiesta dalla LGPD.
- Webhook firmati
Ogni evento parte con firma HMAC-SHA256 e verifica timing-safe. Il segreto del webhook resta cifrato a riposo.
- Segreti cifrati
Sessioni WhatsApp cifrate a riposo e il codice OTP mai persistito né mostrato. Telefono ed email normalizzati nel database.
Contatto soppresso nel progetto all’istante e registrato nel registro del consenso. Emette il webhook contact.opted_out.
bZapper è il responsabile del trattamento e si occupa del lavoro pesante di privacy; la base giuridica del consenso è una tua responsabilità. Lavoriamo insieme.
Leggi la guida Privacy & LGPD →Paghi per i numeri. Messaggi, illimitati.
Ciò che conta è non smettere di consegnare — e questo è ridondanza tra numeri. Scegli il piano, attiva la ricorrenza e dimentica la fattura.
Free
Prova la ridondanza, senza carta.
- 2 numeri (ridondanza attiva)
- 250 messaggi/mese
- 1 progetto
- 100 MB di media
- 15 giorni di conservazione
- Failover · SDK · webhook
Pro
Tutto illimitato. Per la produzione.
- 2 numeri (ridondanza)
- Messaggi ILLIMITATI
- 1 progetto
- 1 GB di media
- 30 giorni di conservazione
- Uptime + avvisi · priorità
Sei cresciuto? Aggiungi al volo — addebito proporzionale
Gli add-on sono una frazione dell’abbonamento Pro. Aggiunto a metà mese? Paghi solo il proporzionale fino alla fattura successiva.
Componi il tuo piano
Regola le risorse e guarda il totale — proprio come al momento dell’acquisto.
💳 Salva la carta e attiva il rinnovo automatico — accesso senza interruzioni, zero pensieri.
Prezzi in BRL (Brasile). Americhe in USD · altre regioni in EUR — definiti dalla tua regione.
Per cosa la gente usa bZapper
OTP / 2FA
Codici di verifica con testo variato e consegna tracciata.
Notifiche transazionali
Ordini, addebiti, promemoria — direttamente dal tuo backend.
Assistenza centralizzata
Più numeri, una sola inbox, N operatori.
Bot nei gruppi
Monitora menzioni e allegati, rispondi nel contesto giusto.
Automazioni e no-code
Integra con n8n, Make, Zapier via webhook e HTTP.
Avvisi e promemoria
Conferme, promemoria di appuntamenti e avvisi operativi dal tuo sistema.
Tutto ciò che vuoi sapere
È l’API ufficiale di WhatsApp?
Oggi bZapper opera con il protocollo multi-dispositivo, con il numero collegato dal pannello. Stiamo adottando la <strong>Cloud API ufficiale di Meta</strong> come binario principale — quando sarà disponibile, scegli da quale binario invia ogni progetto, senza cambiare integrazione.
Come garantite la consegna?
Ogni numero ha limiti di volume propri, controllo del ritmo in invio e monitoraggio continuo della salute. Quando uno cade, gli altri subentrano e ricevi un avviso in tempo reale — e la conversazione resta unificata per contatto.
Quanto costa?
Due piani semplici. <strong>Free</strong> (gratis): 2 numeri con ridondanza, 250 messaggi/mese, 1 progetto, 100 MB e 15 giorni di conservazione — per sentire la rotazione senza carta. <strong>Pro</strong> (R$ 79,90/mese): 2 numeri, <strong>messaggi illimitati</strong>, 1 progetto, 1 GB e 30 giorni di conservazione. Ti serve di più? Gli add-on sono una frazione del canone — numero extra, progetto extra, +GB di media, +conservazione — e aggiungendoli a metà mese paghi solo il proporzionale fino alla fattura successiva. In BRL in Brasile; Americhe in USD, altre regioni in EUR. Consigliamo di salvare la carta e attivare il rinnovo automatico: accesso senza interruzioni.
In quanto tempo integro?
Minuti. Crea l’account, genera una API key e usa uno degli SDK (Node, Python, PHP, Java, Go) o un POST puro. C’è il playground e documentazione completa.
Avete SDK e webhook?
Sì — SDK generati da OpenAPI in 5 linguaggi, webhook firmati con HMAC, retry/dedup e un relay locale stile `stripe listen` per testare in localhost.
E la privacy dei dati?
I media delle conversazioni vanno in un bucket privato con URL pre-firmato; il codice OTP non viene mai persistito; i segreti sono cifrati. Retention configurabile per account.
Inizia a inviare su WhatsApp in pochi minuti
Crea il tuo account gratis, genera una API key e fai il primo invio oggi. Senza carta, senza burocrazia.