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
- ReferenceId : Bu mesaj için özel referans kimliğiniz .
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
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
- chatId : kişi veya grup için sohbet kimliği örn. [email protected] veya [email protected]
- limit : istek başına mesaj sayısı .
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