La chiamata delle API è molto semplice, occorre effettuare una chiamata POST
all’URL della API e passare nel BODY una struttura DATA in cui
sono stati caricati i parametri necessari. Ci sono diverse API a seconda dello scopo, consultare la tabella.
Scope: Invio messaggio testuale e/o multimediale API Call:https://api.wazone.app/send Body structure:
$data = [
‘receiver’ => NUMERO_DEL_DESTINATARIO,
‘msgtext’ => TESTO DEL MESSAGGIO DA INVIARE,
‘sender’ => DeviceID,
’token’ => TokenID,
‘mediaurl’ => $mediaurl, // Url del file da allegare
// se non ci sono allegati togliere il campo o lasciare vuoto
];
Return:
un struttura json con la variabile success impostata a true/false
Scope: Controlla sei il numero è un numero attivo in WA API Call:https://api.wazone.app/isonwa Body structure:
$data = [
‘receiver’ => NUMERO_DA_CONTROLLARE,
‘sender’ => DeviceID,
’token’ => TokenID,
];
Return:
un struttura json con la variabile success impostata a true/false
Il passaggio dei parametri per la chiamata delle API richiedono:
DeviceID (numero di telefono del dispositivo)
TokenID (token del dispositivo) Il token del dispositivo si trova nel pannello della app WAZone nelle proprietà del dispositivo.
Attenzione: se le API non funzionano... controllare:
che il numero sia nel formato 393123456789 (preceduto dal prefisso internazionale, 39 per l’italia o 41 per la Svizzera).
se l’abbonamento è ATTIVO e non SCADUTO!!
se il numero del dispositivo è associato al QR-CODE nella app del vostro cellulare.
se avete esaurito i messaggi/mese del vostro profilo… fate un upgrade!!
se il numero è un numero WA attivo (via API o nel menù “Messaggi in uscita”).
se i server di WA sono DOWN (può succedere!!).
Nel capitolo successivo potete trovare diversi esempi in vari linguaggi di programmazione.
Forniamo un servizio di analisi e integrazione del vostro sistema informatico, acquistabile sul sito wazone, in cui viene studiata l’integrazione al vostro ambiente, sito internet, software windows, portale web, etc…
1 - Esempi API
Esempi di chiamate API in diversi linguaggi
Qui potete trovare diversi esempi di utilizzo delle API con diversi linguaggi di programmazione:
PHP
NodeJS
Python
Bash
PowerShell
Batch
Se vi occorre uno studio di integrazione di WAZone con un vostro ambiente, sul nostro sito forniamo un servizio di analisi e
integrazione del vostro sistema informatico, acquistabile sul sito wazone,
in cui viene studiata l’integrazione al vostro ambiente, sito internet, software windows, portale web, etc.
1.1 - PHP
Esempio di invio messaggio con PHP.
Semplice esempio di invio messaggio con PHP usando la libreria univerale curl
tuttavia, potete trovare su GitHub
la nostra libreria PHP per gestire l’invio di messaggi testuali o documenti multimediali come
PDF in modo molto semplice.
Qui è disponibile la documentazione completa.
<?php##
## Esempio di invio messaggio WA in PHP
##
## @Una realizzazione (C) 2023/2024 Verbasoft
## @Sviluppato da Daniele Piselli <daniele@verbasoft.net>
##
## wa_device e wa_token sono il numero di telefono e il token del vostro cellulare
## si trovano nel pannello di gestione del servizio nelle proprietà del dispositivo
## registrarsi su https://wazone.app per avere un account di prova per 30gg
$wa_device='IL_TUO_NUMERO';$wa_token='IL_TUO_TOKEN';## numero di telefono del destinatario, ATTENZIONE:
## i numeri di telefono devono essere nel formato 393123456789
## (preceduti dal prefisso internazionale, '39' x l'italia)
$wa_dest='DESTINATARIO';## Messaggio
$wa_text='Prova invio da PHP!';## Url api e allegato
$nodeurl='https://api.wazone.app/send';$mediaurl='https://github.com/verbasoft/WAZone/blob/main/docs/wazone.pdf';## Parametri in entrata alla API
$data=['receiver'=>$wa_dest,// numero del destinatario
'msgtext'=>$wa_text,// messaggio da inviare
'sender'=>$wa_device,// numero del mittente
'token'=>$wa_device,// token del mittente
'mediaurl'=>$mediaurl,// url dell'allegato, togliere se non si vuole allegati
];$ch=curl_init();curl_setopt($ch,CURLOPT_HTTPHEADER,['Content-Type: application/x-www-form-urlencoded']);curl_setopt($ch,CURLOPT_CUSTOMREQUEST,'POST');curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($data));curl_setopt($ch,CURLOPT_URL,$nodeurl);curl_setopt($ch,CURLOPT_TIMEOUT,30);curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);$response=curl_exec($ch);curl_close($ch);echo$response;?>
1.2 - NodeJS
Esempio di invio messaggio con NodeJS.
Nell’esempio è stato usato il modulo axios, installarlo con npm install axios
//
// Esempio di invio messaggio WA in NodeJS
//
// @Una realizzazione (C) 2023/2024 Verbasoft
// @Sviluppato da Daniele Piselli <daniele@verbasoft.net>
//
// Modulo per invio API usa axios
// se non installato usare: npm install axios
constaxios=require('axios');// wa_device e wa_token sono il numero di telefono e il token del vostro cellulare
// si trovano nel pannello di gestione del servizio nelle proprietà del dispositivo
// registrarsi su https://wazone.app per avere un account di prova per 30gg
wa_device='IL_TUO_NUMERO';wa_token='IL_TUO_TOKEN';// numero di telefono del destinatario, ATTENZIONE:
// i numeri di telefono devono essere nel formato 393123456789
// (preceduti dal prefisso internazionale, '39' x l'italia)
wa_dest='DESTINATARIO';// Messaggio
wa_text='Prova invio da NodeJS!';// chiamata API POST
axios.post("https://api.wazone.app/send",{receiver:wa_dest,msgtext:wa_text,sender:wa_device,token:wa_token}).then((response)=>console.log(response.data)).catch((err)=>console.log(err));
1.3 - Python
Esempio di invio messaggio con Python.
#### Esempio di invio messaggio WA in Python#### @Una realizzazione (C) 2023/2024 Verbasoft## @Sviluppato da Daniele Piselli <daniele@verbasoft.net>###### installare il modulo 'requests' digitando #>pip3 install requests#### wa_device e wa_token sono il numero di telefono e il token del vostro cellulare## si trovano nel pannello di gestione del servizio nelle proprietà del dispositivo## registrarsi su https://wazone.app per avere un account di prova per 30ggwa_device='IL_TUO_NUMERO'wa_token='IL_TUO_TOKEN'## numero di telefono del destinatario, ATTENZIONE:## i numeri di telefono devono essere nel formato 393123456789## (preceduti dal prefisso internazionale, '39' x l'italia)wa_dest='DESTINATARIO'## Messaggiowa_text='Invio messaggio da Python!'# importing the requests libraryimportrequests## preparazione parametri POSTdata={'receiver':wa_dest,'msgtext':wa_text,'sender':wa_device,'token':wa_token}# chiamata RestAPI POSTret=requests.post(url='https://api.wazone.app/send',data=data)# extracting response text#val = ret.text#print("%s" %val)
1.4 - Bash
Esempio di invio messaggio con Bash.
Ecco un esempio usando la Shell di Linux, facendo uso della libreria curl.
La libreria curl è disponibile pre-compliata per molti ambienti..
#!/bin/bash
#### Esempio di invio messaggio WA in Batch#### @Una realizzazione (C) 2023/2024 Verbasoft## @Sviluppato da Daniele Piselli <daniele@verbasoft.net>#### wa_device e wa_token sono il numero di telefono e il token del vostro cellulare## si trovano nel pannello di gestione del servizio nelle proprietà del dispositivo## registrarsi su https://wazone.app per avere un account di prova per 30ggwa_device='IL_TUO_NUMERO'wa_token='IL_TUO_TOKEN'## numero di telefono del destinatario, ATTENZIONE: ## i numeri di telefono devono essere nel formato 393123456789 ## (preceduti dal prefisso internazionale, '39' x l'italia)wa_dest='DESTINATARIO'## Messaggiowa_text='Prova invio da Bash Linux!'# Set the URL to send the request tourl='https://api.wazone.app/send'curl -H "Content-type: application/x-www-form-urlencoded"\
-d "receiver=$wa_dest"\
-d "msgtext=$wa_text"\
-d "sender=$wa_device"\
-d "token=$wa_token"\
-X POST \
https://api.wazone.app/send
1.5 - PowerShell
Esempio di invio messaggio con PowerShell.
Esempio che fa uso della PowerShell, la shell open software di Microsoft.
#### Esempio di invio messaggio WA in PowerShell#### @Una realizzazione (C) 2023/2024 Verbasoft## @Sviluppato da Daniele Piselli <daniele@verbasoft.net>#### wa_device e wa_token sono il numero di telefono e il token del vostro cellulare## si trovano nel pannello di gestione del servizio nelle proprietà del dispositivo## registrarsi su https://wazone.app per avere un account di prova per 30gg$wa_device='IL_TUO_NUMERO';$wa_token='IL_TUO_TOKEN';## numero di telefono del destinatario, ATTENZIONE: ## i numeri di telefono devono essere nel formato 393123456789 ## (preceduti dal prefisso internazionale, '39' x l'italia)$wa_dest='DESTINATARIO';## Messaggio$wa_text='Invio da PowerShell Windows!';## chiamata RestAPI POST$postParams=@{receiver=$wa_dest;msgtext=$wa_text;sender=$wa_device;token=$wa_token}$Response=Invoke-WebRequest-Urihttps://api.wazone.app/send-MethodPOST-Body$postParamsif($Response.Content-like"*true*"){Write-Output"OK";}else{Write-Output"ERR";}
1.6 - Batch
Esempio di invio messaggio con DOS Batch.
Puo’ essere considerato anacronistico usare ancora il batch ma posso assicurare che in ambito industriale
ci sono ancora vecchi sistemi che girano in DOS o WinXP per tanto se volete mandare degli allarmi od eventi
ad un dispositivio mobile con poche righe potete effettuare la chiamata API da questo sistema.
La libreria curl è disponibile pre-compliata per molti ambienti.
@echo off
:::: Esempio di invio messaggio WA in Batch:::: @Una realizzazione (C) 2023/2024 Verbasoft:: @Sviluppato da Daniele Piselli <daniele@verbasoft.net>:::: wa_device e wa_token sono il numero di telefono e il token del vostro cellulare:: si trovano nel pannello di gestione del servizio nelle proprietà del dispositivo:: registrarsi su https://wazone.app per avere un account di prova per 30ggsetwa_device=IL_TUO_NUMERO
setwa_token=IL_TUO_TOKEN
:: numero di telefono del destinatario, ATTENZIONE: :: i numeri di telefono devono essere nel formato 393123456789 :: (preceduti dal prefisso internazionale, '39' x l'italia)setwa_dest=DESTINATARIO
:: testo da inviare e destinatoriosetwa_text=Invio da BATCH DOS
curl -s -H "Content-type: application/x-www-form-urlencoded" -d "receiver=%wa_dest%" -d "msgtext=%wa_text%" -d "sender=%wa_device%" -d "token=%wa_token%" -X POST https://api.wazone.app/send
2 - Libreria PHP
Documentazione della libreria PHP
La libreria in PHP è stata realizzata per semplificare l’uso delle API nello sviluppo di progetti con WAZone,
la classe è scaricabile dal sito GitHub oppure è
possibile integrarla con Composer, in questo modo sarà sempre aggiornata nel vostro progetto.
L’uso della libreria è molto semplice, accedere a wazone.app e recuperare il DEVICE_ID e il TOKEN_ID del vostro dispositivo mittente, quindi importate nel vostro sorgente la classe con il comando include e chiamate il membro della funzione che vi occorre.
Nome
Descrizione
Parametri
Valori
WAZone()
Costruttore della classe
DEVICE_ID:text TOKEN_ID:text
obbligatorio obbligatorio
SendText()
Funzione: Invia messaggio
NUMBER:text MESSAGE:text
obbligatorio obbligatorio
SendMedia()
Funzione: Invia media e testo
NUMBER:text MEDIAURL:text MESSAGE:text
obbligatorio obbligatorio facoltativo
CheckNumber()
Funzione: Controlla numero
NUMBER:text
obbligatorio
Le funzioni della classe ritornano una variabile “success” che indica lo stato della operazione
se è andata a buon fine.
Qui sotto trovate dei semplici esempi di uso del servizio per l’invio dei messaggi… copiate il
Costruttore e una delle Funzioni (SendText, SendMedia, CheckNumber) in base a quello che vi serve,
sostituite i valori nelle variabili e in un attimo avrete integrato l’invio di messaggi su WA
nella vostra applicazione o servizio.
// includere la libreria (con composer usare l'autoloading)
include("class.wazone.php");// wa_device e wa_token sono il numero di telefono e il token del cellulare
// si trovano nel pannello di gestione WAZone nelle proprietà del dispositivo
// registrarsi su https://wazone.app per avere un account di prova per 30gg
$wa_device='IL_TUO_NUMERO';$wa_token='IL_TUO_TOKEN';// numero di telefono del destinatario, ATTENZIONE:
// i numeri di telefono devono essere nel formato 393123456789
// (preceduti dal prefisso internazionale, '39' x l'italia)
$wa_number='DESTINATARIO';// istanziare la classe WAZone
$WA=newWAZone($wa_device,$wa_token);
// una volta caricata e inizializzata la libreria, chiamare la funzione...
// invio messaggio testuale
$API=$WA->SendText($wa_number,"Prova invio messaggio!");if(!$API->success){print"Errore invio messaggio \n";}else{print"Messaggio inviato a $wa_number!!\n";}// il messaggio verrà ricevuto sul cellulare del DESTINATARIO
// una volta caricata e inizializzata la libreria, chiamare la funzione...
// url del file multimediale da inviare al destinatario
$urlmedia="https://verbasoft.github.io/WAZone/docs/wazone.pdf";// invia messaggio multimediale
$API=$WA->SendMedia($wa_number,$urlmedia,"prova invio documento pdf...");if(!$API->success){print"Errore invio messaggio!! \n";}else{print"Messaggio inviato a $wa_number!!\n";}// il messaggio testuale e l'allegato verrà ricevuto sul cellulare del DESTINATARIO
// una volta caricata e inizializzata la libreria, chiamare la funzione...
// controllo se il numero è presente in WA
$API=$WA->CheckNumber($wa_number);if(!$API->success){print"Numero $wa_number non presente su WA! \n";}else{print"Numero $wa_number è presente su WA!!\n";}// con questa funzione saprete se il numero è presente in WA
Forniamo un servizio di analisi e integrazione del vostro sistema informatico, acquistabile sul sito wazone, in cui viene studiata l’integrazione al vostro ambiente, sito internet, software windows, portale web, etc…
3 - Composer
Libreria PHP disponibile su Packagist (Composer).
Oltre che su GitHub, sul sito Packagist (Composer) è possibile trovare la libreria di integrazione API scrittta in PHP, se la importate nei vostri progetti avrete la classe con l’elenco della chiamate API sempre aggiornata e molto semplice da usare.
Aggiungere nel vostro progetto PHP la seguente linea di comando per importare la classe WAZone nel file composer.json.
composerrequireverbasoft/wazonedev-main
Con questo comando invece potete tenere sempre aggiornata la libreria con le nuove API che usciranno per integrare meglio il vostro progetto:
composerupdateverbasoft/wazone
Nota: i comandi indicati sopra sono per un ambiente Linux, in Windows o Hosting Plesk o Cpanel l’uso potrebbe essere leggermente diverso.