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

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)
})(); 

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)
  • a : il tuo numero per il test con formato internazionale es. +14155552671 o chatID per contatti o gruppi es. [email protected] o [email protected]
  • 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)
  • 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)
  • 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)
  • 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)
  • 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)
  • 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)

collegamento: collegamento HTTP o HTTPS

Invia contatto

var to="put_your_mobile_number_here"; 
var contact="[email protected]"; 
const response = await api.sendContactMessage(to,contact);
console.log(response)
  • contatto: esempio di matrice Contact ID o Contact ID:

Esempio

[email protected]

o

[email protected],[email protected],[email protected]

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)
  • 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)
  • 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)
  • 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. [email protected] .
  • a : filtrare i messaggi in base al numero del destinatario, ad esempio [email protected] o [email protected] .
  • 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)

Ottieni lo stato dell’istanza

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

Ottieni immagine QR di istanza

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

Ottieni codice QR di istanza

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)

Ottieni le impostazioni dell’istanza

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)

Riavvio dell’istanza

Riavvia la tua istanza.

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)
  • 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)

ricevi l’ultimo messaggio dalla conversazione in chat

valore massimo: 1000.

var chatId="[email protected]";
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)

Ottieni informazioni di contatto

chatId : chatID per il contatto es. [email protected]

var chatId="[email protected]"; 
const response = await api.getContact(chatId);
console.log(response)

Ottiene tutti i contatti bloccati

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

bloccare il contatto da WhatsApp

chatId : chatID per il contatto es. [email protected]

var chatId="[email protected]"; 
const response = await api.blockContact(chatId);
console.log(response)

Sblocca il contatto da WhatsApp

chatId : chatID per il contatto es. [email protected]

var chatId="[email protected]"; 
const response = await api.unblockContact(chatId);
console.log(response)

Controlla se il numero è un utente WhatsApp

chatId : chatID per il contatto es. [email protected]

var chatId="[email protected]"; 
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