WhatsApp API Nodejs-SDK

introduzione

In questo tutorial impareremo come utilizzare Ultramsg Nodejs-WhatsApp-sdk per utilizzare WhatsAppAPI con Nodejs

Installazione di WhatsApp API Nodejs-sdk

npm i ultramsg-whatsapp-api
npm i ultramsg-whatsapp-api

Esempio di utilizzo

const ultramsg = require('ultramsg-whatsapp-api'); const instance_id= "instance1150" // Ultramsg.com instance id const ultramsg_token= "tof7lsdJasdloaa57e" // Ultramsg.com token const api = new ultramsg(instance_id,ultramsg_token); (async function () { var to = "put_your_mobile_number_here" var body = "Hello world" const response = await api.sendChatMessage(to,body); console.log(response) })();
const ultramsg = require('ultramsg-whatsapp-api'); const instance_id= "instance1150" // Ultramsg.com instance id const ultramsg_token= "tof7lsdJasdloaa57e" // Ultramsg.com token const api = new ultramsg(instance_id,ultramsg_token); (async function () { var to = "put_your_mobile_number_here" var body = "Hello world" const response = await api.sendChatMessage(to,body); console.log(response) })();

NOTA: devi sostituire instance_id e token con il tuo nell’account ultramsg.com se non hai un account creane uno da qui .

Invia messaggio

var to="put_your_mobile_number_here"; var body="Hello world"; var priority=10; var referenceId="SDK"; const response = await api.sendChatMessage(to,body,priority,referenceId); console.log(response)
var to="put_your_mobile_number_here"; var body="Hello world"; var priority=10; var referenceId="SDK"; const response = await api.sendChatMessage(to,body,priority,referenceId); console.log(response)
  • a : il tuo numero per il test con formato internazionale es. +14155552671 o chatID per contatti o gruppi es. 14155552671@c.us o 14155552671-441234567890@g.us
  • corpo : testo del messaggio, stringa UTF-8 o UTF-16 con emoji.
  • priorità: questo parametro è facoltativo,

Puoi usarlo per creare una coda professionale per i messaggi , i messaggi con un valore di priorità inferiore vengono inviati per primi.

esempio di utilizzo:

priorità = 0: per priorità alta come i messaggi OTP.

priorità = 5: utilizzato con messaggi generali.

priorità =10: offerte promozionali non urgenti e notifiche ai tuoi clienti.

Valore predefinito: 10

Invia immagine

var to="put_your_mobile_number_here"; var caption="image Caption"; var image="https://file-example.s3-accelerate.amazonaws.com/images/test.jpg"; var priority=10; var referenceId="SDK" var nocache=false; const response = await api.sendImageMessage(to,caption,image,priority,referenceId,nocache); console.log(response)
var to="put_your_mobile_number_here"; var caption="image Caption"; var image="https://file-example.s3-accelerate.amazonaws.com/images/test.jpg"; var priority=10; var referenceId="SDK" var nocache=false; const response = await api.sendImageMessage(to,caption,image,priority,referenceId,nocache); console.log(response)
  • didascalia : didascalia dell’immagine, stringa UTF-8 o UTF-16 con emoji.
  • image : immagine del collegamento HTTP o file con codifica base64

Estensioni supportate (jpg, jpeg, gif, png, svg, webp, bmp).

Dimensione massima del file: 16 MB.

Lunghezza massima Base64 : 2.000.000

  • nocache : predefinito falso

false: utilizza un file precedentemente caricato invece di caricarlo con ogni richiesta

true: caricandolo ogni richiesta

Invia documento

var to="put_your_mobile_number_here"; var filename="cv.pdf"; var document="https://file-example.s3-accelerate.amazonaws.com/documents/cv.pdf"; const response = await api.sendDocumentMessage(to,filename,document); console.log(response)
var to="put_your_mobile_number_here"; var filename="cv.pdf"; var document="https://file-example.s3-accelerate.amazonaws.com/documents/cv.pdf"; const response = await api.sendDocumentMessage(to,filename,document); console.log(response)
  • nomefile: nome del file, ad esempio 1.jpg o Hello.pdf
  • documento: file di collegamento HTTP o file con codifica base64

Supporta la maggior parte delle estensioni come ( zip , xlsx , csv , txt , pptx , docx …. etc ) .

Dimensione massima del file: 100 MB.

Lunghezza massima Base64: 2.000.000

Invia audio

var to="put_your_mobile_number_here"; var audio="https://file-example.s3-accelerate.amazonaws.com/audio/2.mp3"; const response = await api.sendAudioMessage(to,audio); console.log(response)
var to="put_your_mobile_number_here"; var audio="https://file-example.s3-accelerate.amazonaws.com/audio/2.mp3"; const response = await api.sendAudioMessage(to,audio); console.log(response)
  • audio : audio del collegamento HTTP o audio con codifica base64

Estensioni supportate (mp3, aac, ogg).

Dimensione massima del file: 16 MB.

Lunghezza massima Base64: 2.000.000

Invia voce

var to="put_your_mobile_number_here"; var audio="https://file-example.s3-accelerate.amazonaws.com/voice/oog_example.ogg"; const response = await api.sendVoiceMessage(to,audio); console.log(response)
var to="put_your_mobile_number_here"; var audio="https://file-example.s3-accelerate.amazonaws.com/voice/oog_example.ogg"; const response = await api.sendVoiceMessage(to,audio); console.log(response)
  • audio : file ogg audio del collegamento HTTP con opus codec o file ogg base64 nel codec opus

Dimensione massima del file: 16 MB.

Lunghezza massima Base64: 2.000.000

Invia video

var to="put_your_mobile_number_here"; var caption="video Caption"; var video="https://file-example.s3-accelerate.amazonaws.com/video/test.mp4"; const response = await api.sendVideoMessage(to,caption,video); console.log(response)
var to="put_your_mobile_number_here"; var caption="video Caption"; var video="https://file-example.s3-accelerate.amazonaws.com/video/test.mp4"; const response = await api.sendVideoMessage(to,caption,video); console.log(response)
  • video : video con collegamento HTTP o video con codifica base64

Estensioni supportate (mp4, 3gp, mov).

Dimensione massima del file: 16 MB.

Lunghezza massima Base64: 2.000.000

Invia il link

var to="put_your_mobile_number_here"; var link="https://ultramsg.com"; const response = await api.sendLinkMessage(to,link); console.log(response)
var to="put_your_mobile_number_here"; var link="https://ultramsg.com"; const response = await api.sendLinkMessage(to,link); console.log(response)

collegamento: collegamento HTTP o HTTPS

Invia contatto

var to="put_your_mobile_number_here"; var contact="14000000001@c.us"; const response = await api.sendContactMessage(to,contact); console.log(response)
var to="put_your_mobile_number_here"; var contact="14000000001@c.us"; const response = await api.sendContactMessage(to,contact); console.log(response)
  • contatto: esempio di matrice Contact ID o Contact ID:

Esempio

14000000001@c.us

o

14000000001@c.us,14000000002@c.us,14000000003@c.us

Lunghezza massima: 300 caratteri, quasi 15 contatti

Invia posizione

var to="put_your_mobile_number_here"; var address="ABC company \n Sixth floor , office 38"; var lat="25.197197"; var lng="55.2721877"; const response = await api.sendLocationMessage(to,address,lat,lng); console.log(response)
var to="put_your_mobile_number_here"; var address="ABC company \n Sixth floor , office 38"; var lat="25.197197"; var lng="55.2721877"; const response = await api.sendLocationMessage(to,address,lat,lng); console.log(response)
  • indirizzo : Testo sotto la posizione.

Supporta due linee. Per utilizzare due righe, utilizzare il simbolo \n.

Lunghezza massima: 300 caratteri.

  • lat : latitudine
  • lng : longitudine

Invia Vcard

var to="put_your_mobile_number_here"; var vcard=`BEGIN:VCARD VERSION:3.0 N:lastname;firstname FN:firstname lastname TEL;TYPE=CELL;waid=14000000001:14000000002 NICKNAME:nickname BDAY:01.01.1987 X-GENDER:M NOTE:note ADR;TYPE=home ADR;TYPE=work END:VCARD`; const response = await api.sendVcardMessage(to,vcard); console.log(response)
var to="put_your_mobile_number_here"; var vcard=`BEGIN:VCARD VERSION:3.0 N:lastname;firstname FN:firstname lastname TEL;TYPE=CELL;waid=14000000001:14000000002 NICKNAME:nickname BDAY:01.01.1987 X-GENDER:M NOTE:note ADR;TYPE=home ADR;TYPE=work END:VCARD`; const response = await api.sendVcardMessage(to,vcard); console.log(response)
  • vcard : valore di testo vcard 3.0

Lunghezza massima: 4096 caratteri

Ricevi messaggi

var page=1; var limit=100; var status="all"; var sort="asc"; var id=""; var referenceId=""; var from=""; var to=""; var ack=""; const response = await api.getMessages(page,limit,status,sort,id,referenceId,from,to,ack); console.log(response)
var page=1; var limit=100; var status="all"; var sort="asc"; var id=""; var referenceId=""; var from=""; var to=""; var ack=""; const response = await api.getMessages(page,limit,status,sort,id,referenceId,from,to,ack); console.log(response)
  • pagina : numero di pagina di impaginazione
  • limite : numero di messaggi per richiesta. valore massimo: 100.
  • stato : stato dei messaggi [inviati, in coda, non inviati]
    • inviato: riceve i messaggi inviati.
    • coda: riceve i messaggi dalla coda.
    • unsent: riceve i messaggi non inviati.
    • non valido: riceve messaggi non validi.
    • all: riceve tutti i messaggi.
  • ordina :
    • asc: ordina i messaggi per ID dal più piccolo al più grande.
    • desc: ordina i messaggi per ID dal più grande al più piccolo.
  • id : filtra i messaggi per ID messaggio.
  • referenceId : filtra i messaggi in base al tuo ID di riferimento personalizzato.
  • da : filtra i messaggi per numero di mittente WhatsApp es. 14155552671@c.us .
  • a : filtrare i messaggi in base al numero del destinatario, ad esempio 14155552671@c.us o 14155552671-441234567890@g.us .
  • ack : filtra i messaggi in base allo stato di ack del messaggio [in attesa, server, dispositivo, letto, riprodotto].

Ottieni statistiche sui messaggi

const response = await api.getMessageStatistics(); console.log(response)
const response = await api.getMessageStatistics(); console.log(response)

Ottieni lo stato dell’istanza

const response = await api.getInstanceStatus(); console.log(response)
const response = await api.getInstanceStatus(); console.log(response)

Ottieni immagine QR di istanza

const response = await api.getInstanceQr(); console.log(response)
const response = await api.getInstanceQr(); console.log(response)

Ottieni codice QR di istanza

const response = await api.getInstanceQrCode(); console.log(response)
const response = await api.getInstanceQrCode(); console.log(response)

Ottieni informazioni sull’istanza

Ottieni informazioni sul telefono connesso: numero, nome, immagine, ecc.

const response = await api.getInstanceMe(); console.log(response)
const response = await api.getInstanceMe(); console.log(response)

Ottieni le impostazioni dell’istanza

const response = await api.getInstanceSettings(); console.log(response)
const response = await api.getInstanceSettings(); console.log(response)

sendDelay : ritardo in secondi tra l’invio del messaggio, predefinito 1 secondo

webhook_url: URL HTTP o https per la ricezione delle notifiche.

webhook_message_ack : notifiche on/off ack (messaggio consegnato e messaggio visualizzato) nei webhook.

webhook_message_received: notifiche di attivazione/disattivazione nei webhook alla ricezione del messaggio.

webhook_message_create: attivazione/disattivazione delle notifiche nei webhook quando il messaggio viene creato.

webhook_message_download_media : attivato/disattivato per ricevere documenti/file multimediali ricevuti.

Disconnessione dell’istanza

Esci da WhatsApp Web per ottenere un nuovo codice QR.

const response = await api.sendInstanceLogout(); console.log(response)
const response = await api.sendInstanceLogout(); console.log(response)

Riavvio dell’istanza

Riavvia la tua istanza.

const response = await api.sendInstanceRestart(); console.log(response)
const response = await api.sendInstanceRestart(); console.log(response)

Aggiornamento delle impostazioni dell’istanza

var sendDelay=1; var webhook_url=""; var webhook_message_received=false; var webhook_message_create=false; var webhook_message_ack=false; var webhook_message_download_media=false; const response = await api.sendInstanceSettings(sendDelay,webhook_url,webhook_message_received,webhook_message_create,webhook_message_ack,webhook_message_download_media); console.log(response)
var sendDelay=1; var webhook_url=""; var webhook_message_received=false; var webhook_message_create=false; var webhook_message_ack=false; var webhook_message_download_media=false; const response = await api.sendInstanceSettings(sendDelay,webhook_url,webhook_message_received,webhook_message_create,webhook_message_ack,webhook_message_download_media); console.log(response)
  • sendDelay : ritardo in secondi tra l’invio del messaggio.
  • webhook_url : URL HTTP o https per la ricezione delle notifiche.
  • webhook_message_received : notifiche true/false nei webhook quando il messaggio è ricevuto.
  • webhook_message_create : notifiche true/false nei webhook quando il messaggio viene creato.
  • webhook_message_ack : notifiche true/false ack (messaggio consegnato e messaggio visualizzato) nei webhook.

Ottieni l’elenco delle chat

const response = await api.getChats(); console.log(response)
const response = await api.getChats(); console.log(response)

ricevi l’ultimo messaggio dalla conversazione in chat

  • chatId : chatID per contatto o gruppo, ad esempio 14155552671@c.us o 14155552671-441234567890@g.us
  • limite : numero di messaggi per richiesta.

valore massimo: 1000.

var chatId="14155552671@c.us"; var limit=100; const response = await api.getChatsMessages(chatId,limit); console.log(response)
var chatId="14155552671@c.us"; var limit=100; const response = await api.getChatsMessages(chatId,limit); console.log(response)

Ottieni l’elenco dei contatti

const response = await api.getContacts(); console.log(response)
const response = await api.getContacts(); console.log(response)

Ottieni informazioni di contatto

chatId : chatID per il contatto es. 14155552671@c.us

var chatId="14155552671@c.us"; const response = await api.getContact(chatId); console.log(response)
var chatId="14155552671@c.us"; const response = await api.getContact(chatId); console.log(response)

Ottiene tutti i contatti bloccati

const response = await api.getBlockedContacts(); console.log(response)
const response = await api.getBlockedContacts(); console.log(response)

bloccare il contatto da WhatsApp

chatId : chatID per il contatto es. 14155552671@c.us

var chatId="14155552671@c.us"; const response = await api.blockContact(chatId); console.log(response)
var chatId="14155552671@c.us"; const response = await api.blockContact(chatId); console.log(response)

Sblocca il contatto da WhatsApp

chatId : chatID per il contatto es. 14155552671@c.us

var chatId="14155552671@c.us"; const response = await api.unblockContact(chatId); console.log(response)
var chatId="14155552671@c.us"; const response = await api.unblockContact(chatId); console.log(response)

Controlla se il numero è un utente WhatsApp

chatId : chatID per il contatto es. 14155552671@c.us

var chatId="14155552671@c.us"; const response = await api.checkContact(chatId); console.log(response)
var chatId="14155552671@c.us"; const response = await api.checkContact(chatId); console.log(response)

Ricevi messaggi WhatsApp

puoi ricevere messaggi WhatsApp usando webhook, puoi vedere questo articolo .

Infine

Puoi visitare il progetto su github

WhatsApp API Nodejs-sdk versione attuale: 1.0.1 su NPM