WhatsApp API Nodejs-SDK

Tanıtım

Bu derste, Nodejs ile WhatsAppAPI kullanmak için Ultramsg Nodejs-WhatsApp-sdk’nin nasıl kullanılacağını öğreneceğiz.

WhatsApp API Nodejs-sdk Kurulumu

npm i ultramsg-whatsapp-api

Örnek kullanım

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

NOT: ultramsg.com hesabınızda instance_id ve token’ı sizinkiyle değiştirmeniz gerekir, eğer hesabınız yoksa buradan bir tane oluşturun.

Mesaj gönder

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)
  • : uluslararası formatta test için numaranız örn. +14155552671 veya kişi veya grup için chatID örn. [email protected] veya [email protected]
  • gövde : Mesaj metni, emojili UTF-8 veya UTF-16 dizesi.
  • öncelik: Bu parametre isteğe bağlıdır,

Mesajlar için profesyonel bir kuyruk oluşturmak için kullanabilirsiniz, Öncelik değeri daha düşük olan Mesajlar önce gönderilir.

kullanım örneği:

öncelik = 0: OTP mesajları gibi yüksek öncelik için.

öncelik = 5: genel mesajlarla kullanılır.

öncelik =10: müşterilerinize acil olmayan promosyon teklifleri ve bildirimler.

Varsayılan değer: 10

Resim Gönder

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)
  • resim yazısı : resim Altyazısı, emojili UTF-8 veya UTF-16 dizesi.
  • resim : HTTP bağlantı resmi veya base64 kodlu dosya

Desteklenen uzantılar (jpg, jpeg, gif, png, svg, webp, bmp).

Maksimum dosya boyutu: 16MB.

Maksimum Base64 uzunluğu: 2.000.000

  • nocache : varsayılan yanlış

false: her istekte yüklemek yerine önceden yüklenmiş bir dosyayı kullanın

true: her istekte yükleniyor

Belge Gönder

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)
  • dosya adı: Dosya adı, örneğin 1.jpg veya Hello.pdf
  • belge: HTTP bağlantı dosyası veya base64 kodlu dosya

(zip, xlsx, csv, txt, pptx, docx ….etc) gibi çoğu uzantıyı destekler.

Maksimum dosya boyutu: 100MB.

Maksimum Base64 uzunluğu: 2.000.000

Ses Gönder

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)
  • ses : HTTP bağlantı sesi veya base64 kodlu ses

Desteklenen uzantılar (mp3, aac, ogg).

Maksimum dosya boyutu: 16MB.

Max Base64 uzunluğu : 2.000.000

Ses Gönder

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)
  • ses : opus codec bileşenine sahip HTTP bağlantısı ses ogg dosyası veya opus codec bileşenine sahip base64 ogg dosyası

Maksimum dosya boyutu: 16MB.

Max Base64 uzunluğu : 2.000.000

Video Gönder

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 : HTTP bağlantı videosu veya base64 kodlu video

Desteklenen uzantılar (mp4, 3gp, mov).

Maksimum dosya boyutu: 16MB.

Max Base64 uzunluğu : 2.000.000

Link gönder

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

bağlantı: HTTP veya HTTPS bağlantısı

Kişi Gönder

var to="put_your_mobile_number_here"; 
var contact="[email protected]"; 
const response = await api.sendContactMessage(to,contact);
console.log(response)
  • kişi: Kişi Kimliği veya Kişi Kimlikleri dizisi örneği:

Örnek vermek

[email protected]

veya

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

Maksimum uzunluk: 300 karakter, neredeyse 15 kişi

Konum göndermek

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)
  • adres : Konumun altındaki metin.

İki hattı destekler. İki satır kullanmak için \n sembolünü kullanın.

Maksimum uzunluk: 300 karakter.

  • enlem : Enlem
  • lng : boylam

Vcard gönder

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 : Metin değeri vcard 3.0

Maksimum uzunluk: 4096 karakter

Mesajları Al

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)
  • sayfa : sayfalandırma sayfa numarası
  • limit : istek başına mesaj sayısı . maksimum değer: 100.
  • durum : Mesaj durumu [gönderildi , sıra , gönderilmedi]
    • gönderilen : gönderilen mesajları alın .
    • sıra : sıra mesajlarını alın .
    • gönderilmemiş : gönderilmemiş mesajları al .
    • geçersiz : geçersiz mesajlar alın .
    • all : tüm mesajları al .
  • sırala :
    • asc : mesajları en küçükten en büyüğe kimliğe göre sıralar .
    • desc : mesajları büyükten küçüğe kimliğe göre sıralar .
  • id : mesajları mesaj kimliğine göre filtreleyin .
  • referans kimliği: mesajları özel referans kimliğinize göre filtreleyin.
  • from : mesajları WhatsApp gönderen numarasına göre filtreleyin örn. [email protected] .
  • için : mesajları alıcı numarasına göre filtreleyin örn. [email protected] veya [email protected] .
  • ack : mesajları mesaj ack durumuna göre filtreleyin [beklemede, sunucu, cihaz, okundu, oynatıldı].

Mesaj İstatistiklerini Al

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

Örnek Durumunu Al

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

Örnek QR Resmini Alın

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

Örnek QR Kodunu Alın

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

Örnek Bilgisi Alın

Bağlı telefon bilgilerini alın: numara, ad, resim vb.

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

Örnek Ayarlarını Alın

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

sendDelay : Mesaj gönderme arasındaki saniye cinsinden gecikme, Varsayılan 1 saniye

webhook_url: Bildirimleri almak için Http veya https URL’si.

webhook_message_ack : webhook’larda açık/kapalı ack (mesaj teslim edildi ve mesaj görüntülendi) bildirimleri.

webhook_message_recated : mesaj alındığında webhook’larda açık/kapalı bildirimler.

webhook_message_create : mesaj oluşturulduğunda webhook’larda açık/kapalı bildirimler.

webhook_message_download_media : alınan belge / medya dosyalarını almak için açık/kapalı.

Örnek Çıkışı

Yeni QR kodunu almak için WhatsApp Web’den çıkış yapın.

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

Örnek Yeniden Başlatma

Örneğinizi yeniden başlatın.

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

Örnek Ayarları Güncellemesi

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 : Mesaj gönderme arasındaki saniye cinsinden gecikme .
  • webhook_url : Bildirimleri almak için Http veya https URL’si.
  • webhook_message_recated : mesaj alındığında webhook’larda doğru/yanlış bildirimler.
  • webhook_message_create : mesaj oluşturulduğunda web kancalarında doğru/yanlış bildirimler.
  • webhook_message_ack : webhook’larda doğru/yanlış onay (mesaj teslim edildi ve mesaj görüntülendi) bildirimleri.

Sohbet listesini alın

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

sohbet konuşmasından son mesajı al

maksimum değer: 1000.

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

Kişi listesini alın

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

iletişim bilgilerini al

chatId : iletişim için sohbet kimliği örn. [email protected]

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

Engellenen tüm kişileri alır

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

WhatsApp’tan kişiyi engelle

chatId : iletişim için sohbet kimliği örn. [email protected]

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

WhatsApp’tan kişinin engellemesini kaldırın

chatId : iletişim için sohbet kimliği örn. [email protected]

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

Numaranın WhatsApp kullanıcısı olup olmadığını kontrol edin

chatId : iletişim için sohbet kimliği örn. [email protected]

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

WhatsApp mesajlarını al

Web kancalarını kullanarak WhatsApp mesajları alabilirsiniz, bu makaleyi inceleyebilirsiniz.

En sonunda

Projeyi github üzerinden ziyaret edebilirsiniz.

WhatsApp API Nodejs-sdk mevcut Sürüm: NPM’de 1.0.1