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 etiket iletileri göndermeye ve 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 senti veya daha az bir maliyete neden olur.
Önkoşullar
- Azure İletişim Hizmetleri kaynağınıza kayıtlı WhatsApp Business Hesabı.
- İletileri almak için etkin WhatsApp telefon numarası.
- .NET geliştirme ortamı, örneğin Visual Studio, Visual Studio Code veya .NET CLI.
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+.
paketini yükleyin
Azure.Communication.Messages NuGet paketini C# projenize yükleyin.
- adresinde NuGet Paket Yöneticisi
Project
>Manage NuGet Packages...
açın. - paketini
Azure.Communication.Messages
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çeren 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. |
StickerNotificationContent |
İletilerin etiket içeriğini tanımlar. |
Not
Daha fazla bilgi için bkz. .NET için Azure SDK dokümantasyonu Azure.Communication.Messages Ad Alanı.
Ortak yapılandırma
Gerekli kod parçacıklarını dosyanızdaki Program.cs
Main yöntemine 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. Bu yöntem, Azure portalındaki Azure İletişim Hizmetleri kaynağından aldığınız bağlantı dizesini kullanarak kimlik doğrulaması yapar. bağlantı dizeleri hakkında daha fazla bilgi için bkz: access-your-connection-strings-and-service-endpoints.
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ı dizesi alın. Sol tarafta sekmeye Keys
gidin. Birincil anahtarın Connection string
alanını kopyalayın. bağlantı dizesi biçimindedirendpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}
.
Ortam değişkenini COMMUNICATION_SERVICES_CONNECTION_STRING
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'yu yeniden başlatın.
Sisteminiz için ortam değişkeni ayarlama hakkında daha fazla bilgi için bağlantı dizesi bir ortam değişkeninde depolama sayfasındaki adımları izleyin.
NotificationMessagesClient
örneğini başlatmak 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 Kanallar 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ı sağlamanız gerekir. Bu WhatsApp hesabı, bu hızlı başlangıçta gönderilen şablon, metin ve medya mesajlarını 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ı desteklenmektedir.
Alıcı listesini şu şekilde oluşturun:
var recipientList = new List<string> { "<to WhatsApp phone number>" };
Örnek:
// Example only
var recipientList = new List<string> { "+14255550199" };
İş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.
Önemli
Bir WhatsApp kullanıcısına etiket 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 İşletme ve WhatsApp kullanıcısı arasında mesaj göndermeye başlayın bölümüne bakın.
WhatsApp kullanıcısına etiket iletileri gönderme
İletiler SDK'sı, Contoso'nın WhatsApp kullanıcıları tarafından başlatıldığında etiket WhatsApp iletileri göndermesini sağlar. Etiket iletileri göndermek için:
- Kimliği Doğrulanmış Bildirim Mesajları İstemcisi.
- WhatsApp kanal kimliği.
- Alıcı telefon numarası E16 biçiminde.
- Etiket medyasının URI'sini seçin.
Bu örnekte işletme, WhatsApp kullanıcısına etiket iletisi gönderir:
Etiket içeriğini bir araya getirme:
var stickerLink = new Uri("https://example.com/sticker.webp");
var stickerNotificationContent = new StickerNotificationContent(channelRegistrationId, recipientList, stickerLink);
Etiket iletisini gönderin:
var stickerResponse = await notificationMessagesClient.SendAsync(stickerNotificationContent);
Kodu çalıştırma
- Kodunuzu derlemek için Ctrl F7+.
- Programı hata ayıklamadan çalıştırmak için Ctrl F5 tuşlarına+basın.
Tam örnek kod
Not
Koddaki tüm yer tutucu değişkenleri değerlerinizle değiştirin.
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 a sticker message
var stickerLink = new Uri("https://example.com/sticker.webp");
var stickerNotificationContent = new StickerNotificationContent(channelRegistrationId, recipientList, stickerLink);
var stickerResponse = await notificationMessagesClient.SendAsync(stickerNotificationContent);
Console.WriteLine("Sticker message sent.\nPress any key to exit.\n");
Console.ReadKey();
}
}
}
Ö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 java uygulaması oluşturma
Bir terminal veya komut penceresi açın ve Java uygulamanızı oluşturmak istediğiniz dizine gidin. Şablondan maven-archetype-quickstart
Java projesi 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ğer ile aynı ada sahip bir dizin oluşturur. Bu dizin altında, src/main/java
dizin proje kaynak kodunu, src/test/java
dizin test kaynağını ve pom.xml
dosya da projenin Proje Nesne Modeli'ni (POM) içerir.
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
/src/main/java/com/communication/quickstart/App.java
'i bir metin düzenleyicisinde açın, içe aktarma yönergeleri ekleyin ve System.out.println("Hello world!");
deyimini 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.
}
}
Nesne modeli
Aşağıdaki sınıflar ve arabirimler Java için Azure İletişim Hizmetleri İletileri 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. |
StickerNotificationContent |
İletilerin etiket içeriğini tanımlar. |
Not
Daha fazla bilgi için com.azure.communication.messages Package adresindeki Java için Azure SDK başvurusuna bakın.
Ortak yapılandırma
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.
İş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:
bir istemcinin 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ı dizesi alın. Sol tarafta Keys
sekmesine gidin. Connection string
için Primary key
alanını kopyalayın. bağlantı dizesi biçimindedirendpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}
.
Ortam değişkenini COMMUNICATION_SERVICES_CONNECTION_STRING
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 bağlantı dizesi bir ortam değişkeninde depolama sayfasındaki adımları 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. Bunu portalda Azure İletişim Hizmetleri kaynağınızın Kanallar sekmesinden arayabilirsiniz.
Bunu channelRegistrationId adlı bir değişkene atayın.
String channelRegistrationId = "<your channel registration id GUID>";
Alıcı listesini ayarla
Kendisiyle ilişkilendirilmiş bir WhatsApp hesabı olan 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ı desteklenmektedir.
Alıcı listesini şu şekilde oluşturun:
List<String> recipientList = new ArrayList<>();
recipientList.add("<to WhatsApp phone number>");
Örnek:
// Example only
List<String> recipientList = new ArrayList<>();
recipientList.add("+14255550199");
Kod örnekleri
Dosyanızın App.java
ana işlevine gerekli kod parçacıklarını eklemek için bu adımları izleyin.
WhatsApp kullanıcısına etiket iletileri gönderme
İletiler SDK'sı, Contoso'nın WhatsApp kullanıcıları tarafından başlatıldığında tepki WhatsApp iletileri göndermesini sağlar. Kısa mesaj göndermek için:
- WhatsApp Kanal Kimliği.
- Alıcı Telefon Numarası E16 biçiminde.
- Çıkartmanın URL'si.
Önemli
Kullanıcıya çıkartma 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 İşletme ve WhatsApp kullanıcısı arasında mesaj göndermeye başlayın bölümüne bakın.
Etiket iletisini derleyip gönderin:
// Assemble sticker message
String stickerUrl = "https://www.gstatic.com/webp/gallery/1.sm.webp";
StickerNotificationContent sticker = new StickerNotificationContent("<CHANNEL_ID>", recipients, stickerUrl);
// Send sticker message
SendMessageResult textMessageResult = notificationClient.send(sticker);
// Process result
for (MessageReceipt messageReceipt : textMessageResult.getReceipts()) {
System.out.println("Message sent to:" + messageReceipt.getTo() + " and message id:" + messageReceipt.getMessageId());
}
Kodu çalıştırma
pom.xml
dosyasını içeren dizini açın vemvn
komutunu kullanarak projeyi derleyin.mvn compile
Aşağıdaki
mvn
komutu 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
Son haline getirilmiş kod örneğini GitHub'da Java İletileri SDK'sı sayfasında bulabilirsiniz.
Ö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 önerilir).
- Bir terminal veya komut penceresinde, Node.js'in yüklü olup olmadığını kontrol etmek için
node --version
komutunu çalıştırın.
- Bir terminal veya komut penceresinde, Node.js'in yüklü olup olmadığını kontrol etmek için
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-quickstart
Varsayılan ayarlara sahip bir
package.json
dosya oluşturmak için aşağıdaki komutu çalıştırın.npm init -y
Proje kök dizininde adlı
send-messages.js
bir dosya oluşturmak için bir metin düzenleyicisi kullanın.dosyasına
send-messages.js
aş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
npm install
JavaScript için Azure İletişim Hizmetleri Advance Messaging SDK'sını yüklemek için komutunu kullanın.
npm install @azure-rest/communication-messages --save
--save
seçeneği, dosyanızdaki package.json içinde kitaplığı bir bağımlılık olarak listeler.
Nesne modeli
Aşağıdaki sınıflar ve arabirimler JavaScript için Azure İletişim Hizmetleri İletileri 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. |
StickerNotificationContent |
İletilerin etiket içeriğini tanımlar. |
Not
Daha fazla bilgi için bkz. JavaScript için Azure SDK referansı @Azure-rest/communication-messages paketi
Ortak yapılandırma
Dosyanıza send-messages.js
gerekli kod parçacıkları 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.
- bir işletme ile WhatsApp kullanıcısı arasında ileti göndermeye başlayın.
İş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 adlı COMMUNICATION_SERVICES_CONNECTION_STRING
bir ortam değişkeninden kaynağın bağlantı dizesi 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ı dizesi alın. Sol tarafta Keys
sekmesine gidin. Connection string
için Primary key
alanını kopyalayın. bağlantı dizesi biçimindedirendpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}
.
Ortam değişkenini COMMUNICATION_SERVICES_CONNECTION_STRING
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 bağlantı dizesi bir ortam değişkeninde depolama sayfasındaki adımları 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. Bunu portalda Azure İletişim Hizmetleri kaynağınızın Kanallar sekmesinden arayabilirsiniz.
Bunu channelRegistrationId adlı bir değişkene atayın.
const channelRegistrationId = "<your channel registration id GUID>";
Alıcı listesini ayarla
Kendisiyle ilişkilendirilmiş bir WhatsApp hesabı olan 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ı desteklenmektedir.
Alıcı listesini şu şekilde oluşturun:
const recipientList = ["<to WhatsApp phone number>"];
Örnek:
// Example only
const recipientList = ["+14255550199"];
Kod örnekleri
Dosyanıza send-messages.js
gerekli kod parçacıkları eklemek için bu adımları izleyin.
WhatsApp kullanıcısına etiket iletileri gönderme
İletiler SDK'sı, Contoso'nın WhatsApp kullanıcıları tarafından başlatıldığında tepki WhatsApp iletileri göndermesini sağlar. Kısa mesaj göndermek için:
- WhatsApp Kanal Kimliği.
- Alıcı Telefon Numarası E16 biçiminde.
- Çıkartmanın URL'si.
Önemli
Kullanıcıya çıkartma 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 İşletme ve WhatsApp kullanıcısı arasında mesaj göndermeye başlayın bölümüne bakın.
Bu örnekte işletme kullanıcıya bir etiket iletisi gönderir:
/**
* @summary Send a sticker message. Supported sticker type - (.webp)
*/
const { AzureKeyCredential } = require("@azure/core-auth");
const NotificationClient = require("@azure-rest/communication-messages").default,
{ isUnexpected } = require("@azure-rest/communication-messages");
// Load the .env file if it exists
require("dotenv").config();
async function main() {
const credential = new AzureKeyCredential(process.env.ACS_ACCESS_KEY || "");
const endpoint = process.env.ACS_URL || "";
const client = NotificationClient(endpoint, credential);
console.log("Sending message...");
const result = await client.path("/messages/notifications:send").post({
contentType: "application/json",
body: {
channelRegistrationId: process.env.CHANNEL_ID || "",
to: [process.env.RECIPIENT_PHONE_NUMBER || ""],
kind: "sticker",
mediaUri: "https://www.gstatic.com/webp/gallery/1.sm.webp",
},
});
console.log("Response: " + JSON.stringify(result, null, 2));
if (isUnexpected(result)) {
throw new Error("Failed to send message");
}
const response = result;
response.body.receipts.forEach((receipt) => {
console.log("Message sent to:" + receipt.to + " with message id:" + receipt.messageId);
});
}
main().catch((error) => {
console.error("Encountered an error while sending message: ", error);
throw error;
});
Kodu çalıştırma
send-messages.js dosyasına eklediğiniz kodu çalıştırmak için node komutunu kullanın.
node ./send-messages.js
Tam örnek kod
GitHub JavaScript İletileri SDK'sı üzerinde bu örneğin son halini alan kodu bulun.
Önkoşullar
Azure İletişim Hizmetleri kaynağınıza kayıtlı WhatsApp Business Hesabı.
İletileri almak için etkin WhatsApp telefon numarası.
Kurulum
Yeni 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 İletileri 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. |
StickerNotificationContent |
İletilerin etiket içeriğini tanımlar. |
Not
Daha fazla bilgi için bkz. Python için Azure SDK başvuru iletileri Paketi.
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.
İstemcinin kimliğini doğrulama
Mesaj gönderimi NotificationMessagesClient kullanır. NotificationMessagesClient, Azure portalındaki Azure İletişim Hizmetleri kaynağından alınan bağlantı dizenizi kullanarak kimlik doğrulaması yapar. F
Bağlantı dizeleri hakkında daha fazla bilgi için bkz. access-your-connection-strings-and-service-endpoints.
Ekran görüntüsünde gösterildiği gibi Azure portaldan Azure İletişim Kaynağı bağlantı dizesi alın. Sol tarafta sekmeye Keys
gidin. Birincil anahtarın Connection string
alanını kopyalayın. bağlantı dizesi biçimindedirendpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}
.
Ortam değişkenini COMMUNICATION_SERVICES_CONNECTION_STRING
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'yu yeniden başlatın.
Sisteminiz için ortam değişkeni ayarlama hakkında daha fazla bilgi için bağlantı dizesi bir ortam değişkeninde depolama sayfasındaki adımları 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 Kanallar 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ı 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ı desteklenmektedir.
Alıcı listesini şöyle ayarlayın:
phone_number = os.getenv("RECIPIENT_WHATSAPP_PHONE_NUMBER")
Kullanım Örneği:
# Example only
to=[self.phone_number],
İş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
Python programına gerekli kod parçacıkları eklemek için messages-quickstart.py
bu adımları izleyin.
WhatsApp kullanıcısına etiket iletileri gönderme
İletiler SDK'sı, Contoso'nın WhatsApp kullanıcıları tarafından başlatıldığında etiket WhatsApp iletileri göndermesini sağlar. Etiket iletileri göndermek için:
Etiket iletisi içeriği verilen özellikler kullanılarak oluşturulabilir:
Eylem türü Açıklama StickerNotificationContent
Bu sınıf etiket ileti içeriğini tanımlar. Media_Uri
Bu özellik, animasyonlu/statik etiket için uri'yi tanımlar.
Ö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 İşletme ve WhatsApp kullanıcısı arasında mesaj göndermeye başlayın bölümüne bakın.
Bu örnekte işletme, WhatsApp kullanıcısına etiket iletisi gönderir:
def send_sticker_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import StickerNotificationContent
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
video_options = StickerNotificationContent(
channel_registration_id=self.channel_id,
to=[self.phone_number],
media_uri="https://www.simpleimageresizer.com/_uploads/photos/d299e618/1.sm_512x512_cropped.webp",
)
# calling send() with whatsapp message details
message_responses = messaging_client.send(video_options)
response = message_responses.receipts[0]
print("Message with message id {} was successful sent to {}".format(response.message_id, response.to))
send_sticker_message()
çalıştırmak için ana yöntemi güncelleştirin.
#Calling send_sticker_message()
messages.send_sticker_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 reaction-messages-quickstart.py
Azure Communication Services - Advanced Messages Quickstart
WhatsApp Sticker Message with message id <<GUID>> was successfully sent to <<ToRecipient>>
Tam örnek kod
Not
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_sticker_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import StickerNotificationContent
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
video_options = StickerNotificationContent(
channel_registration_id=self.channel_id,
to=[self.phone_number],
media_uri="https://www.simpleimageresizer.com/_uploads/photos/d299e618/1.sm_512x512_cropped.webp",
)
# calling send() with whatsapp message details
message_responses = messaging_client.send(video_options)
response = message_responses.receipts[0]
print("WhatsApp Sticker Message with message id {} was successful sent to {}".format(response.message_id, response.to))
if __name__ == '__main__':
messages = MessagesQuickstart()
messages.send_sticker_message()
Diğer örnekler
Python İletileri SDK'sı'nda GitHub'daki diğer örnek kodları gözden geçirebilir ve indirebilirsiniz.
WhatsApp Çıkartmalarıyla Çalışma hakkında SSS
Desteklenen etiket biçimi ve boyut sınırları nelerdir?
Etiket Türü | Uzantı | MIME Türü | En Büyük Boyut |
---|---|---|---|
Animasyonlu çıkartma | .webp | image/webp formatı | 500 KB |
Statik etiket | .webp | image/webp formatı | 100 KB |
Karşıya yüklenecek etiket doğru boyutu nedir?
Çıkartma boyutu 512 x 512 piksel olmalıdır.
Sonraki adımlar
Daha fazla bilgi için bkz.
- Gelişmiş Mesajlaşma olaylarını işleme.
- WhatsApp şablon iletileri gönderin.
- WhatsApp medya iletileri gönderin.