Vai al contenuto
WbizTool

API v2 (beta)

Numeri

Un numero è un numero WhatsApp o un account Telegram collegato al tuo spazio di lavoro. Il suo id è il from con cui invii i messaggi. Con l'API v2 puoi elencarli, vedere se ciascuno è collegato e collegare un numero WhatsApp dalla tua app, con codice QR o codice di abbinamento.

OperazioneEndpointScope
Elencare i numeriGET /api/v2/numbersnumbers
Ottenere un numeroGET /api/v2/numbers/{id}numbers
Collegare un numero WhatsAppPOST /api/v2/numbersnumbers

Una chiave limitata ad alcuni numeri vede e ricollega solo quelli, e non può aggiungere un numero.

Elencare i numeri#

GEThttps://wbiztool.com/api/v2/numbers

Tutti i numeri dello spazio di lavoro, dal più vecchio, in un'unica lista data (senza pagine).

curl https://wbiztool.com/api/v2/numbers \
  -H "Authorization: Bearer $WBIZTOOL_API_KEY"
{
  "data": [
    {
      "id": 101,
      "phone": "919800000000",
      "label": "Shop",
      "platform": "whatsapp",
      "status": "connected",
      "login_method": "qr",
      "connect": null
    },
    {
      "id": 102,
      "phone": null,
      "label": "",
      "platform": "whatsapp",
      "status": "disconnected",
      "login_method": "qr",
      "connect": null
    }
  ]
}

Nella lista connect è sempre null. Per seguire un collegamento, ottieni il numero.

Ottenere un numero#

GEThttps://wbiztool.com/api/v2/numbers/{id}

Un singolo numero. Mentre è in collegamento, connect contiene il codice QR da scansionare o il codice di abbinamento da digitare.

curl https://wbiztool.com/api/v2/numbers/102 \
  -H "Authorization: Bearer $WBIZTOOL_API_KEY"
{
  "id": 102,
  "phone": null,
  "label": "",
  "platform": "whatsapp",
  "status": "connecting",
  "login_method": "qr",
  "connect": {
    "qr_code_url": "https://…/qr_codes/…png?X-Amz-Signature=…",
    "pairing_code": null,
    "pairing_code_expires_at": null,
    "linking": false,
    "requested_at": "2026-10-18T11:02:15.402Z"
  }
}

Un numero che non esiste, o che la chiave non può usare, risponde 404 number_not_found.

L'oggetto Number#

CampoTipoDescrizione
idintegerL'id del numero: il from di un messaggio o di un promemoria.
phonestring or nullLe sue cifre con il prefisso internazionale, senza +, ad esempio 919800000000. null per un nuovo numero collegato con codice QR finché il codice QR non viene scansionato.
labelstringIl suo nome nella dashboard; "" se non ne ha uno.
platformstringwhatsapp o telegram.
statusstringconnected, connecting (un collegamento è stato richiesto negli ultimi 10 minuti ed è ancora in corso) o disconnected.
login_methodstringCome si collega: qr o phone_code (un codice di abbinamento).
connectobject or nullMentre status è connecting, e solo da Ottenere un numero; altrimenti null.

connect contiene:

CampoTipoDescrizione
qr_code_urlstring or nullUn link all'immagine del codice QR da scansionare. Ogni chiamata dà un nuovo link, valido per 10 minuti; null finché il server non ha il codice QR.
pairing_codestring or nullPer phone_code: il codice da digitare sul telefono. null finché non è pronto.
pairing_code_expires_atstring or nullQuando il codice di abbinamento smette di funzionare.
linkingbooleantrue dopo che il codice QR è stato scansionato o il codice accettato, mentre WhatsApp completa il collegamento.
requested_atstring or nullQuando è stato richiesto il collegamento.

I messaggi inviati con un numero disconnected come from vengono comunque accettati: restano in attesa e partono quando il numero è di nuovo collegato. Gli eventi webhook per i numeri arriveranno più avanti; fino ad allora, interroga GET /numbers per accorgerti di un numero disconnesso.

Collegare un numero WhatsApp#

POSThttps://wbiztool.com/api/v2/numbers

Corpo: JSON (application/json)

Chiede a un server WbizTool di aprire WhatsApp per un numero, così puoi collegarlo dalla tua app o dal tuo sito, come faresti nella pagina Numeri WhatsApp. La risposta è 202 con il Number, con stato connecting. Poi interrogalo finché non è connected.

Richiede un piano che includa l'API del codice QR; altrimenti risponde 403 plan_required. Gli account Telegram si collegano nella dashboard, non qui.

Body

login_methodstringfacoltativo

qr (predefinito): scansiona un codice QR. phone_code: digita invece un codice di abbinamento sul telefono, comodo quando il telefono è l'unico schermo.

phonestringObbligatorio per phone_code

Il numero WhatsApp da collegare, in formato internazionale con +, ad esempio +919876543210. Non si usa con qr: il numero viene letto da WhatsApp dopo la scansione.

number_idintegerfacoltativo

Ricollega questo numero esistente invece di aggiungerne uno nuovo, ad esempio dopo che è stato disconnesso.

# By QR code
curl -X POST https://wbiztool.com/api/v2/numbers \
  -H "Authorization: Bearer $WBIZTOOL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"login_method": "qr"}'

# By pairing code, reconnecting number 101
curl -X POST https://wbiztool.com/api/v2/numbers \
  -H "Authorization: Bearer $WBIZTOOL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"login_method": "phone_code", "phone": "+919876543210", "number_id": 101}'

Il flusso di collegamento#

  1. Richiedi il collegamento

    POST /numbers con login_method (e phone per un codice di abbinamento). Conserva l'id della risposta. Invia un Idempotency-Key, così un nuovo tentativo non fa una seconda richiesta.

  2. Interroga il numero ogni pochi secondi

    GET /numbers/{id} ogni 2-5 secondi finché status è connecting. Il codice QR o il codice di abbinamento compare in connect in pochi istanti; fino ad allora i suoi campi sono null.

  3. Mostra il codice QR o il codice di abbinamento

    QR: mostra l'immagine di connect.qr_code_url; sul telefono apri WhatsApp → Dispositivi collegati → Collega un dispositivo e scansionala. Ogni link funziona per 10 minuti e a ogni interrogazione ne arriva uno nuovo, quindi mostra ogni volta il più recente. Codice di abbinamento: sul telefono apri WhatsApp → Dispositivi collegati → Collega un dispositivo → Collega con il numero di telefono e digita il connect.pairing_code di 8 caratteri prima di connect.pairing_code_expires_at (circa 3 minuti).

  4. Attendi lo stato connected

    Dopo la scansione o il codice, connect.linking è true mentre WhatsApp completa il collegamento. Poi status diventa connected e phone mostra il numero. Smetti di interrogare.

Se per 10 minuti non succede nulla, il tentativo termina e status torna a disconnected. Richiedilo di nuovo con POST /numbers e il suo number_id.

Mentre un numero è in collegamento, un'altra richiesta per quel numero risponde 409 connect_in_progress con il suo number_id: continua invece a interrogare quello.

Errori durante il collegamento#

HTTPCodiceQuando
400validation_failedlogin_method non è qr né phone_code, oppure phone_code senza phone
403plan_requiredIl piano non include l'API del codice QR
403number_limit_reachedIl piano non ha posto per un altro numero
403number_not_allowedLa chiave è limitata ad alcuni numeri e number_id non è tra questi (o manca)
409already_connectedQuel numero è già collegato
409connect_in_progressQuel numero è in collegamento proprio ora; number_id dice quale
422invalid_phonephone non è un numero valido in formato internazionale con +
422number_not_foundnumber_id non è un numero di questo spazio di lavoro

Pagine correlate#