Aracılığıyla paylaş


Gelişmiş İletiler'i kullanarak etiket WhatsApp iletileri gönderme

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

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.

  1. adresinde NuGet Paket Yöneticisi Project>Manage NuGet Packages...açın.
  2. paketini Azure.Communication.Messagesarayın.
  3. 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ğ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}.

Azure portalında 'Birincil anahtar' bölümündeki 'Bağlantı dizesi' alanını görüntüleyen bir Azure İletişim Hizmetleri kaynağını gösteren ekran görüntüsü.

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.

Azure portalında bir Azure İletişim Hizmetleri kaynağını gösteren ve 'Kanallar' sekmesini görüntüleyen ekran görüntüsü. 'Kanal Kimliği' alanının kopyalama eylemine dikkat edin.

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.

Web'de görüntülenen ve WhatsApp Business Hesabı numarasına gönderilen bir kullanıcı iletisini gösteren bir WhatsApp konuşması.

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:

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

  1. Kodunuzu derlemek için Ctrl F7+.
  2. 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

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.

İş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}.

Azure portalında 'Birincil anahtar' bölümündeki 'Bağlantı dizesi' alanını görüntüleyen bir Azure İletişim Hizmetleri kaynağını gösteren ekran görüntüsü.

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.

Azure portalında bir Azure İletişim Hizmetleri kaynağını gösteren ve 'Kanallar' sekmesini görüntüleyen ekran görüntüsü. 'Kanal Kimliği' alanının kopyalama eylemine dikkat edin.

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:

Ö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

  1. pom.xml dosyasını içeren dizini açın ve mvn komutunu kullanarak projeyi derleyin.

    mvn compile
    
  2. 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.

Kurulum

Yeni bir Node.js uygulaması oluşturma

  1. Uygulamanız için yeni bir dizin oluşturun ve bunu bir terminalde veya komut penceresinde açın.

  2. Aşağıdaki komutu çalıştırın.

    mkdir advance-messages-quickstart && cd advance-messages-quickstart
    
  3. Varsayılan ayarlara sahip bir package.json dosya oluşturmak için aşağıdaki komutu çalıştırın.

    npm init -y
    
  4. Proje kök dizininde adlı send-messages.js bir dosya oluşturmak için bir metin düzenleyicisi kullanın.

  5. 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

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.

İş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}.

Azure portalında 'Birincil anahtar' bölümündeki 'Bağlantı dizesi' alanını görüntüleyen bir Azure İletişim Hizmetleri kaynağını gösteren ekran görüntüsü.

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.

Azure portalında bir Azure İletişim Hizmetleri kaynağını gösteren ve 'Kanallar' sekmesini görüntüleyen ekran görüntüsü. 'Kanal Kimliği' alanının kopyalama eylemine dikkat edin.

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:

Ö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

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ğ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}.

Azure portalında 'Anahtarlar' bölümündeki 'Birincil Anahtar' alanını görüntüleyen bir Azure İletişim Hizmetleri kaynağını gösteren ekran görüntüsü.

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.

Azure portalında bir Azure İletişim Hizmetleri kaynağını gösteren ve 'Kanallar' sekmesini görüntüleyen ekran görüntüsü. 'Kanal Kimliği' alanının kopyalama eylemine dikkat edin.

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.

Web'de görüntülenen ve WhatsApp Business Hesabı numarasına gönderilen bir kullanıcı iletisini gösteren bir WhatsApp konuşması.

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:

  • WhatsApp Kanal Kimliği.

  • Alıcı Telefon Numarası E16 biçiminde.

  • 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>>

İşletmeden Kullanıcıya WhatsApp eylem çağrısı etkileşimli iletisini gösteren ekran görüntüsü.

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.