API do WhatsApp Nodejs-SDK

Introdução

Neste tutorial, vamos aprender como usar Ultramsg Nodejs-WhatsApp-sdk para usar WhatsAppAPI com Nodejs

Instalação do WhatsApp API Nodejs-sdk

npm i ultramsg-whatsapp-api

Exemplo de uso

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: você precisa substituir instance_id e token pelo seu na conta ultramsg.com, se você não tiver uma conta, crie uma aqui .

Enviar mensagem

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)
  • para : seu número para teste com formato internacional, por exemplo, +14155552671 ou chatID para contato ou grupo, por exemplo, [email protected] ou [email protected]
  • body : Texto da mensagem, string UTF-8 ou UTF-16 com emoji.
  • prioridade: Este parâmetro é opcional,

Você pode usá-lo para criar uma fila profissional para mensagens , As mensagens com menor valor de prioridade são enviadas primeiro.

exemplo de uso:

prioridade = 0: para alta prioridade como mensagens OTP.

prioridade = 5: usado com mensagens gerais.

prioridade =10: ofertas promocionais não urgentes e notificações para seus clientes.

Valor padrão: 10

Enviar imagem

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)
  • legenda : imagem Legenda, string UTF-8 ou UTF-16 com emoji.
  • image : imagem de link HTTP ou arquivo codificado em base64

Extensões suportadas ( jpg , jpeg, gif , png , svg , webp , bmp) .

Tamanho máximo do arquivo: 16 MB.

Comprimento máximo da Base64 : 2.000.000

  • nocache : padrão falso

false: use um arquivo carregado anteriormente em vez de carregá-lo com cada solicitação

true: fazendo upload de cada solicitação

Enviar 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)
  • nome do arquivo: nome do arquivo, por exemplo 1.jpg ou Hello.pdf
  • documento: arquivo de link HTTP ou arquivo codificado em base64

A maioria das extensões suportadas como (zip, xlsx, csv, txt, pptx, docx ….etc).

Tamanho máximo do arquivo: 100 MB.

Comprimento máximo da Base64: 2.000.000

Enviar áudio

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 : áudio de link HTTP ou áudio codificado em base64

Extensões suportadas (mp3, aac, ogg).

Tamanho máximo do arquivo: 16 MB.

Comprimento máximo da Base64: 2.000.000

Enviar voz

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 : arquivo ogg de áudio de link HTTP com codec opus ou arquivo ogg base64 no codec opus

Tamanho máximo do arquivo: 16 MB.

Comprimento máximo da Base64: 2.000.000

Enviar vídeo

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 : vídeo de link HTTP ou vídeo codificado em base64

Extensões suportadas (mp4, 3gp, mov).

Tamanho máximo do arquivo: 16 MB.

Comprimento máximo da Base64: 2.000.000

Enviar Link

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

link: link HTTP ou HTTPS

Enviar contato

var to="put_your_mobile_number_here"; 
var contact="[email protected]"; 
const response = await api.sendContactMessage(to,contact);
console.log(response)
  • contact: exemplo de matriz de ID de contato ou IDs de contato:

Exemplo

[email protected]

ou

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

Comprimento máximo: 300 caracteres, quase 15 contatos

Enviar localização

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)
  • address : Texto sob o local.

Suporta duas linhas. Para usar duas linhas, use o símbolo \n.

Comprimento máximo: 300 caracteres.

  • lat : latitude
  • lng : longitude

Enviar 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 : valor de texto vcard 3.0

Comprimento máximo: 4096 caracteres

Obter mensagens

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)
  • page : número da página de paginação
  • limite : número de mensagens por solicitação. valor máximo : 100 .
  • status : Status das mensagens [enviadas, fila, não enviadas]
    • enviado: recebe as mensagens enviadas.
    • queue: obtém mensagens de fila.
    • não enviados: recebe mensagens não enviadas.
    • invalid : obtém mensagens inválidas .
    • all: obtém todas as mensagens.
  • classificar :
    • asc: mensagens classificadas por ID do menor para o maior.
    • desc: mensagens classificadas por ID do maior para o menor.
  • id : filtrar mensagens por ID de mensagem.
  • referenceId : filtre as mensagens pelo seu ID de referência personalizado.
  • de : filtrar mensagens pelo número do remetente do WhatsApp, por exemplo, [email protected].
  • para : filtrar mensagens por número de destinatário, por exemplo, [email protected] ou [email protected].
  • ack : filtra mensagens por status de ack de mensagem [ pendente , servidor , dispositivo , lido , reproduzido ] .

Obter estatísticas de mensagens

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

Obter status da instância

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

Obter imagem QR da instância

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

Obter código QR da instância

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

Obter informações da instância

Obtenha informações do telefone conectado: número, nome, imagem etc.

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

Obter configurações da instância

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

sendDelay : Atraso em segundos entre o envio da mensagem, padrão 1 segundo

webhook_url: URL Http ou https para receber notificações.

webhook_message_ack : notificações on/off ack (mensagem entregue e mensagem visualizada) em webhooks.

webhook_message_received: ativa/desativa notificações em webhooks quando a mensagem é recebida.

webhook_message_create : notificações de ativação/desativação em webhooks quando a mensagem é criada .

webhook_message_download_media : liga/desliga para obter documentos/arquivos de mídia recebidos.

Logout da instância

Saia do WhatsApp Web para obter um novo código QR.

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

Reinício da instância

Reinicie sua instância.

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

Atualização das configurações da instância

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 : Atraso em segundos entre o envio da mensagem.
  • webhook_url : URL Http ou https para receber notificações.
  • webhook_message_received : notificações true/false em webhooks quando a mensagem é recebida.
  • webhook_message_create : notificações true/false em webhooks quando a mensagem cria .
  • webhook_message_ack : notificações true/false ack (mensagem entregue e mensagem visualizada) em webhooks.

Obter a lista de bate-papos

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

obter a última mensagem da conversa de bate-papo

valor máximo: 1000.

var chatId="[email protected]";
var limit=100;
const response = await api.getChatsMessages(chatId,limit);
console.log(response)

Obtenha a lista de contatos

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

Obter informações de contato

chatId : chatID para contato, por exemplo, [email protected]

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

Obtém todos os contatos bloqueados

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

bloquear contato do WhatsApp

chatId : chatID para contato, por exemplo, [email protected]

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

Desbloquear contato do WhatsApp

chatId : chatID para contato, por exemplo, [email protected]

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

Verifique se o número é usuário do WhatsApp

chatId : chatID para contato, por exemplo, [email protected]

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

Receba mensagens do WhatsApp

você pode receber mensagens do WhatsApp usando webhooks, você pode ver este artigo .

Finalmente

Você pode visitar o projeto no github

API do WhatsApp Nodejs-sdk versão atual: 1.0.1 no NPM