Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure İletişim Hizmetleri, WhatsApp iletileri gönderip almanızı sağlar. Bu makalede, WhatsApp iletileri gönderip almaya başlamak için uygulamanızı Azure İletişim Gelişmiş İletiler SDK'sı ile tümleştirme açıklanmaktadır. Bu makaleyi tamamlamak, Azure hesabınızda birkaç ABD kuruşu veya daha az bir maliyete yol açar.
Önkoşullar
- Azure İletişim Hizmetleri kaynağınıza kayıtlı WhatsApp Business Hesabı.
- İletileri almak için etkin WhatsApp telefon numarası.
- Visual Studio, Visual Studio Code veya .NET CLI gibi .NET geliştirme ortamı.
Ortamı ayarlama
.NET projesini oluşturma
Projenizi oluşturmak için Visual Studio kullanarak .NET konsol uygulaması oluşturma öğreticisini izleyin.
Kodunuzu derlemek için Ctrl+F7 tuşlarına basın.
paketini yükleyin
C# projenize Azure.Communication.Messages NuGet paketini yükleyin.
- NuGet Paket Yöneticisi
Project>Manage NuGet Packages...konumunda açın. -
Azure.Communication.Messagespaketini arayın. - En son sürümü yükleyin.
Uygulama çerçevesini ayarlama
Program.cs dosyasını bir metin düzenleyicisinde açın.
Program.cs dosyanızın içeriğini aşağıdaki kodla değiştirin:
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Communication.Messages;
namespace AdvancedMessagingQuickstart
{
class Program
{
public static async Task Main(string[] args)
{
Console.WriteLine("Azure Communication Services - Advanced Messages quickstart samples.");
// Quickstart code goes here
}
}
}
Gelişmiş mesajlaşma özelliklerini kullanmak için, using ad alanını içerecek bir Azure.Communication.Messages yönergesi ekleyin.
using Azure.Communication.Messages;
Nesne modeli
Aşağıdaki sınıflar ve arabirimler, .NET için Azure İletişim Hizmetleri Advance Messaging SDK'sının bazı önemli özelliklerini işler.
| Sınıf Adı | Açıklama |
|---|---|
NotificationMessagesClient |
Azure İletişim Hizmetleri kaynağınıza bağlanır. İletileri gönderir. |
MessageTemplate |
Hangi şablonu kullandığınızı ve iletiniz için şablon özelliklerinin içeriğini tanımlar. |
TemplateNotificationContent |
Göndermek istediğiniz şablon iletisinin "kim" ve "ne" olduğunu tanımlar. |
TextNotificationContent |
Göndermek istediğiniz metin iletisinin "kim" ve "ne" ifadelerini tanımlar. |
ImageNotificationContent |
Göndermek istediğiniz görüntü medya iletisinin "kim" ve "ne" ifadelerini tanımlar. |
DocumentNotificationContent |
Göndermek istediğiniz Belge medya iletisinin "kim" ve "ne" ifadelerini tanımlar. |
VideoNotificationContent |
Göndermek istediğiniz Video medya iletisinin "kim" ve "ne" ifadelerini tanımlar. |
AudioNotificationContent |
Göndermek istediğiniz Ses medya iletisinin "kim" ve "ne" ifadelerini tanımlar. |
Not
Daha fazla bilgi için bkz. Azure SDK for .NET başvuru Azure.Communication.Messages Ad Alanı.
Ortak yapılandırma
messages-quickstart.py python programına gerekli kod parçacıklarını eklemek için bu adımları izleyin.
- İstemcinin kimliğini doğrula.
- Kanal kayıt kimliğini ayarlayın.
- Alıcı listesini ayarlayın.
- bir işletme ile WhatsApp kullanıcısı arasında ileti göndermeye başlayın.
İstemcinin kimliğini doğrulama
İletiler SDK'sı, iletileri göndermek için öğesini NotificationMessagesClient kullanır.
NotificationMessagesClient yöntemi, Azure portalındaki Azure İletişim Hizmetleri kaynağından alınan bağlantı dizesini kullanarak kimlik doğrulaması yapar. bağlantı dizeleri hakkında daha fazla bilgi için access-your-connection-strings-and-service-endpoints adresine bakın.
Kolaylık olması için, bu makalede kimlik doğrulaması için bir bağlantı dizesi kullanılır. Üretim ortamlarında hizmet sorumlularının kullanılmasını öneririz.
Azure portalında, Azure İletişim Hizmetleri kaynağınızdan bağlantı dizesini alın. Sol tarafta sekmeye Keys gidin. Birincil anahtarın Connection string alanını kopyalayın. bağlantı dizesi endpoint=https://{your Azure İletişim Hizmetleri resource name}.communication.azure.com/;accesskey={secret key} biçimindedir.
COMMUNICATION_SERVICES_CONNECTION_STRING ortam değişkenini bağlantı dizesi değerine ayarlayın.
Bir konsol penceresi açın ve aşağıdaki komutu girin:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Ortam değişkenini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenini okuması gereken tüm çalışan programları yeniden başlatmanız gerekebilir. Örneğin, düzenleyici olarak Visual Studio kullanıyorsanız örneği çalıştırmadan önce Visual Studio yeniden başlatın.
Sisteminiz için ortam değişkeni ayarlama hakkında daha fazla bilgi için >Connection string bir ortam değişkeninde depolama adımlarını izleyin.
NotificationMessagesClient örneğini oluşturmak için, Main yöntemine aşağıdaki kodu ekleyin:
// Retrieve connection string from environment variable
string connectionString =
Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_CONNECTION_STRING");
// Instantiate the client
var notificationMessagesClient = new NotificationMessagesClient(connectionString);
Kanal kayıt kimliğini ayarlama
Kanal kaydı sırasında Kanal Kayıt Kimliği GUID'sini oluşturdunuz. Portalda, Azure İletişim Hizmetleri kaynağınızın Channels sekmesinde bulabilirsiniz.
Bunu channelRegistrationId adlı bir değişkene atayın.
var channelRegistrationId = new Guid("<your channel registration ID GUID>");
Alıcı listesini ayarla
WhatsApp hesabıyla ilişkili etkin bir telefon numarası veya iş kapsamına sahip bir kullanıcı kimliği (BSUID) sağlamanız gerekir. Bu hızlı başlangıçta gönderilen şablon, metin ve medya iletilerini bu WhatsApp hesabı alır.
Bu örnekte kişisel telefon numaranızı kullanabilirsiniz.
Alıcı telefon numarası, WhatsApp kanal kaydıyla ilişkilendirilmiş iş telefonu numarası (Gönderen Kimliği) olamaz. Gönderen Kimliği, alıcıya gönderilen metin ve medya iletilerinin göndereni olarak görünür.
Telefon numarası ülke kodunu içermelidir. Telefon numarası biçimlendirmesi hakkında daha fazla bilgi için Bkz. Telefon Numarası Biçimleri için WhatsApp belgeleri.
Not
Şu anda alıcı listesinde yalnızca bir telefon numarası veya BSUID desteklenmektedir.
Alıcı listesini şu şekilde oluşturun:
var recipientList = new List<string> { "<to WhatsApp phone number or BSUID>" };
Telefon numarası kullanan örnek:
// Example only
var recipientList = new List<string> { "+14255550199" };
BSUID kullanan örnek:
// Example only
var recipientList = new List<string> { "US.13491208655302741918" };
Not
BSUID'lere ileti gönderme, Haziran 2026'dan itibaren kullanıma sunulacaktır. O zamana kadar, alıcı olarak telefon numaralarını kullanın.
BSUID'ler hakkında daha fazla bilgi için bkz. WhatsApp kullanıcı adları ve BSUID'ler.
İşletme ile WhatsApp kullanıcısı arasında ileti göndermeye başlama
Bir WhatsApp Business Hesabı ile Bir WhatsApp kullanıcısı arasındaki konuşmalar iki yoldan biriyle başlatılabilir:
- İşletme, WhatsApp kullanıcısına bir şablon iletisi gönderir.
- WhatsApp kullanıcısı iş numarasına herhangi bir ileti gönderir.
bir işletme etkileşimli bir konuşma başlatamaz. bir işletme yalnızca kullanıcıdan bir ileti aldıktan sonra etkileşimli ileti gönderebilir. İşletme kullanıcıya yalnızca etkin konuşma sırasında etkileşimli iletiler gönderebilir. 24 saatlik konuşma penceresinin süresi dolduktan sonra, etkileşimli konuşmayı yalnızca kullanıcı yeniden başlatabilir. Konuşmalar hakkında daha fazla bilgi için WhatsApp İş Platformu'ndaki tanıma bakın.
Kişisel WhatsApp hesabınızdan etkileşimli bir konuşma başlatmak için iş numaranıza (Gönderen Kimliği) bir ileti gönderin.
Kod örnekleri
Dosyanızın Program.cs Main işlevine gerekli kod parçacıklarını eklemek için bu adımları izleyin.
- WhatsApp kullanıcısına kısa mesaj gönderin.
- Bir WhatsApp kullanıcısına görüntü medya iletisi gönderin.
- Bir WhatsApp kullanıcısına belge medya iletisi gönderin.
- Bir WhatsApp kullanıcısına sesli medya iletisi gönderin.
- WhatsApp kullanıcısına video medya iletisi gönderin.
Önemli
WhatsApp kullanıcısına kısa mesaj veya medya iletisi göndermek için, WhatsApp kullanıcısının önce WhatsApp Business Hesabına bir ileti göndermesi gerekir. Daha fazla bilgi için İş ve WhatsApp kullanıcısı arasında mesaj göndermeye başlama sayfasına bakın.
WhatsApp kullanıcısına kısa mesaj gönderme
İletiler SDK'sı, Contoso'nun WhatsApp kullanıcılarının başlattığı WhatsApp kısa mesajları göndermesine olanak tanır. Kısa mesaj göndermek için şunları yapmanız gerekir:
- Kimliği Doğrulanmış NotificationMessagesClient
- WhatsApp kanal kimliği
- E16 biçiminde veya BSUID biçiminde alıcı telefon numarası
- Gönderilecek ileti gövdesi/metni
Bu örnekte, WhatsApp kullanıcısını şu metinle yanıtlıyoruz: "Thanks for your feedback.\n From Notification Messaging SDK."
Metin iletisini derleyip gönderin:
// Assemble text message
var textContent =
new TextNotificationContent(channelRegistrationId, recipientList, "Thanks for your feedback.\n From Notification Messaging SDK");
// Send text message
Response<SendMessageResult> sendTextMessageResult =
await notificationMessagesClient.SendAsync(textContent);
WhatsApp kullanıcısına görüntü medya iletisi gönderme
İletiler SDK'sı, Contoso'nın WhatsApp kullanıcılarına WhatsApp medya iletileri göndermesini sağlar. Ekli medya iletisi göndermek için şunları yapmanız gerekir:
- Kimliği Doğrulanmış NotificationMessagesClient.
- WhatsApp kanal kimliği.
- E16 biçiminde veya BSUID biçiminde alıcı telefon numarası.
- Görüntü Medyası URI'si.
Önemli
SDK sürüm 1.1.0 itibarıyla MediaNotificationContent görüntüler için artık önerilmemektedir. Görüntü göndermek için kullanmanızı ImageNotificationContent öneririz. , DocumentNotificationContentve VideoNotificationContentgibi AudioNotificationContentdiğer medya türleri için içeriğe özgü diğer sınıfları keşfedin.
Görüntü iletisini derle:
var imageLink = new Uri("https://example.com/image.jpg");
var imageNotificationContent = new ImageNotificationContent(channelRegistrationId, recipientList, imageLink)
{
Caption = "Check out this image."
};
Görüntü iletisini gönderin:
var imageResponse = await notificationMessagesClient.SendAsync(imageNotificationContent);
WhatsApp kullanıcısına belge medya iletisi gönderme
İletiler SDK'sı, Contoso'nın WhatsApp kullanıcılarına WhatsApp medya iletileri göndermesini sağlar. Ekli medya iletisi göndermek için şunları yapmanız gerekir:
- Kimliği Doğrulanmış NotificationMessagesClient.
- WhatsApp kanal kimliği.
- E16 biçiminde veya BSUID biçiminde alıcı telefon numarası.
- Belgenin Medya URI'si.
Belge içeriğini derle:
var documentLink = new Uri("https://example.com/document.pdf");
var documentNotificationContent = new DocumentNotificationContent(channelRegistrationId, recipientList, documentLink)
{
Caption = "Check out this document.",
FileName = "document.pdf"
};
Belge iletisini gönderin:
var documentResponse = await notificationMessagesClient.SendAsync(documentNotificationContent);
WhatsApp kullanıcısına video medya iletisi gönderme
İletiler SDK'sı, Contoso'nın WhatsApp kullanıcılarına WhatsApp medya iletileri göndermesini sağlar. Ekli medya iletisi göndermek için şunları yapmanız gerekir:
- Kimliği Doğrulanmış NotificationMessagesClient.
- WhatsApp kanal kimliği.
- E16 biçiminde veya BSUID biçiminde alıcı telefon numarası.
- Video medyasının URI'si.
Video iletisini derle:
var videoLink = new Uri("https://example.com/video.mp4");
var videoNotificationContent = new VideoNotificationContent(channelRegistrationId, recipientList, videoLink)
{
Caption = "Check out this video."
};
Video iletisini gönderin:
var videoResponse = await notificationMessagesClient.SendAsync(videoNotificationContent);
WhatsApp kullanıcısına sesli medya iletisi gönderme
İletiler SDK'sı, Contoso'nın WhatsApp kullanıcılarına WhatsApp medya iletileri göndermesini sağlar. Ekli medya iletisi göndermek için şunları yapmanız gerekir:
- Kimliği Doğrulanmış BildirimMesajlarıİstemcisi.
- WhatsApp kanal kimliği.
- E16 biçiminde veya BSUID biçiminde alıcı telefon numarası.
- Ses medyasının URI'sini seçin.
Sesli iletiyi derle:
var audioLink = new Uri("https://example.com/audio.mp3");
var audioNotificationContent = new AudioNotificationContent(channelRegistrationId, recipientList, audioLink);
Sesli iletiyi gönderin:
var audioResponse = await notificationMessagesClient.SendAsync(audioNotificationContent);
Kodu çalıştırma
Programınızı derleyin ve çalıştırın.
WhatsApp kullanıcısına kısa mesaj veya medya iletisi göndermek için WhatsApp Business Hesabı ile WhatsApp kullanıcısı arasında etkin bir konuşma olmalıdır.
Etkin bir konuşmanız yoksa, bu örnek için şablon iletisini gönderme ile metin iletisini gönderme arasında bir bekleme ekleyin. Bu ek gecikme, kullanıcının WhatsApp hesabı üzerinden işletmeye yanıt vermek için yeterli zaman sağlar. Referans olarak, Sample code'daki tam örnek, sonraki mesajı göndermeden önce kullanıcıdan el ile giriş yapmasını ister.
Başarılı olursa, kullanıcının WhatsApp hesabında üç ileti alırsınız.
- Kodunuzu derlemek için Ctrl+F7 tuşlarına basın.
- Programı hata ayıklamadan çalıştırmak için Ctrl F5 tuşlarına+basın.
Tam örnek kod
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Azure;
using Azure.Communication.Messages;
namespace AdvancedMessagingQuickstart
{
class Program
{
public static async Task Main(string[] args)
{
Console.WriteLine("Azure Communication Services - Send WhatsApp Messages\n");
string connectionString = Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_CONNECTION_STRING");
NotificationMessagesClient notificationMessagesClient =
new NotificationMessagesClient(connectionString);
var channelRegistrationId = new Guid("<Your Channel ID>");
var recipientList = new List<string> { "<Recipient's WhatsApp Phone Number>" };
// Send sample template sample_template
string templateName = "sample_template";
string templateLanguage = "en_us";
MessageTemplate sampleTemplate = new MessageTemplate(templateName, templateLanguage);
TemplateNotificationContent templateContent =
new TemplateNotificationContent(channelRegistrationId, recipientList, sampleTemplate);
Response<SendMessageResult> sendTemplateMessageResult =
await notificationMessagesClient.SendAsync(templateContent);
PrintResult(sendTemplateMessageResult);
Console.WriteLine("Template message sent.\nWait until the WhatsApp user responds " +
"to the template message, then press any key to continue.\n");
Console.ReadKey();
// Send a text message
string messageText = "Thanks for your feedback.";
TextNotificationContent textContent =
new TextNotificationContent(channelRegistrationId, recipientList, messageText);
Response<SendMessageResult> sendTextMessageResult =
await notificationMessagesClient.SendAsync(textContent);
PrintResult(sendTextMessageResult);
Console.WriteLine($"Text message sent to my phoneNumber.\nPress any key to continue.\n");
Console.ReadKey();
// Send a media message
Uri uri = new Uri("https://aka.ms/acsicon1");
ImageNotificationContent imageContent =
new ImageNotificationContent(channelRegistrationId, recipientList, uri);
Response<SendMessageResult> sendMediaMessageResult =
await notificationMessagesClient.SendAsync(imageContent);
PrintResult(sendMediaMessageResult);
Console.WriteLine("Media message sent.\nPress any key to exit.\n");
Console.ReadKey();
}
public static void PrintResult(Response<SendMessageResult> result)
{
Console.WriteLine($"Response: {result.GetRawResponse().Status} " +
$"({result.GetRawResponse().ReasonPhrase})");
Console.WriteLine($"Date: " +
$"{result.GetRawResponse().Headers.First(header => header.Name == "Date").Value}");
Console.WriteLine($"ClientRequestId: {result.GetRawResponse().ClientRequestId}");
Console.WriteLine($"MS-CV: " +
$"{result.GetRawResponse().Headers.First(header => header.Name == "MS-CV").Value}");
foreach (var receipts in result.Value.Receipts)
{
Console.WriteLine($"MessageId: {receipts.MessageId}");
}
Console.WriteLine($"\n");
}
}
}
Önkoşullar
- Azure İletişim Hizmetleri kaynağınıza kayıtlı WhatsApp Business Hesabı.
- İletileri almak için etkin WhatsApp telefon numarası.
- Java Development Kit (JDK) sürüm 8 veya üzeri.
- Apache Maven.
Ortamı ayarlama
İleti göndermek üzere bir ortam ayarlamak için aşağıdaki bölümlerde yer alan adımları tamamlayın.
Yeni bir Java uygulaması oluşturma
Bir terminal veya komut penceresi açın ve Java uygulamanızı oluşturmak istediğiniz dizine gidin.
maven-archetype-quickstart şablonundan Java proje oluşturmak için aşağıdaki komutu çalıştırın.
mvn archetype:generate -DgroupId="com.communication.quickstart" -DartifactId="communication-quickstart" -DarchetypeArtifactId="maven-archetype-quickstart" -DarchetypeVersion="1.4" -DinteractiveMode="false"
generate hedef, artifactId değerle aynı ada sahip bir dizin oluşturur. Bu dizinin altında src/main/java dizini project kaynak kodunu içerir, src/test/java dizini test kaynağını içerir ve pom.xml dosyası project Project Nesne Modeli'dir (POM).
paketini yükleyin
pom.xml Dosyayı metin düzenleyicinizde açın. Aşağıdaki bağımlılık öğesini bağımlılık grubuna ekleyin.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-messages</artifactId>
</dependency>
Uygulama çerçevesini ayarlama
Metin düzenleyicisinde /src/main/java/com/communication/quickstart/App.java'i açın, import yönergelerini ekleyin ve System.out.println("Hello world!"); ifadesini kaldırın:
package com.communication.quickstart;
import com.azure.communication.messages.*;
import com.azure.communication.messages.models.*;
import java.util.ArrayList;
import java.util.List;
public class App
{
public static void main( String[] args )
{
// Quickstart code goes here.
}
}
Kod örnekleri
Dosyanızın App.java ana işlevine gerekli kod parçacıklarını eklemek için bu adımları izleyin.
- bir işletme ile WhatsApp kullanıcısı arasında ileti göndermeye başlayın.
- İstemcinin kimliğini doğrula.
- Kanal kayıt kimliğini ayarlayın.
- Alıcı listesini ayarlayın.
- WhatsApp kullanıcısına kısa mesaj gönderme
- WhatsApp kullanıcısına görüntü medya iletisi gönderme
- WhatsApp kullanıcısına belge medya iletisi gönderme
- WhatsApp kullanıcısına sesli medya iletisi gönderme
- WhatsApp kullanıcısına video medya iletisi gönderme
İşletme ile WhatsApp kullanıcısı arasında ileti göndermeye başlama
Bir WhatsApp Business Hesabı ile Bir WhatsApp kullanıcısı arasındaki konuşmalar iki yoldan biriyle başlatılabilir:
- İşletme, WhatsApp kullanıcısına bir şablon iletisi gönderir.
- WhatsApp kullanıcısı iş numarasına herhangi bir ileti gönderir.
Konuşmanın nasıl başlatıldığına bakılmaksızın, bir işletme yalnızca kullanıcı işletmeye ileti gönderene kadar şablon iletileri gönderebilir. Yalnızca kullanıcı işletmeye bir ileti gönderdikten sonra, işletmenin etkin konuşma sırasında kullanıcıya metin veya medya iletileri göndermesine izin verilir. 24 saatlik konuşma penceresinin süresi dolduktan sonra konuşmanın yeniden başlatılması gerekir. Konuşmalar hakkında daha fazla bilgi edinmek için WhatsApp İş Platformu'ndaki tanıma bakın.
İstemcinin kimliğini doğrulama
İleti istemcisinin kimliğini doğrulamak için kullanabileceğim birkaç farklı seçenek vardır:
İstemcinin kimliğini doğrulamak için, bağlantı dizesi ile bir NotificationMessagesClient veya MessageTemplateClient örneği oluşturursunuz. İstemciyi, arabirimini uygulayan com.azure.core.http.HttpClient herhangi bir özel HTTP istemcisiyle de başlatabilirsiniz.
Kolaylık olması için, bu makalede kimlik doğrulaması için bir bağlantı dizesi kullanılır. Üretim ortamlarında hizmet sorumlularının kullanılmasını öneririz.
Azure portalında, Azure İletişim Hizmetleri kaynağınızdan bağlantı dizesini alın. Sol tarafta yer alan Keys sekmesine gidin. Primary key için Connection string alanını kopyalayın. bağlantı dizesi endpoint=https://{your Azure İletişim Hizmetleri resource name}.communication.azure.com/;accesskey={secret key} biçimindedir.
COMMUNICATION_SERVICES_CONNECTION_STRING ortam değişkenini bağlantı dizesi değerine ayarlayın.
Bir konsol penceresi açın ve aşağıdaki komutu girin:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Sisteminiz için ortam değişkeni ayarlama hakkında daha fazla bilgi için >Connection string bir ortam değişkeninde depolama adımlarını izleyin.
NotificationMessagesClient örneği oluşturmak için yöntemine main aşağıdaki kodu ekleyin:
// You can get your connection string from your resource in the Azure portal.
String connectionString = System.getenv("COMMUNICATION_SERVICES_CONNECTION_STRING");
NotificationMessagesClient notificationClient = new NotificationMessagesClientBuilder()
.connectionString(connectionString)
.buildClient();
Kanal kayıt kimliğini ayarlama
Kanal kaydı sırasında Kanal Kayıt Kimliği GUID'si oluşturuldu. Portalda Azure İletişim Hizmetleri kaynağınızın Kanallar sekmesinden bakabilirsiniz.
Bunu channelRegistrationId adlı bir değişkene atayın.
String channelRegistrationId = "<your channel registration id GUID>";
Alıcı listesini ayarla
WhatsApp hesabıyla bağlantılı veya iş kapsamlı kullanıcı kimliği (BSUID) içeren gerçek bir telefon numarası sağlamanız gerekir. Bu WhatsApp hesabı, bu makalede gönderilen metin ve medya iletilerini alır. Bu makale için bu telefon numarası kişisel telefon numaranız olabilir.
Alıcı telefon numarası, WhatsApp kanal kaydıyla ilişkilendirilmiş iş telefonu numarası (Gönderen Kimliği) olamaz. Gönderen Kimliği, alıcıya gönderilen metin ve medya iletilerinin göndereni olarak görünür.
Telefon numarası ülke kodunu içermelidir. Telefon numarası biçimlendirmesi hakkında daha fazla bilgi için Bkz. Telefon Numarası Biçimleri için WhatsApp belgeleri.
Not
Şu anda alıcı listesinde yalnızca bir telefon numarası veya BSUID desteklenmektedir.
Alıcı listesini şu şekilde oluşturun:
List<String> recipientList = new ArrayList<>();
recipientList.add("<to WhatsApp phone number or BSUID>");
Telefon numarası kullanan örnek:
// Example only
List<String> recipientList = new ArrayList<>();
recipientList.add("+14255550199");
BSUID kullanan örnek:
// Example only
List<String> recipientList = new ArrayList<>();
recipientList.add("US.13491208655302741918");
Not
BSUID'lere ileti gönderme, Haziran 2026'dan itibaren kullanıma sunulacaktır. O zamana kadar, alıcı olarak telefon numaralarını kullanın.
BSUID'ler hakkında daha fazla bilgi için bkz. WhatsApp kullanıcı adları ve BSUID'ler.
WhatsApp kullanıcısına kısa mesaj gönderme
Mesajlar SDK'sı, Contoso'nun WhatsApp kullanıcıları tarafından başlatılan WhatsApp iletilerini göndermesine olanak tanır. Kısa mesaj göndermek için aşağıdaki ayrıntılar gereklidir:
- WhatsApp Kanal Kimliği
- E16 biçiminde Alıcı Telefon Numarası
- Gönderilecek ileti gövdesi/metni
Bu örnekte, WhatsApp kullanıcısını şu metinle yanıtlıyoruz: "Thanks for your feedback.\n From Notification Messaging SDK."
Önemli
WhatsApp kullanıcısına kısa mesaj göndermek için, WhatsApp kullanıcısının önce WhatsApp Business Hesabına bir ileti göndermesi gerekir. Daha fazla bilgi için İş ve WhatsApp kullanıcısı arasında mesaj göndermeye başlama sayfasına bakın.
Metin iletisini derleyip gönderin:
// Assemble text message
TextNotificationContent textContent = new TextNotificationContent(channelRegistrationId, recipientList, "“Thanks for your feedback.\n From Notification Messaging SDK");
// Send text message
SendMessageResult textMessageResult = notificationClient.send(textContent);
// Process result
for (MessageReceipt messageReceipt : textMessageResult.getReceipts()) {
System.out.println("Message sent to:" + messageReceipt.getTo() + " and message id:" + messageReceipt.getMessageId());
}
WhatsApp kullanıcısına görüntü medya iletisi gönderme
İletiler SDK'sı, Contoso'nın WhatsApp kullanıcılarına medya (görüntü, video, ses veya belge) iletileri göndermesini sağlar. Ekli medya iletisi göndermek için şunları yapmanız gerekir:
- WhatsApp Kanal Kimliği
- E16 biçiminde Alıcı Telefon Numarası
- Görüntü medyasının URL'si
Önemli
SDK sürüm 1.1.0 itibarıyla MediaNotificationContent görüntüler için artık önerilmemektedir. Görüntü göndermek için kullanmanızı ImageNotificationContent öneririz. , DocumentNotificationContentve VideoNotificationContentgibi AudioNotificationContentdiğer medya türleri için içeriğe özgü diğer sınıfları keşfedin.
Önemli
Bir WhatsApp kullanıcısına görüntü iletisi göndermek için, WhatsApp kullanıcısının önce WhatsApp Business Hesabına bir ileti göndermesi gerekir. Daha fazla bilgi için İş ve WhatsApp kullanıcısı arasında mesaj göndermeye başlama sayfasına bakın.
Görüntü iletisini derleyip gönderin:
// Assemble image message
String imageUrl = "https://example.com/image.jpg";
ImageNotificationContent imageContent = new ImageNotificationContent(channelRegistrationId, recipientList, imageUrl);
// Send image message
SendMessageResult imageMessageResult = notificationClient.send(imageContent);
// Process result
for (MessageReceipt messageReceipt : imageMessageResult.getReceipts()) {
System.out.println("Message sent to:" + messageReceipt.getTo() + " and message id:" + messageReceipt.getMessageId());
}
WhatsApp kullanıcısına video medya iletisi gönderme
İletiler SDK'sı, Contoso'nın WhatsApp kullanıcılarına medya (görüntü, video, ses veya belge) iletileri göndermesini sağlar. Ekli medya iletisi göndermek için şunları yapmanız gerekir:
- WhatsApp Kanal Kimliği.
- Alıcı Telefon Numarası E16 biçiminde.
- Video medyasının URL'si.
Önemli
WhatsApp kullanıcısına görüntülü ileti göndermek için, WhatsApp kullanıcısının önce WhatsApp Business Hesabına bir ileti göndermesi gerekir. Daha fazla bilgi için İş ve WhatsApp kullanıcısı arasında mesaj göndermeye başlama sayfasına bakın.
Video iletisini derleyip gönderin:
// Assemble video message
String videoUrl = "https://example.com/video.mp4";
VideoNotificationContent videoContent = new VideoNotificationContent(channelRegistrationId, recipientList, videoUrl);
// Send video message
SendMessageResult videoMessageResult = notificationClient.send(videoContent);
// Process result
for (MessageReceipt messageReceipt : videoMessageResult.getReceipts()) {
System.out.println("Message sent to:" + messageReceipt.getTo() + " and message id:" + messageReceipt.getMessageId());
}
WhatsApp kullanıcısına sesli medya iletisi gönderme
İletiler SDK'sı, Contoso'nın WhatsApp kullanıcılarına medya (görüntü, video, ses veya belge) iletileri göndermesini sağlar. Ekli medya iletisi göndermek için şunları yapmanız gerekir:
- WhatsApp Kanal Kimliği.
- Alıcı Telefon Numarası E16 biçiminde.
- Ses medyasının URL'si.
Önemli
Bir WhatsApp kullanıcısına sesli ileti göndermek için, WhatsApp kullanıcısının önce WhatsApp Business Hesabına bir ileti göndermesi gerekir. Daha fazla bilgi için İş ve WhatsApp kullanıcısı arasında mesaj göndermeye başlama sayfasına bakın.
Sesli iletiyi derleyip gönderin:
// Assemble audio message
String audioUrl = "https://example.com/audio.mp3";
AudioNotificationContent audioContent = new AudioNotificationContent(channelRegistrationId, recipientList, audioUrl);
// Send audio message
SendMessageResult audioMessageResult = notificationClient.send(audioContent);
// Process result
for (MessageReceipt messageReceipt : audioMessageResult.getReceipts()) {
System.out.println("Message sent to:" + messageReceipt.getTo() + " and message id:" + messageReceipt.getMessageId());
}
WhatsApp kullanıcısına belge medya iletisi gönderme
İletiler SDK'sı, Contoso'nın WhatsApp kullanıcılarına medya (görüntü, video, ses veya belge) iletileri göndermesini sağlar. Ekli medya iletisi göndermek için şunları yapmanız gerekir:
- WhatsApp Kanal Kimliği.
- Alıcı Telefon Numarası E16 biçiminde.
- Belge medyasının URL'si.
Önemli
Bir WhatsApp kullanıcısına belge iletisi göndermek için, WhatsApp kullanıcısının önce WhatsApp Business Hesabına bir ileti göndermesi gerekir. Daha fazla bilgi için İş ve WhatsApp kullanıcısı arasında mesaj göndermeye başlama sayfasına bakın.
Belge iletisini derleyip gönderin:
// Assemble document message
String docUrl = "https://example.com/document.pdf";
DocumentNotificationContent docContent = new DocumentNotificationContent(channelRegistrationId, recipientList, docUrl);
// Send document message
SendMessageResult docMessageResult = notificationClient.send(docContent);
// Process result
for (MessageReceipt messageReceipt : docMessageResult.getReceipts()) {
System.out.println("Message sent to:" + messageReceipt.getTo() + " and message id:" + messageReceipt.getMessageId());
}
Kodu çalıştırma
pom.xmldosyasını içeren dizine gidin vemvnkomutunu kullanarak projeyi derleyin.mvn compileAşağıdaki
mvnkomutu yürüterek uygulamayı çalıştırın.mvn exec:java -D"exec.mainClass"="com.communication.quickstart.App" -D"exec.cleanupDaemonThreads"="false"
Tam örnek kod
GitHub'da Azure İletiler istemci kitaplığının Java için son halini bulun.
Önkoşullar
- Azure İletişim Hizmetleri kaynağınıza kayıtlı WhatsApp Business Hesabı.
- İletileri almak için etkin WhatsApp telefon numarası.
- Node.js Etkin LTS ve Bakım LTS sürümleri (8.11.1 ve 10.14.1'i öneririz).
-
Node.js Etkin LTS ve Bakım LTS sürümleri (8.11.1 ve 10.14.1 önerilir)
- Terminalde veya komut penceresinde, Node.js yüklenip yüklenmediğini denetlemek için komutunu çalıştırın
node --version
- Terminalde veya komut penceresinde, Node.js yüklenip yüklenmediğini denetlemek için komutunu çalıştırın
Kurulum
Yeni bir Node.js uygulaması oluşturma
Uygulamanız için yeni bir dizin oluşturun ve bunu bir terminalde veya komut penceresinde açın.
Aşağıdaki komutu çalıştırın.
mkdir advance-messages-quickstart && cd advance-messages-quickstartVarsayılan ayarlara sahip bir
package.jsondosya oluşturmak için aşağıdaki komutu çalıştırın.npm init -yProje kök dizininde adlı
send-messages.jsbir dosya oluşturmak için bir metin düzenleyicisi kullanın.dosyasına
send-messages.jsaşağıdaki kod parçacığını ekleyin.async function main() { // Quickstart code goes here. } main().catch((error) => { console.error("Encountered an error while sending message: ", error); process.exit(1); });
Bu örnekteki kaynak kodunuzu oluşturduğunuz dosyaya send-messages.js eklemek için aşağıdaki bölümü tamamlayın.
paketini yükleyin
JavaScript için Azure İletişim Hizmetleri Advance Messaging SDK'sını yüklemek için npm install komutunu kullanın.
npm install @azure-rest/communication-messages --save
--save seçeneği, kütüphaneyi package.json dosyanızda bir bağımlılık olarak listeler.
Kod örnekleri
Dosyanızın send-messages.js ana işlevine gerekli kod parçacıklarını eklemek için bu adımları izleyin.
- bir işletme ile WhatsApp kullanıcısı arasında ileti göndermeye başlayın.
- İstemcinin kimliğini doğrula.
- Kanal kayıt kimliğini ayarlayın.
- Alıcı listesini ayarlayın.
- WhatsApp kullanıcısına kısa mesaj gönderin.
- Bir WhatsApp kullanıcısına görüntü medya iletisi gönderin.
- Bir WhatsApp kullanıcısına belge medya iletisi gönderin.
- Bir WhatsApp kullanıcısına sesli medya iletisi gönderin.
- WhatsApp kullanıcısına video medya iletisi gönderin.
İşletme ile WhatsApp kullanıcısı arasında ileti göndermeye başlama
Bir WhatsApp Business Hesabı ile Bir WhatsApp kullanıcısı arasındaki konuşmalar iki yoldan biriyle başlatılabilir:
- İşletme, WhatsApp kullanıcısına bir şablon iletisi gönderir.
- WhatsApp kullanıcısı iş numarasına herhangi bir ileti gönderir.
Konuşmanın nasıl başlatıldığına bakılmaksızın, bir işletme yalnızca kullanıcı işletmeye ileti gönderene kadar şablon iletileri gönderebilir. Yalnızca kullanıcı işletmeye bir ileti gönderdikten sonra, işletmenin etkin konuşma sırasında kullanıcıya metin veya medya iletileri göndermesine izin verilir. 24 saatlik konuşma penceresinin süresi dolduktan sonra konuşmanın yeniden başlatılması gerekir. Konuşmalar hakkında daha fazla bilgi edinmek için WhatsApp İş Platformu'ndaki tanıma bakın.
İstemcinin kimliğini doğrulama
Aşağıdaki kod, dotenv paketini kullanarak COMMUNICATION_SERVICES_CONNECTION_STRING adlı bir ortam değişkeninden kaynağın bağlantı dizesini alır.
Kolaylık olması için, bu makalede kimlik doğrulaması için bir bağlantı dizesi kullanılır. Üretim ortamlarında hizmet sorumlularının kullanılmasını öneririz.
Azure portalında, Azure İletişim Hizmetleri kaynağınızdan bağlantı dizesini alın. Sol tarafta yer alan Keys sekmesine gidin. Primary key için Connection string alanını kopyalayın. bağlantı dizesi endpoint=https://{your Azure İletişim Hizmetleri resource name}.communication.azure.com/;accesskey={secret key} biçimindedir.
COMMUNICATION_SERVICES_CONNECTION_STRING ortam değişkenini bağlantı dizesi değerine ayarlayın.
Bir konsol penceresi açın ve aşağıdaki komutu girin:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Sisteminiz için ortam değişkeni ayarlama hakkında daha fazla bilgi için >Connection string bir ortam değişkeninde depolama adımlarını izleyin.
NotificationClient örneği oluşturmak için yöntemine Main aşağıdaki kodu ekleyin:
const NotificationClient = require("@azure-rest/communication-messages").default;
// Set Connection string
const connectionString = process.env["COMMUNICATION_SERVICES_CONNECTION_STRING"];
// Instantiate the client
const client = NotificationClient(connectionString);
Kanal kayıt kimliğini ayarlama
Kanal kaydı sırasında Kanal Kayıt Kimliği GUID'si oluşturuldu. Portalda Azure İletişim Hizmetleri kaynağınızın Kanallar sekmesinden bakabilirsiniz.
Bunu channelRegistrationId adlı bir değişkene atayın.
const channelRegistrationId = "<your channel registration id GUID>";
Alıcı listesini ayarla
WhatsApp hesabıyla bağlantılı veya iş kapsamlı kullanıcı kimliği (BSUID) içeren gerçek bir telefon numarası sağlamanız gerekir. Bu WhatsApp hesabı, bu makalede gönderilen şablonu, metni ve medya iletilerini alır. Bu makale için bu telefon numarası kişisel telefon numaranız olabilir.
Alıcı telefon numarası, WhatsApp kanal kaydıyla ilişkilendirilmiş iş telefonu numarası (Gönderen Kimliği) olamaz. Gönderen Kimliği, alıcıya gönderilen metin ve medya iletilerinin göndereni olarak görünür.
Telefon numarası ülke kodunu içermelidir. Telefon numarası biçimlendirmesi hakkında daha fazla bilgi için Bkz. Telefon Numarası Biçimleri için WhatsApp belgeleri.
Not
Şu anda alıcı listesinde yalnızca bir telefon numarası veya BSUID desteklenmektedir.
Alıcı listesini şu şekilde oluşturun:
const recipientList = ["<to WhatsApp phone number or BSUID>"];
Telefon numarası kullanan örnek:
// Example only
const recipientList = ["+14255550199"];
BSUID kullanan örnek:
// Example only
const recipientList = ["US.13491208655302741918"];
Not
BSUID'lere ileti gönderme, Haziran 2026'dan itibaren kullanıma sunulacaktır. O zamana kadar, alıcı olarak telefon numaralarını kullanın.
BSUID'ler hakkında daha fazla bilgi için bkz. WhatsApp kullanıcı adları ve BSUID'ler.
Önemli
Bir WhatsApp kullanıcısına ileti göndermek için, WhatsApp kullanıcısının önce WhatsApp Business Hesabına bir ileti göndermesi gerekir. Daha fazla bilgi için İş ve WhatsApp kullanıcısı arasında mesaj göndermeye başlama sayfasına bakın.
WhatsApp kullanıcısına kısa mesaj gönderme
İletiler SDK'sı, Contoso'nın bir WhatsApp kullanıcıları tarafından başlatıldığında WhatsApp iletileri göndermesini sağlar. Kısa mesaj göndermek için:
- WhatsApp Kanal Kimliği.
- Alıcı Telefon Numarası E16 biçiminde.
- Gönderilecek ileti gövdesi/metni.
Bu örnekte, WhatsApp kullanıcısını şu metinle yanıtlıyoruz: "Thanks for your feedback.\n From Notification Messaging SDK."
Metin iletisini derleyip gönderin:
// Send text message
const textMessageResult = await client.path("/messages/notifications:send").post({
contentType: "application/json",
body: {
channelRegistrationId: channelRegistrationId,
to: recipientList,
kind: "text",
content: "Thanks for your feedback.\n From Notification Messaging SDK"
}
});
// Process result
if (textMessageResult.status === "202") {
textMessageResult.body.receipts.forEach((receipt) => {
console.log("Message sent to:"+receipt.to+" with message id:"+receipt.messageId);
});
} else {
throw new Error("Failed to send message");
}
WhatsApp kullanıcısına görüntü medya iletisi gönderme
İletiler SDK'sı, Contoso'nın WhatsApp kullanıcılarına medya (görüntü, video, ses veya belge) iletileri göndermesini sağlar. Ekli medya iletisi göndermek için şunları yapmanız gerekir:
- WhatsApp Kanal Kimliği.
- Alıcı Telefon Numarası E16 biçiminde.
- Görüntü medyasının URL'si.
Önemli
SDK sürüm 2.0.0 itibarıyla MediaNotificationContent görüntüler için kullanım dışı bırakılmaktadır. Görüntü göndermek için kullanmanızı ImageNotificationContent öneririz. , DocumentNotificationContentve VideoNotificationContentgibi AudioNotificationContentdiğer medya türleri için içeriğe özgü diğer sınıfları keşfedin.
Görüntü iletisi göndermek için bir görüntünün URL'sini sağlayın. Örneğin:
const url = "https://example.com/image.jpg";
Medya iletisini derleyip gönderin:
// Send image message
const mediaMessageResult = await client.path("/messages/notifications:send").post({
contentType: "application/json",
body: {
channelRegistrationId: channelRegistrationId,
to: recipientList,
kind: "image",
mediaUri: url
}
});
// Process result
if (mediaMessageResult.status === "202") {
mediaMessageResult.body.receipts.forEach((receipt) => {
console.log("Message sent to:"+receipt.to+" with message id:"+receipt.messageId);
});
} else {
throw new Error("Failed to send message");
}
WhatsApp kullanıcısına video medya iletisi gönderme
İletiler SDK'sı, Contoso'nın WhatsApp kullanıcılarına medya (görüntü, video, ses veya belge) iletileri göndermesini sağlar. Ekli medya iletisi göndermek için şunları yapmanız gerekir:
- WhatsApp Kanal Kimliği.
- Alıcı Telefon Numarası E16 biçiminde.
- Videonun URL'si.
Video iletisi göndermek için videoya bir URL sağlayın. Örneğin,
const url = "https://example.com/video.mp4";
Video iletisini derleyip gönderin:
// Send video message
const mediaMessageResult = await client.path("/messages/notifications:send").post({
contentType: "application/json",
body: {
channelRegistrationId: channelRegistrationId,
to: recipientList,
kind: "video",
mediaUri: url
}
});
// Process result
if (mediaMessageResult.status === "202") {
mediaMessageResult.body.receipts.forEach((receipt) => {
console.log("Message sent to:"+receipt.to+" with message id:"+receipt.messageId);
});
} else {
throw new Error("Failed to send message");
}
WhatsApp kullanıcısına sesli medya iletisi gönderme
İletiler SDK'sı, Contoso'nın WhatsApp kullanıcılarına medya (görüntü, video, ses veya belge) iletileri göndermesini sağlar. Ekli medya iletisi göndermek için şunları yapmanız gerekir:
- WhatsApp Kanal Kimliği.
- Alıcı Telefon Numarası E16 biçiminde.
- Ses medyasının URL'si.
Sesli ileti göndermek için bir ses dosyasının URL'sini sağlayın. Örneğin:
const url = "https://example.com/audio.mp3";
Sesli iletiyi derleyip gönderin:
// Send audio message
const mediaMessageResult = await client.path("/messages/notifications:send").post({
contentType: "application/json",
body: {
channelRegistrationId: channelRegistrationId,
to: recipientList,
kind: "audio",
mediaUri: url
}
});
// Process result
if (mediaMessageResult.status === "202") {
mediaMessageResult.body.receipts.forEach((receipt) => {
console.log("Message sent to:"+receipt.to+" with message id:"+receipt.messageId);
});
} else {
throw new Error("Failed to send message");
}
WhatsApp kullanıcısına belge medya iletisi gönderme
İletiler SDK'sı, Contoso'nın WhatsApp kullanıcılarına medya (görüntü, video, ses veya belge) iletileri göndermesini sağlar. Ekli medya iletisi göndermek için şunları yapmanız gerekir:
- WhatsApp Kanal Kimliği.
- Alıcı Telefon Numarası E16 biçiminde.
- Belge medyasının URL'si.
Belge iletisi göndermek için, bir belgenin URL'sini sağlayın. Örneğin,
const url = "https://example.com/document.pdf";
Belge iletisini derleyip gönderin:
// Send document message
const mediaMessageResult = await client.path("/messages/notifications:send").post({
contentType: "application/json",
body: {
channelRegistrationId: channelRegistrationId,
to: recipientList,
kind: "document",
mediaUri: url
}
});
// Process result
if (mediaMessageResult.status === "202") {
mediaMessageResult.body.receipts.forEach((receipt) => {
console.log("Message sent to:"+receipt.to+" with message id:"+receipt.messageId);
});
} else {
throw new Error("Failed to send message");
}
Kodu çalıştırma
Dosyaya eklediğiniz send-messages.js kodu çalıştırmak için node komutunu kullanın.
node ./send-messages.js
Tam örnek kod
JavaScript için GitHub
Önkoşullar
Azure İletişim Hizmetleri kaynağınıza kayıtlı WhatsApp Business Hesabı.
İletileri almak için etkin WhatsApp telefon numarası.
İşletim sisteminiz için Python 3.7+ .
Kurulum
Yeni bir Python uygulaması oluşturma
Terminal veya konsol penceresinde uygulamanız için yeni bir klasör oluşturun ve açın.
mkdir messages-quickstart && cd messages-quickstart
paketini yükleyin
Python 1.1.0 veya üzeri için Azure İletişim İletileri istemci kitaplığını kullanın.
Konsol isteminden aşağıdaki komutu çalıştırın:
pip install azure-communication-messages
InteractiveMessages, Reactions ve Stickers için lütfen aşağıdaki Beta sürümünü kullanın:
pip install azure-communication-messages==1.2.0b1
Uygulama çerçevesini ayarlama
adlı messages-quickstart.py yeni bir dosya oluşturun ve temel program yapısını ekleyin.
type nul > messages-quickstart.py
Temel program yapısı
import os
class MessagesQuickstart(object):
print("Azure Communication Services - Advanced Messages SDK Quickstart")
if __name__ == '__main__':
messages = MessagesQuickstart()
Nesne modeli
Aşağıdaki sınıflar ve arabirimler, Python için Azure İletişim Hizmetleri İletiler SDK'sının bazı önemli özelliklerini işler.
| Sınıf Adı | Açıklama |
|---|---|
NotificationMessagesClient |
Azure İletişim Hizmetleri kaynağınıza bağlanır. İletileri gönderir. |
MessageTemplate |
Hangi şablonu kullandığınızı ve iletiniz için şablon özelliklerinin içeriğini tanımlar. |
TemplateNotificationContent |
Göndermek istediğiniz şablon iletisinin "kim" ve "ne" olduğunu tanımlar. |
TextNotificationContent |
Göndermek istediğiniz metin iletisinin "kim" ve "ne" ifadelerini tanımlar. |
ImageNotificationContent |
Göndermek istediğiniz görüntü medya iletisinin "kim" ve "ne" ifadelerini tanımlar. |
DocumentNotificationContent |
Göndermek istediğiniz Belge medya iletisinin "kim" ve "ne" ifadelerini tanımlar. |
VideoNotificationContent |
Göndermek istediğiniz Video medya iletisinin "kim" ve "ne" ifadelerini tanımlar. |
AudioNotificationContent |
Göndermek istediğiniz Ses medya iletisinin "kim" ve "ne" ifadelerini tanımlar. |
Not
Daha fazla bilgi için Azure SDK'nin Python messages Package belgelemesine bakın.
Ortak yapılandırma
Python programına gerekli kod parçacıkları eklemek için messages-quickstart.py bu adımları izleyin.
- İstemcinin kimliğini doğrula.
- Kanal kayıt kimliğini ayarlayın.
- Alıcı listesini ayarlayın.
- bir işletme ile WhatsApp kullanıcısı arasında ileti göndermeye başlayın.
İstemcinin kimliğini doğrulama
Mesaj gönderimi NotificationMessagesClient kullanır. NotificationMessagesClient, Azure portalında bulunan Azure İletişim Hizmetleri kaynağından alınan bağlantı dizesi kullanılarak kimlik doğrulaması yapar.
bağlantı dizeleri hakkında daha fazla bilgi için bkz. access-your-connection-strings-and-service-endpoints.
Azure portalından Azure İletişim Kaynağı bağlantı dizesi'i ekran görüntüsünde belirtildiği gibi alın. Sol tarafta sekmeye Keys gidin. Birincil anahtarın Connection string alanını kopyalayın. bağlantı dizesi endpoint=https://{your Azure İletişim Hizmetleri resource name}.communication.azure.com/;accesskey={secret key} biçimindedir.
COMMUNICATION_SERVICES_CONNECTION_STRING ortam değişkenini bağlantı dizesi değerine ayarlayın.
Bir konsol penceresi açın ve aşağıdaki komutu girin:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Ortam değişkenini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenini okuması gereken tüm çalışan programları yeniden başlatmanız gerekebilir. Örneğin, düzenleyici olarak Visual Studio kullanıyorsanız örneği çalıştırmadan önce Visual Studio yeniden başlatın.
Sisteminiz için ortam değişkeni ayarlama hakkında daha fazla bilgi için >Connection string bir ortam değişkeninde depolama adımlarını izleyin.
# Get a connection string to our Azure Communication Services resource.
connection_string = os.getenv("COMMUNICATION_SERVICES_CONNECTION_STRING")
def send_template_message(self):
from azure.communication.messages import NotificationMessagesClient
# Create NotificationMessagesClient Client
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
Kanal kayıt kimliğini ayarlama
Kanal kaydı sırasında Kanal Kayıt Kimliği GUID'sini oluşturdunuz. Portalda, Azure İletişim Hizmetleri kaynağınızın Channels sekmesinde bulabilirsiniz.
Bunu channelRegistrationId adlı bir değişkene atayın.
channelRegistrationId = os.getenv("WHATSAPP_CHANNEL_ID_GUID")
Alıcı listesini ayarla
WhatsApp hesabıyla ilişkili etkin bir telefon numarası veya iş kapsamına sahip bir kullanıcı kimliği (BSUID) sağlamanız gerekir. Bu WhatsApp hesabı, bu makalede gönderilen şablonu, metni ve medya iletilerini alır.
Bu örnekte kişisel telefon numaranızı kullanabilirsiniz.
Alıcı telefon numarası, WhatsApp kanal kaydıyla ilişkilendirilmiş iş telefonu numarası (Gönderen Kimliği) olamaz. Gönderen Kimliği, alıcıya gönderilen metin ve medya iletilerinin göndereni olarak görünür.
Telefon numarası ülke kodunu içermelidir. Telefon numarası biçimlendirmesi hakkında daha fazla bilgi için Bkz. Telefon Numarası Biçimleri için WhatsApp belgeleri.
Not
Şu anda alıcı listesinde yalnızca bir telefon numarası veya BSUID desteklenmektedir.
Alıcı listesini şöyle ayarlayın:
phone_number = os.getenv("RECIPIENT_WHATSAPP_PHONE_NUMBER")
Telefon numarası içeren kullanım örneği:
# Example only
to=[self.phone_number],
BSUID ile kullanım örneği:
# Example only
to=["US.13491208655302741918"],
Not
BSUID'lere ileti gönderme, Haziran 2026'dan itibaren kullanıma sunulacaktır. O zamana kadar, alıcı olarak telefon numaralarını kullanın.
BSUID'ler hakkında daha fazla bilgi için bkz. WhatsApp kullanıcı adları ve BSUID'ler.
İşletme ile WhatsApp kullanıcısı arasında ileti göndermeye başlama
Bir WhatsApp Business Hesabı ile Bir WhatsApp kullanıcısı arasındaki konuşmalar iki yoldan biriyle başlatılabilir:
- İşletme, WhatsApp kullanıcısına bir şablon iletisi gönderir.
- WhatsApp kullanıcısı iş numarasına herhangi bir ileti gönderir.
bir işletme etkileşimli bir konuşma başlatamaz. bir işletme yalnızca kullanıcıdan bir ileti aldıktan sonra etkileşimli ileti gönderebilir. İşletme kullanıcıya yalnızca etkin konuşma sırasında etkileşimli iletiler gönderebilir. 24 saatlik konuşma penceresinin süresi dolduktan sonra, etkileşimli konuşmayı yalnızca kullanıcı yeniden başlatabilir. Konuşmalar hakkında daha fazla bilgi için WhatsApp İş Platformu'ndaki tanıma bakın.
Kişisel WhatsApp hesabınızdan etkileşimli bir konuşma başlatmak için iş numaranıza (Gönderen Kimliği) bir ileti gönderin.
Kod örnekleri
messages-quickstart.py python programına gerekli kod parçacıklarını eklemek için bu adımları izleyin.
- WhatsApp kullanıcısına kısa mesaj gönderin.
- Bir WhatsApp kullanıcısına görüntü medya iletisi gönderin.
- Bir WhatsApp kullanıcısına belge medya iletisi gönderin.
- Bir WhatsApp kullanıcısına sesli medya iletisi gönderin.
- WhatsApp kullanıcısına video medya iletisi gönderin.
WhatsApp kullanıcısına kısa mesaj gönderme
İletiler SDK'sı, Contoso'nın bir WhatsApp kullanıcısı tarafından başlatıldığında WhatsApp iletileri göndermesini sağlar. Kısa mesaj göndermek için:
- WhatsApp Kanal Kimliği.
- Alıcı Telefon Numarası E16 biçiminde.
- Gönderilecek ileti gövdesi/metni.
Önemli
WhatsApp kullanıcısına kısa mesaj göndermek için, WhatsApp kullanıcısının önce WhatsApp Business Hesabına bir ileti göndermesi gerekir. Daha fazla bilgi için İş ve WhatsApp kullanıcısı arasında mesaj göndermeye başlama sayfasına bakın.
Bu örnekte, WhatsApp kullanıcısını şu metinle yanıtlıyoruz: "Thanks for your feedback.\n From Notification Messaging SDK."
def send_text_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ( TextNotificationContent)
# Create NotificationMessagesClient Client
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
text_options = TextNotificationContent (
channel_registration_id=self.channelRegistrationId,
to= [self.phone_number],
content="Thanks for your feedback.\n From Notification Messaging SDK",
)
# calling send() with whatsapp message details
message_responses = messaging_client.send(text_options)
response = message_responses.receipts[0]
if (response is not None):
print("WhatsApp Text Message with message id {} was successfully sent to {}."
.format(response.message_id, response.to))
else:
print("Message failed to send")
send_text_message()'i çalıştırmak için, ana yöntemi güncelleştirin.
#Calling send_text_message()
messages.send_text_message()
WhatsApp kullanıcısına görüntü medya iletisi gönderme
İletiler SDK'sı, Contoso'nın WhatsApp kullanıcılarına görüntü WhatsApp iletileri göndermesini sağlar. Resim eklenmiş iletiler göndermek için:
- WhatsApp Kanal Kimliği.
- Alıcı Telefon Numarası E16 biçiminde.
- Görüntünün MediaUri'si.
Önemli
WhatsApp kullanıcısına kısa mesaj göndermek için, WhatsApp kullanıcısının önce WhatsApp Business Hesabına bir ileti göndermesi gerekir. Daha fazla bilgi için İş ve WhatsApp kullanıcısı arasında mesaj göndermeye başlama sayfasına bakın.
Medya içeren bir WhatsApp mesajı gönderirken kullanılan bir örnek media_uri.
input_media_uri: str = "https://aka.ms/acsicon1"
def send_image_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ( ImageNotificationContent)
# Create NotificationMessagesClient Client
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
input_media_uri: str = "https://aka.ms/acsicon1"
image_message_options = ImageNotificationContent(
channel_registration_id=self.channelRegistrationId,
to=[self.phone_number],
media_uri=input_media_uri
)
# calling send() with whatsapp image message
message_responses = messaging_client.send(image_message_options)
response = message_responses.receipts[0]
if (response is not None):
print("WhatsApp Image containing Message with message id {} was successfully sent to {}"
.format(response.message_id, response.to))
else:
print("Message failed to send")
send_text_message()'i çalıştırmak için, ana yöntemi güncelleştirin.
# Calling send_image_message()
messages.send_image_message()
WhatsApp kullanıcısına belge medya iletisi gönderme
İletiler SDK'sı, Contoso'nın Belge WhatsApp iletilerini WhatsApp kullanıcılarına göndermesini sağlar. Belgeye gömülü mesajları göndermek için:
- WhatsApp Kanal Kimliği.
- Alıcı Telefon Numarası E16 biçiminde.
- Belgenin MediaUri'sini seçin.
Önemli
Bir WhatsApp kullanıcısına belge iletisi göndermek için, WhatsApp kullanıcısının önce WhatsApp Business Hesabına bir ileti göndermesi gerekir. Daha fazla bilgi için İş ve WhatsApp kullanıcısı arasında mesaj göndermeye başlama sayfasına bakın.
Medya içeren bir WhatsApp mesajı gönderirken kullanılan bir örnek media_uri.
input_media_uri: str = "##DocumentLinkPlaceholder##"
def send_document_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ( DocumentNotificationContent)
# Create NotificationMessagesClient Client
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
input_media_uri: str = "##DocumentLinkPlaceholder##"
documents_options = DocumentNotificationContent(
channel_registration_id=self.channelRegistrationId,
to=[self.phone_number],
caption="Hello World via Advanced Messaging SDK.This is document message",
file_name="Product roadmap timeline.pptx",
media_uri=input_media_uri,
)
# calling send() with whatsapp image message
message_responses = messaging_client.send(documents_options)
response = message_responses.receipts[0]
if (response is not None):
print("WhatsApp Document containing Message with message id {} was successfully sent to {}"
.format(response.message_id, response.to))
else:
print("Message failed to send")
send_text_message() komutunu çalıştırmak için main metodunu güncelleyin:
# Calling send_image_message()
messages.send_image_message()
WhatsApp kullanıcısına sesli medya iletisi gönderme
İletiler SDK'sı, Contoso'nın WhatsApp kullanıcılarına görüntü WhatsApp iletileri göndermesini sağlar. Sesli ekli iletiler göndermek için:
- WhatsApp Kanal Kimliği.
- Alıcı Telefon Numarası E16 biçiminde.
- Sesin MediaUri'si.
Önemli
Bir WhatsApp kullanıcısına sesli ileti göndermek için, WhatsApp kullanıcısının önce WhatsApp Business Hesabına bir ileti göndermesi gerekir. Daha fazla bilgi için İş ve WhatsApp kullanıcısı arasında mesaj göndermeye başlama sayfasına bakın.
Medya içeren bir WhatsApp mesajı gönderirken kullanılan bir örnek media_uri.
input_media_uri: str = "##AudioLinkPlaceholder##"
def send_audio_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ( AudioNotificationContent)
# Create NotificationMessagesClient Client
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
input_media_uri: str = "##AudioLinkPlaceholder##"
audio_options = AudioNotificationContent(
channel_registration_id=self.channelRegistrationId,
to=[self.phone_number],
media_uri=input_media_uri,
)
# calling send() with whatsapp image message
message_responses = messaging_client.send(audio_options)
response = message_responses.receipts[0]
if (response is not None):
print("WhatsApp Audio containing Message with message id {} was successfully sent to {}"
.format(response.message_id, response.to))
else:
print("Message failed to send")
send_text_message() çalıştırmak için ana yöntemini güncelleştirin:
# Calling send_image_message()
messages.send_image_message()
WhatsApp kullanıcısına video medya iletisi gönderme
İletiler SDK'sı, Contoso'nın WhatsApp kullanıcılarına video WhatsApp iletileri göndermesini sağlar. Video eklenmiş iletiler göndermek için:
- WhatsApp Kanal Kimliği.
- Alıcı Telefon Numarası E16 biçiminde.
- Videonun MediaUri'si.
Önemli
WhatsApp kullanıcısına görüntülü ileti göndermek için, WhatsApp kullanıcısının önce WhatsApp Business Hesabına bir ileti göndermesi gerekir. Daha fazla bilgi için İş ve WhatsApp kullanıcısı arasında mesaj göndermeye başlama sayfasına bakın.
Medya içeren bir WhatsApp mesajı gönderirken kullanılan bir örnek media_uri.
input_media_uri: str = "##VideoLinkPlaceholder##"
def send_video_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ( VideoNotificationContent)
# Create NotificationMessagesClient Client
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
input_media_uri: str = "##VideoLinkPlaceholder##"
video_options = VideoNotificationContent(
channel_registration_id=self.channelRegistrationId,
to=[self.phone_number],
media_uri=input_media_uri,
)
# calling send() with whatsapp image message
message_responses = messaging_client.send(image_message_options)
response = message_responses.receipts[0]
if (response is not None):
print("WhatsApp Video containing Message with message id {} was successfully sent to {}"
.format(response.message_id, response.to))
else:
print("Message failed to send")
send_text_message()'i çalıştırmak için, ana yöntemi güncelleştirin.
# Calling send_image_message()
messages.send_image_message()
Kodu çalıştırma
Kodu çalıştırmak için, dosyanızın messages-quickstart.py bulunduğu dizinde olduğunuzdan emin olun.
python messages-quickstart.py
Azure Communication Services - Advanced Messages Quickstart
WhatsApp Templated Message with message id <<GUID>> was successfully sent to <<ToRecipient>>
WhatsApp Text Message with message id <<GUID>> was successfully sent to <<ToRecipient>>
WhatsApp Image containing Message with message id <<GUID>> was successfully sent to <<ToRecipient>>
Tam örnek kod
Not
Örnek koddaki tüm yer tutucu değişkenleri değerlerinizle değiştirin.
import os
class MessagesQuickstart(object):
print("Azure Communication Services - Advanced Messages SDK Quickstart using connection string.")
# Advanced Messages SDK implementations goes in this section.
connection_string = os.getenv("COMMUNICATION_SERVICES_CONNECTION_STRING")
phone_number = os.getenv("RECIPIENT_PHONE_NUMBER")
channelRegistrationId = os.getenv("WHATSAPP_CHANNEL_ID")
def send_template_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ( TemplateNotificationContent , MessageTemplate )
# client creation
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
input_template: MessageTemplate = MessageTemplate(
name="<<TEMPLATE_NAME>>",
language="<<LANGUAGE>>")
template_options = TemplateNotificationContent(
channel_registration_id=self.channelRegistrationId,
to=[self.phone_number],
template=input_template
)
# calling send() with WhatsApp template details.
message_responses = messaging_client.send(template_options)
response = message_responses.receipts[0]
if (response is not None):
print("WhatsApp Templated Message with message id {} was successfully sent to {}"
.format(response.message_id, response.to))
else:
print("Message failed to send")
def send_text_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ( TextNotificationContent )
# client creation
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
text_options = TextNotificationContent (
channel_registration_id=self.channelRegistrationId,
to= [self.phone_number],
content="Hello World via ACS Advanced Messaging SDK.",
)
# calling send() with WhatsApp message details
message_responses = messaging_client.send(text_options)
response = message_responses.receipts[0]
if (response is not None):
print("WhatsApp Text Message with message id {} was successfully sent to {}"
.format(response.message_id, response.to))
else:
print("Message failed to send")
def send_image_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ( ImageNotificationContent)
# Create NotificationMessagesClient Client
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
input_media_uri: str = "https://aka.ms/acsicon1"
image_message_options = ImageNotificationContent(
channel_registration_id=self.channelRegistrationId,
to=[self.phone_number],
media_uri=input_media_uri
)
# calling send() with whatsapp image message
message_responses = messaging_client.send(image_message_options)
response = message_responses.receipts[0]
if (response is not None):
print("WhatsApp Image containing Message with message id {} was successfully sent to {}"
.format(response.message_id, response.to))
else:
print("Message failed to send")
def send_document_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ( DocumentNotificationContent)
# Create NotificationMessagesClient Client
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
input_media_uri: str = "##DocumentLinkPlaceholder##"
documents_options = DocumentNotificationContent(
channel_registration_id=self.channelRegistrationId,
to=[self.phone_number],
caption="Hello World via Advanced Messaging SDK.This is document message",
file_name="Product roadmap timeline.pptx",
media_uri=input_media_uri,
)
# calling send() with whatsapp image message
message_responses = messaging_client.send(documents_options)
response = message_responses.receipts[0]
if (response is not None):
print("WhatsApp Document containing Message with message id {} was successfully sent to {}"
.format(response.message_id, response.to))
else:
print("Message failed to send")
def send_audio_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ( AudioNotificationContent)
# Create NotificationMessagesClient Client
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
input_media_uri: str = "##AudioLinkPlaceholder##"
audio_options = AudioNotificationContent(
channel_registration_id=self.channelRegistrationId,
to=[self.phone_number],
media_uri=input_media_uri,
)
# calling send() with whatsapp image message
message_responses = messaging_client.send(audio_options)
response = message_responses.receipts[0]
if (response is not None):
print("WhatsApp Audio containing Message with message id {} was successfully sent to {}"
.format(response.message_id, response.to))
else:
print("Message failed to send")
def send_video_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ( VideoNotificationContent)
# Create NotificationMessagesClient Client
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
input_media_uri: str = "##VideoLinkPlaceholder##"
video_options = VideoNotificationContent(
channel_registration_id=self.channelRegistrationId,
to=[self.phone_number],
media_uri=input_media_uri,
)
# calling send() with whatsapp image message
message_responses = messaging_client.send(image_message_options)
response = message_responses.receipts[0]
if (response is not None):
print("WhatsApp Video containing Message with message id {} was successfully sent to {}"
.format(response.message_id, response.to))
else:
print("Message failed to send")
if __name__ == '__main__':
messages = MessagesQuickstart()
messages.send_template_message()
messages.send_text_message()
messages.send_image_message()
messages.send_document_message()
messages.send_audio_message()
messages.send_video_message()
Diğer örnekler
Python İletiler SDK için diğer örnek kodları GitHub gözden geçirebilir ve indirebilirsiniz.