Hızlı Başlangıç: SMS iletisi gönderme

Önemli

SMS özellikleri, kullandığınız telefon numarasına ve Azure fatura adresiniz tarafından belirlenen şekilde içinde çalıştığınız ülkeye/bölgeye bağlıdır. Daha fazla bilgi için bkz . Abonelik uygunluğu.

Not

Lütfen bu kısa ankete katılarak Azure İletişim Hizmetleri hakkındaki düşüncelerinizi ve geri bildirimlerinizi bizimle paylaşın.


SMS iletileri göndermek için Azure CLI'daki İletişim modülünü kullanarak Azure İletişim Hizmetleri kullanmaya başlayın.

Bu hızlı başlangıcı tamamladığınızda Azure hesabınıza birkaç sentlik (ABD doları cinsinden) veya daha düşük bir ücret yansıtılır.

Önkoşullar

Önkoşul denetimi

  • Terminalde veya komut penceresinde komutunu çalıştırarak az --version Azure CLI'nın yüklü olup olmadığını denetleyin.

Ayarlama

İletişim modülünü yükleme

İletişim modülünü yüklemek için terminalde veya komut penceresinde aşağıdaki komutu çalıştırın.

az extension add --name communication

Azure CLI'da oturum açma

Azure CLI'da oturum açmanız gerekir. Terminalden komutunu çalıştırarak az login ve kimlik bilgilerinizi sağlayarak oturum açabilirsiniz.

Doğru aboneliği kullandığınızdan emin olun

Hesabınızda birden çok abonelik varsa, bu öğretici için doğru aboneliği kullandığınızdan emin olun.

Terminalde veya komut pencerelerinde, geçerli aboneliği denetlemek için aşağıdaki komutu çalıştırın.

az account show

Aboneliği değiştirmeniz gerekiyorsa, aşağıdaki komutu çalıştırarak bunu yapabilirsiniz.

az account set --subscription "<yourSubcriptionId>"

değerini, Azure portalındaki Abonelikler bölümünde bulabileceğiniz gerçek abonelik kimliğiniz ile değiştirmeniz <yourSubscriptionId> gerekir.

(İsteğe bağlı) Bağlantı dizesi geçirmeden Azure CLI sms işlemlerini kullanma

ortam değişkeniniAZURE_COMMUNICATION_CONNECTION_STRING, bağlantı dizesi geçirmek için kullanmak zorunda kalmadan Azure CLI sms işlemlerini kullanacak --connection_string şekilde yapılandırabilirsiniz. Ortam değişkenini yapılandırmak için bir konsol penceresi açın ve aşağıdaki sekmelerden işletim sisteminizi seçin. değerini gerçek bağlantı dizesi ile değiştirin<yourConnectionString>.

Bir konsol penceresi açın ve aşağıdaki komutu girin:

setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"

Ortam değişkenini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenini okumak için 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.

Operations

1:1 SMS iletisi gönderme

Tek bir alıcıya SMS iletisi göndermek için sms modülünden yöntemini tek bir alıcı telefon numarasıyla çağırın send .

az communication sms send --sender "<fromPhoneNumber>" --recipient "<toPhoneNumber>" --message "Hello world via SMS for Azure CLI!" --connection-string "<yourConnectionString>"

Kodda şu değişiklikleri yapın:

  • değerini İletişim Hizmetleri kaynağınızla ilişkilendirilmiş SMS özellikli bir telefon numarasıyla değiştirin <fromPhoneNumber> .
  • yerine <toPhoneNumber> ileti göndermek istediğiniz telefon numarasını yazın.
  • değerini bağlantı dizesi ile değiştirin<yourConnectionString>.

Uyarı

Telefon numaralarını E.164 uluslararası standart biçiminde (örneğin, +14255550123) sağlayın. için değeri <fromPhoneNumber> , örneğin 23456 veya contoso gibi alfasayısal gönderen kimliği gibi kısa bir kod da olabilir.

1:N SMS iletisi gönderme

Alıcı listesine SMS iletisi göndermek için, sms modülünden birden çok alıcı telefon numarası içeren yöntemini çağırın send .

az communication sms send --sender "<fromPhoneNumber>" --recipient "<toPhoneNumber1>" "<toPhoneNumber2>" "<toPhoneNumber3>" --message "Hello world via SMS for Azure CLI!" --connection-string "<yourConnectionString>"

Kodda şu değişiklikleri yapın:

  • değerini İletişim Hizmetleri kaynağınızla ilişkilendirilmiş SMS özellikli bir telefon numarasıyla değiştirin <fromPhoneNumber> .
  • yerine <toPhoneNumberN> ileti göndermek istediğiniz N'th telefon numarasını yazın.
  • değerini bağlantı dizesi ile değiştirin<yourConnectionString>.

Uyarı

Telefon numaralarını E.164 uluslararası standart biçiminde (örneğin, +14255550123) sağlayın. için değeri <fromPhoneNumber> , örneğin 23456 veya contoso gibi alfasayısal gönderen kimliği gibi kısa bir kod da olabilir.

SMS iletileri göndermek için İletişim Hizmetleri C# SMS SDK'sını kullanarak Azure İletişim Hizmetleri kullanmaya başlayın.

Bu hızlı başlangıcı tamamladığınızda Azure hesabınıza birkaç sentlik (ABD doları cinsinden) veya daha düşük bir ücret yansıtılır.

Önkoşullar

Önkoşul denetimi

  • Terminalde veya komut penceresinde komutunu çalıştırarak dotnet .NET SDK'sının yüklü olup olmadığını denetleyin.
  • İletişim Hizmetleri kaynağınızla ilişkili telefon numaralarını görüntülemek için Azure portalında oturum açın ve İletişim Hizmetleri kaynağınızı bulun. Sol taraftaki gezinti bölmesinde Telefon sayı seçin.

Uygulama ortamını ayarlama

İleti göndermek üzere bir ortam ayarlamak için aşağıdaki bölümlerde yer alan adımları uygulayın.

Yeni bir C# uygulaması oluşturma

  1. cmd, PowerShell veya Bash gibi bir konsol penceresinde komutunu kullanarak dotnet new adlı SmsQuickstartyeni bir konsol uygulaması oluşturun. Bu komut, Program.cs tek bir kaynak dosyasıyla basit bir "Merhaba Dünya" C# projesi oluşturur.

    dotnet new console -o SmsQuickstart
    
  2. Dizininizi yeni oluşturulan uygulama klasörüne değiştirin ve komutunu kullanarak dotnet build uygulamanızı derleyin.

    cd SmsQuickstart
    dotnet build
    

paketini yükleyin

  1. Uygulama dizinindeyken, aşağıdaki komutu kullanarak .NET paketi için Azure İletişim Hizmetleri SMS SDK'sını yükleyin.

    dotnet add package Azure.Communication.Sms --version 1.0.0
    
  2. Ad alanını eklemek Azure.Communication için Program.cs en üstüne bir using yönerge ekleyin.

    
    using System;
    using System.Collections.Generic;
    
    using Azure;
    using Azure.Communication;
    using Azure.Communication.Sms;
    
    

Nesne modeli

Aşağıdaki sınıflar ve arabirimler, C# için Azure İletişim Hizmetleri SMS SDK'sının bazı önemli özelliklerini işler.

Veri Akışı Adı Açıklama
SmsClient Bu sınıf tüm SMS işlevleri için gereklidir. Bu örneği abonelik bilgilerinizle oluşturur ve SMS mesajları göndermek için kullanırsınız.
SmsSendOptions Bu sınıf, teslim raporlamayı yapılandırmak için seçenekler sağlar. enable_delivery_report True olarak ayarlanırsa, teslim başarılı olduğunda bir olay yayılır.
SmsSendResult Bu sınıf SMS hizmetinin sonucunu içerir.

İstemcinin kimliğini doğrulama

Program.cs bir metin düzenleyicisinde açın ve bağlantı dizesi ile başlatmak SmsClient için yönteminin Main gövdesini kodla değiştirin. Aşağıdaki kod, adlı COMMUNICATION_SERVICES_CONNECTION_STRINGbir ortam değişkeninden kaynağın bağlantı dizesi alır. Kaynağınızın bağlantı dizesi yönetmeyi öğrenin.

// This code retrieves your connection string
// from an environment variable.
string connectionString = Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_CONNECTION_STRING");

SmsClient smsClient = new SmsClient(connectionString);

1:1 SMS iletisi gönderme

Tek bir alıcıya SMS iletisi göndermek için SmsClient'dan veya SendAsync işlevini çağırınSend. Bu kodu Program.cs yönteminin Mainsonuna ekleyin:

SmsSendResult sendResult = smsClient.Send(
    from: "<from-phone-number>",
    to: "<to-phone-number>",
    message: "Hello World via SMS"
);

Console.WriteLine($"Sms id: {sendResult.MessageId}");

Kodda şu değişiklikleri yapın:

  • değerini İletişim Hizmetleri kaynağınızla ilişkilendirilmiş SMS özellikli bir telefon numarasıyla değiştirin <from-phone-number> .
  • yerine <to-phone-number> ileti göndermek istediğiniz telefon numarasını yazın.

Uyarı

Telefon numaralarını E.164 uluslararası standart biçiminde (örneğin, +14255550123) sağlayın. için değeri <from-phone-number> , örneğin 23456 veya contoso gibi alfasayısal gönderen kimliği gibi kısa bir kod da olabilir.

Seçeneklerle 1:N SMS iletisi gönderme

Alıcı listesine SMS iletisi göndermek için SmsClient'dan alıcı telefon numaraları listesiyle veya SendAsync işlevini çağırınSend. Ayrıca, teslim raporunun etkinleştirilip etkinleştirilmeyeceğini belirtmek ve özel etiketler ayarlamak için isteğe bağlı parametreler de sağlayabilirsiniz.

Response<IReadOnlyList<SmsSendResult>> response = smsClient.Send(
    from: "<from-phone-number>",
    to: new string[] { "<to-phone-number-1>", "<to-phone-number-2>" },
    message: "Weekly Promotion!",
    options: new SmsSendOptions(enableDeliveryReport: true) // OPTIONAL
    {
        Tag = "marketing", // custom tags
    });

IEnumerable<SmsSendResult> results = response.Value;
foreach (SmsSendResult result in results)
{
    Console.WriteLine($"Sms id: {result.MessageId}");
    Console.WriteLine($"Send Result Successful: {result.Successful}");
}

Kodda şu değişiklikleri yapın:

  • değerini İletişim Hizmetleri kaynağınızla ilişkilendirilmiş SMS özellikli bir telefon numarasıyla değiştirin <from-phone-number> .
  • ve <to-phone-number-2> yerine <to-phone-number-1> ileti göndermek istediğiniz telefon numaralarını yazın.

Uyarı

Telefon numaralarını E.164 uluslararası standart biçiminde (örneğin, +14255550123) sağlayın. için değeri <from-phone-number> , örneğin 23456 veya contoso gibi alfasayısal gönderen kimliği gibi kısa bir kod da olabilir.

enableDeliveryReport parametresi, teslim raporlamayı yapılandırmak için kullanabileceğiniz isteğe bağlı bir parametredir. Bu işlev, SMS iletileri teslim edildiğinde olayları yaymak istediğinizde kullanışlıdır. SMS iletileriniz için teslim raporlamayı yapılandırmak için SMS Olaylarını İşleme hızlı başlangıcına bakın.

Teslim raporuna Tag etiket uygulamak için parametresini kullanabilirsiniz.

Kodu çalıştırma

komutunu kullanarak dotnet run uygulamayı uygulama dizininizden çalıştırın.

dotnet run

Örnek kod

Örnek uygulamayı GitHub'dan indirebilirsiniz.

SMS iletileri göndermek için İletişim Hizmetleri JavaScript SMS SDK'sını kullanarak Azure İletişim Hizmetleri kullanmaya başlayın.

Bu hızlı başlangıcı tamamladığınızda Azure hesabınıza birkaç sentlik (ABD doları cinsinden) veya daha düşük bir ücret yansıtılır.

Önkoşullar

Önkoşul denetimi

  • Terminalde veya komut penceresinde Node.js yüklenip yüklenmediğini denetlemek için komutunu çalıştırın node --version .
  • İletişim Hizmetleri kaynağınızla ilişkili telefon numaralarını görüntülemek için Azure portalında oturum açın ve İletişim Hizmetleri kaynağınızı bulun. Sol taraftaki gezinti bölmesinde Telefon sayı seçin.

Uygulama ortamını ayarlama

İleti göndermek üzere bir ortam ayarlamak için aşağıdaki bölümlerde yer alan adımları uygulayın.

Yeni bir Node.js uygulaması oluşturma

  1. Terminalinizi veya komut pencerenizi açın ve aşağıdaki komutu çalıştırarak uygulamanız için yeni bir dizin oluşturun ve bu dizine gidin.

    mkdir sms-quickstart && cd sms-quickstart
    
  2. Varsayılan ayarlarla bir package.json dosyası oluşturmak için aşağıdaki komutu çalıştırın.

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

Aşağıdaki bölümlerde, bu hızlı başlangıcın tüm kaynak kodunu yeni oluşturduğunuz send-sms.js dosyasına ekleyeceksiniz.

paketini yükleyin

npm install JavaScript için Azure İletişim Hizmetleri SMS SDK'sını yüklemek için komutunu kullanın.

npm install @azure/communication-sms --save

seçeneği--save, kitaplığı package.json dosyanızda bağımlılık olarak listeler.

Nesne modeli

Aşağıdaki sınıflar ve arabirimler, Node.js için Azure İletişim Hizmetleri SMS SDK'sının bazı önemli özelliklerini işler.

Veri Akışı Adı Açıklama
SmsClient Bu sınıf tüm SMS işlevleri için gereklidir. Bu örneği abonelik bilgilerinizle oluşturur ve SMS mesajları göndermek için kullanırsınız.
SmsSendRequest Bu arabirim, SMS isteğini oluşturmaya yönelik modeldir. Telefon numaralarını ve SMS içeriğini yapılandırmak için bunu kullanırsınız.
SmsSendOptions Bu arabirim, teslim raporlamayı yapılandırmak için seçenekler sağlar. olarak ayarlanırsa enableDeliveryReporttrue, teslim başarılı olduğunda bir olay yayılır.
SmsSendResult Bu sınıf SMS hizmetinin sonucunu içerir.

İstemcinin kimliğini doğrulama

Bir istemcinin kimliğini doğrulamak için SMSClient'ı SDK'dan içeri aktarır ve bağlantı dizesi örneğinizle oluşturursunuz. Kaynak için bağlantı dizesi bir ortam değişkeninden alabilirsiniz. Örneğin, bu bölümdeki kod ortam değişkeninden COMMUNICATION_SERVICES_CONNECTION_STRING bağlantı dizesi alır. Kaynağınızın bağlantı dizesi yönetmeyi öğrenin.

İstemciyi içeri aktarmak ve örneği için:

  1. send-sms.js adlı bir dosya oluşturun.

  2. aşağıdaki kodu send-sms.js ekleyin.

const { SmsClient } = require('@azure/communication-sms');

// This code retrieves your connection string
// from an environment variable.
const connectionString = process.env['COMMUNICATION_SERVICES_CONNECTION_STRING'];

// Instantiate the SMS client.
const smsClient = new SmsClient(connectionString);

1:N SMS iletisi gönderme

Alıcı listesine SMS iletisi göndermek için SmsClient'dan alıcı telefon numaraları listesiyle işlevini çağırın send . Tek bir alıcıya ileti göndermek istiyorsanız, listeye yalnızca bir numara ekleyin. Bu kodu send-sms.js sonuna ekleyin:

async function main() {
  const sendResults = await smsClient.send({
    from: "<from-phone-number>",
    to: ["<to-phone-number-1>", "<to-phone-number-2>"],
    message: "Hello World 👋🏻 via SMS"
  });

  // Individual messages can encounter errors during sending.
  // Use the "successful" property to verify the status.
  for (const sendResult of sendResults) {
    if (sendResult.successful) {
      console.log("Success: ", sendResult);
    } else {
      console.error("Something went wrong when trying to send this message: ", sendResult);
    }
  }
}

main();

Kodda şu değişiklikleri yapın:

  • değerini İletişim Hizmetleri kaynağınızla ilişkilendirilmiş SMS özellikli bir telefon numarasıyla değiştirin <from-phone-number> .
  • ve <to-phone-number-2> yerine <to-phone-number-1> ileti göndermek istediğiniz telefon numaralarını yazın.

Uyarı

Telefon numaralarını E.164 uluslararası standart biçiminde (örneğin, +14255550123) sağlayın. için değeri <from-phone-number> , örneğin 23456 veya contoso gibi alfasayısal gönderen kimliği gibi kısa bir kod da olabilir.

Seçeneklerle 1:N SMS iletisi gönderme

Ayrıca, teslim raporunun etkinleştirilip etkinleştirilmeyeceğini belirtmek ve özel etiketler ayarlamak için bir seçenekler nesnesi de sağlayabilirsiniz.


async function main() {
  const sendResults = await smsClient.send({
    from: "<from-phone-number>",
    to: ["<to-phone-number-1>", "<to-phone-number-2>"],
    message: "Weekly Promotion!"
  }, {
    // Optional parameters
    enableDeliveryReport: true,
    tag: "marketing"
  });

  // Individual messages can encounter errors during sending.
  // Use the "successful" property to verify the status.
  for (const sendResult of sendResults) {
    if (sendResult.successful) {
      console.log("Success: ", sendResult);
    } else {
      console.error("Something went wrong when trying to send this message: ", sendResult);
    }
  }
}

main();

Kodda şu değişiklikleri yapın:

  • değerini İletişim Hizmetleri kaynağınızla ilişkilendirilmiş SMS özellikli bir telefon numarasıyla değiştirin <from-phone-number> .
  • ve <to-phone-number-2> yerine <to-phone-number-1> ileti göndermek istediğiniz telefon numaralarını yazın.

Uyarı

Telefon numaralarını E.164 uluslararası standart biçiminde (örneğin, +14255550123) sağlayın. için değeri <from-phone-number> , örneğin 23456 veya contoso gibi alfasayısal gönderen kimliği gibi kısa bir kod da olabilir.

enableDeliveryReport parametresi, teslim raporlamayı yapılandırmak için kullanabileceğiniz isteğe bağlı bir parametredir. Bu işlev, SMS iletileri teslim edildiğinde olayları yaymak istediğinizde kullanışlıdır. SMS iletileriniz için teslim raporlamayı yapılandırmak için SMS Olaylarını İşleme hızlı başlangıcına bakın. tag parametresi isteğe bağlıdır. Bunu kullanarak teslimat raporuna bir etiket uygulayabilirsiniz.

Kodu çalıştırma

node send-sms.js dosyasına eklediğiniz kodu çalıştırmak için komutunu kullanın.


node ./send-sms.js

SMS iletileri göndermek için İletişim Hizmetleri Python SMS SDK'sını kullanarak Azure İletişim Hizmetleri kullanmaya başlayın.

Bu hızlı başlangıcı tamamladığınızda Azure hesabınıza birkaç sentlik (ABD doları cinsinden) veya daha düşük bir ücret yansıtılır.

Önkoşullar

Önkoşul denetimi

  • Terminalde veya komut penceresinde, Python'ın yüklü olup olmadığını denetlemek için komutunu çalıştırın python --version .
  • İletişim Hizmetleri kaynağınızla ilişkili telefon numaralarını görüntülemek için Azure portalında oturum açın ve İletişim Hizmetleri kaynağınızı bulun. Sol taraftaki gezinti bölmesinde Telefon sayı seçin.

Uygulama ortamını ayarlama

İleti göndermek üzere bir ortam ayarlamak için aşağıdaki bölümlerde yer alan adımları uygulayın.

Yeni Python uygulaması oluşturma

  1. Terminalinizi veya komut pencerenizi açın. Ardından aşağıdaki komutu kullanarak uygulamanız için yeni bir dizin oluşturun ve bu dizine gidin.

    mkdir sms-quickstart && cd sms-quickstart
    
  2. Proje kök dizininde send-sms.py adlı bir dosya oluşturmak ve temel özel durum işleme dahil olmak üzere programın yapısını eklemek için bir metin düzenleyicisi kullanın.

    import os
    from azure.communication.sms import SmsClient
    
    try:
        # Quickstart code goes here.
    except Exception as ex:
        print('Exception:')
        print(ex)
    

Aşağıdaki bölümlerde, bu hızlı başlangıcın tüm kaynak kodunu yeni oluşturduğunuz send-sms.py dosyasına ekleyeceksiniz.

paketini yükleyin

Uygulama dizinindeyken, aşağıdaki komutu kullanarak Python paketi için Azure İletişim Hizmetleri SMS SDK'sını yükleyin.

pip install azure-communication-sms

Nesne modeli

Aşağıdaki sınıflar ve arabirimler Python için Azure İletişim Hizmetleri SMS SDK'sının bazı önemli özelliklerini işler.

Veri Akışı Adı Açıklama
SmsClient Bu sınıf tüm SMS işlevleri için gereklidir. Bu örneği abonelik bilgilerinizle oluşturur ve SMS mesajları göndermek için kullanırsınız.
SmsSendResult Bu sınıf SMS hizmetinin sonucunu içerir.

İstemcinin kimliğini doğrulama

bağlantı dizesi ile bir SmsClient örneği oluşturma. Kaynağınızın bağlantı dizesi yönetmeyi öğrenin.

# Create the SmsClient object that you use to send SMS messages.
sms_client = SmsClient.from_connection_string(<connection_string>)

Kolaylık olması için bu hızlı başlangıçta bağlantı dizesi kullanılır, ancak üretim ortamlarında hizmet sorumlularının kullanılmasını öneririz.

1:1 SMS iletisi gönderme

Tek bir alıcıya SMS iletisi göndermek için SmsClient'dan yöntemini tek bir alıcı telefon numarasıyla çağırınsend. Ayrıca, teslim raporunun etkinleştirilip etkinleştirilmeyeceğini belirtmek ve özel etiketler ayarlamak için isteğe bağlı parametreler de sağlayabilirsiniz. Bu kodu send-sms.py bloğunun trysonuna ekleyin:


# Call send() with SMS values.
sms_responses = sms_client.send(
    from_="<from-phone-number>",
    to="<to-phone-number>",
    message="Hello World via SMS",
    enable_delivery_report=True, # optional property
    tag="custom-tag") # optional property

Kodda şu değişiklikleri yapın:

  • değerini, iletişim hizmetinizle ilişkili SMS özellikli bir telefon numarasıyla değiştirin <from-phone-number> .
  • yerine <to-phone-number> ileti göndermek istediğiniz telefon numarasını yazın.

Uyarı

Telefon numaralarını E.164 uluslararası standart biçiminde (örneğin, +14255550123) sağlayın. için değeri <from-phone-number> , örneğin 23456 veya contoso gibi alfasayısal gönderen kimliği gibi kısa bir kod da olabilir.

1:N SMS iletisi gönderme

Alıcı listesine SMS iletisi göndermek için SmsClient'dan alıcı telefon numaraları listesiyle yöntemini çağırınsend. Ayrıca, teslim raporunun etkinleştirilip etkinleştirilmeyeceğini belirtmek ve özel etiketler ayarlamak için isteğe bağlı parametreler de sağlayabilirsiniz. Bu kodu send-sms.py bloğunun trysonuna ekleyin:


# Call send() with SMS values.
sms_responses = sms_client.send(
    from_="<from-phone-number>",
    to=["<to-phone-number-1>", "<to-phone-number-2>"],
    message="Hello World via SMS",
    enable_delivery_report=True, # optional property
    tag="custom-tag") # optional property

Kodda şu değişiklikleri yapın:

  • değerini, iletişim hizmetinizle ilişkili SMS özellikli bir telefon numarasıyla değiştirin <from-phone-number> .
  • ve <to-phone-number-2> yerine <to-phone-number-1> ileti göndermek istediğiniz telefon numaralarını yazın.

Uyarı

Telefon numaralarını E.164 uluslararası standart biçiminde (örneğin, +14255550123) sağlayın. için değeri <from-phone-number> , örneğin 23456 veya contoso gibi alfasayısal gönderen kimliği gibi kısa bir kod da olabilir.

İsteğe bağlı parametreler

enable_delivery_report parametresi, teslim raporlamayı yapılandırmak için kullanabileceğiniz isteğe bağlı bir parametredir. Bu işlev, SMS iletileri teslim edildiğinde olayları yaymak istediğinizde kullanışlıdır. SMS iletileriniz için teslim raporlamayı yapılandırmak için SMS Olaylarını İşleme hızlı başlangıcına bakın.

tag parametresi, teslim raporuna etiket uygulamak için kullanabileceğiniz isteğe bağlı bir parametredir.

Kodu çalıştırma

komutunu kullanarak python uygulamayı uygulama dizininizden çalıştırın.

python send-sms.py

Python betiğinin tamamı aşağıdaki koda benzer olmalıdır:


import os
from azure.communication.sms import SmsClient

try:
    # Create the SmsClient object that you use to send SMS messages.
    sms_client = SmsClient.from_connection_string("<connection string>")
    # Call send() with SMS values.
    sms_responses = sms_client.send(
       from_="<from-phone-number>",
       to="<to-phone-number>",
       message="Hello World via SMS",
       enable_delivery_report=True, # optional property
       tag="custom-tag") # optional property

except Exception as ex:
    print('Exception:')
    print(ex)

SMS iletileri göndermek için İletişim Hizmetleri Java SMS SDK'sını kullanarak Azure İletişim Hizmetleri kullanmaya başlayın.

Bu hızlı başlangıcı tamamladığınızda Azure hesabınıza birkaç sentlik (ABD doları cinsinden) veya daha düşük bir ücret yansıtılır.

Önkoşullar

Önkoşul denetimi

  • Bir terminalde veya komut penceresinde Maven'in yüklü olup olmadığını denetlemek için komutunu çalıştırın mvn -v .
  • İletişim Hizmetleri kaynağınızla ilişkili telefon numaralarını görüntülemek için Azure portalında oturum açın ve İletişim Hizmetleri kaynağınızı bulun. Sol taraftaki gezinti bölmesinde Telefon sayı seçin.

Uygulama ortamını ayarlama

İleti göndermek üzere bir ortam ayarlamak için aşağıdaki bölümlerde yer alan adımları uygulayın.

Yeni java uygulaması oluşturma

Terminalinizi veya komut pencerenizi açın ve Java uygulamanızı oluşturmak istediğiniz dizine gidin. Maven-archetype-quickstart şablonundan Java projesi oluşturmak için aşağıdaki komutu çalıştırın.

  • Komut
mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
  • PowerShell
mvn archetype:generate "-DgroupId=com.communication.quickstart" "-DartifactId=communication-quickstart" "-DarchetypeArtifactId=maven-archetype-quickstart" "-DarchetypeVersion=1.4" "-DinteractiveMode=false"

Hedef, generate değerle aynı ada artifactId sahip bir dizin oluşturur. Bu dizin altında src /main/java dizini proje kaynak kodunu, src/test/java dizini test kaynağını ve pom.xml dosyası projenin Proje Nesne Modeli'ni (POM) içerir.

paketini yükleyin

metin düzenleyicinizde pom.xml dosyasını açın. Aşağıdaki bağımlılık öğesini bağımlılık grubuna ekleyin.

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-sms</artifactId>
    <version>1.0.1</version>
</dependency>

Uygulama çerçevesini ayarlama

Metin düzenleyicisinde /src/main/java/com/communication/quickstart/App.java açın, içeri aktarma yönergeleri ekleyin ve deyimini System.out.println("Hello world!"); kaldırın:

package com.communication.quickstart;

import com.azure.communication.sms.models.*;
import com.azure.core.credential.AzureKeyCredential;
import com.azure.communication.sms.*;
import com.azure.core.util.Context;
import java.util.Arrays;

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 SMS SDK'sının bazı önemli özelliklerini işler.

Veri Akışı Adı Açıklama
SmsClientBuilder Bu sınıf SmsClient oluşturur. Bunu bir uç nokta, bir kimlik bilgisi ve bir HTTP istemcisi ile sağlarsınız.
SmsClient Bu sınıf tüm SMS işlevleri için gereklidir. BUNU SMS mesajları göndermek için kullanırsınız.
SmsSendOptions Bu sınıf, özel etiketler ekleme ve teslim raporlamayı yapılandırma seçenekleri sağlar. deliveryReportEnabled true olarak ayarlanırsa, teslim başarılı olduğunda bir olay yayılır.
SmsSendResult Bu sınıf SMS hizmetinin sonucunu içerir.

İstemcinin kimliğini doğrulama

bir istemcinin kimliğini doğrulamak için bağlantı dizesi örneği oluşturursunuzSmsClient. Kimlik bilgisi için Azure portalından öğesini kullanın Key . Kaynağınızın bağlantı dizesi yönetmeyi öğrenin. İstemciyi, arabirimini uygulayan com.azure.core.http.HttpClient herhangi bir özel HTTP istemcisiyle de başlatabilirsiniz.

İstemci örneği oluşturmak için yöntemine main aşağıdaki kodu ekleyin:

// You can get your endpoint and access key from your resource in the Azure portal.
String endpoint = "https://<resource-name>.communication.azure.com/";
AzureKeyCredential azureKeyCredential = new AzureKeyCredential("<access-key-credential>");

SmsClient smsClient = new SmsClientBuilder()
                .endpoint(endpoint)
                .credential(azureKeyCredential)
                .buildClient();

Ayrıca uç nokta ve erişim anahtarı yerine işlevini kullanarak connectionString tüm bağlantı dizesi sağlayabilirsiniz.

// You can get your connection string from your resource in the Azure portal.
String connectionString = "endpoint=https://<resource-name>.communication.azure.com/;accesskey=<access-key>";

SmsClient smsClient = new SmsClientBuilder()
            .connectionString(connectionString)
            .buildClient();

1:1 SMS iletisi gönderme

Tek bir alıcıya SMS iletisi göndermek için SmsClient'dan yöntemini tek bir alıcı telefon numarasıyla çağırın send . Ayrıca, teslim raporunun etkinleştirilip etkinleştirilmeyeceğini belirtmek ve özel etiketler ayarlamak için isteğe bağlı parametreler de sağlayabilirsiniz.

SmsSendResult sendResult = smsClient.send(
                "<from-phone-number>",
                "<to-phone-number>",
                "Weekly Promotion");

System.out.println("Message Id: " + sendResult.getMessageId());
System.out.println("Recipient Number: " + sendResult.getTo());
System.out.println("Send Result Successful:" + sendResult.isSuccessful());

Kodda şu değişiklikleri yapın:

  • değerini İletişim Hizmetleri kaynağınızla ilişkilendirilmiş SMS özellikli bir telefon numarasıyla değiştirin <from-phone-number> .
  • yerine <to-phone-number> ileti göndermek istediğiniz telefon numarasını yazın.

Uyarı

Telefon numaralarını E.164 uluslararası standart biçiminde (örneğin, +14255550123) sağlayın. için değeri <from-phone-number> , örneğin 23456 veya contoso gibi alfasayısal gönderen kimliği gibi kısa bir kod da olabilir.

Seçeneklerle 1:N SMS iletisi gönderme

Alıcı listesine SMS iletisi göndermek için, alıcı telefon numaraları listesiyle yöntemini çağırın send . Ayrıca, teslim raporunun etkinleştirilip etkinleştirilmeyeceğini belirtmek ve özel etiketler ayarlamak için isteğe bağlı parametreler de sağlayabilirsiniz.

SmsSendOptions options = new SmsSendOptions();
options.setDeliveryReportEnabled(true);
options.setTag("Marketing");

Iterable<SmsSendResult> sendResults = smsClient.sendWithResponse(
    "<from-phone-number>",
    Arrays.asList("<to-phone-number1>", "<to-phone-number2>"),
    "Weekly Promotion",
    options /* Optional */,
    Context.NONE).getValue();

for (SmsSendResult result : sendResults) {
    System.out.println("Message Id: " + result.getMessageId());
    System.out.println("Recipient Number: " + result.getTo());
    System.out.println("Send Result Successful:" + result.isSuccessful());
}

Kodda şu değişiklikleri yapın:

  • değerini, İletişim Hizmetleri kaynağınızla ilişkilendirilmiş SMS özellikli bir telefon numarasıyla değiştirin <from-phone-number>
  • ve <to-phone-number-2> yerine <to-phone-number-1> ileti göndermek istediğiniz telefon numaralarını yazın.

Uyarı

Telefon numaralarını E.164 uluslararası standart biçiminde (örneğin, +14255550123) sağlayın. için değeri <from-phone-number> , örneğin 23456 veya contoso gibi alfasayısal gönderen kimliği gibi kısa bir kod da olabilir.

setDeliveryReportEnabled yöntemi, teslim raporlamayı yapılandırmak için kullanılır. Bu işlev, SMS iletileri teslim edildiğinde olayları yaymak istediğinizde kullanışlıdır. SMS iletileriniz için teslim raporlamayı yapılandırmak için SMS Olaylarını İşleme hızlı başlangıcına bakın.

Teslim raporuna setTag etiket uygulamak için yöntemini kullanabilirsiniz.

Kodu çalıştırma

  1. pom.xml dosyasını içeren dizine gidin ve komutunu kullanarak projeyi derleyinmvn.

    
    mvn compile
    
    
  2. Paketi oluşturun.

    
    mvn package
    
    
  3. Uygulamayı yürütmek için aşağıdaki mvn komutu çalıştırın.

    • Komut
    
    mvn exec:java -Dexec.mainClass="com.communication.quickstart.App" -Dexec.cleanupDaemonThreads=false
    
    
    • PowerShell
    mvn exec:java "-Dexec.mainClass=com.communication.quickstart.App" "-Dexec.cleanupDaemonThreads=false"
    

Azure İletişim Hizmetleri SMS bağlayıcısını ve Azure Logic Apps'i kullanarak SMS iletileri gönderebilen otomatik iş akışları oluşturabilirsiniz. Bu hızlı başlangıçta, mantıksal uygulama iş akışının ilk adımı olan tetikleyici olayına yanıt olarak otomatik olarak kısa mesaj gönderme işlemi gösterilmektedir. Tetikleyici olayı gelen e-posta iletisi, yineleme zamanlaması, Azure Event Grid kaynak olayı veya Azure Logic Apps tarafından desteklenen başka bir tetikleyici olabilir.

Screenshot that shows the Azure portal, which is open to the Logic App Designer, and shows an example logic app that uses the Send SMS action for the Azure Communication Services connector.

Bu hızlı başlangıçta tetikleyiciye yanıt vermek için bağlayıcıyı kullanmaya odaklanılıyor olsa da, bir iş akışında tetikleyiciyi izleyen adımlar olan diğer eylemlere yanıt vermek için bağlayıcıyı da kullanabilirsiniz. Logic Apps'i kullanmaya yeni başladıysanız başlamadan önce Azure Logic Apps nedir? gözden geçirin.

Not

Bu hızlı başlangıcı tamamladığınızda Azure hesabınıza birkaç sentlik (ABD doları cinsinden) veya daha düşük bir ücret yansıtılır.

Önkoşullar

  • Etkin aboneliği olan bir Azure hesabı veya ücretsiz bir Azure hesabı oluşturun.

  • Etkin bir Azure İletişim Hizmetleri kaynağı veya bir İletişim Hizmetleri kaynağı oluşturun.

  • Etkin bir Logic Apps kaynağı (mantıksal uygulama) veya kullanmak istediğiniz tetikleyiciyle boş bir mantıksal uygulama oluşturun. Şu anda Azure İletişim Hizmetleri SMS bağlayıcısı yalnızca eylemler sağladığından mantıksal uygulamanız en azından bir tetikleyici gerektirir.

    Bu hızlı başlangıçta, Office 365 Outlook bağlayıcısı ile kullanılabilen Yeni bir e-posta geldiğinde tetikleyicisi kullanılır.

  • SMS özellikli bir telefon numarası veya bir telefon numarası alın.

Önemli

SMS ve PSTN özellikleri, kullandığınız telefon numarasına ve Azure fatura adresiniz tarafından belirlenen şekilde içinde çalıştığınız ülkeye/bölgeye bağlıdır. Daha fazla bilgi için Abonelik uygunluğu belgelerini ziyaret edin.

SMS eylemi ekleme

Azure İletişim Hizmetleri SMS bağlayıcısını kullanarak sms gönder eylemini iş akışınıza yeni bir adım olarak eklemek için, Mantıksal Uygulama Tasarım Aracı mantıksal uygulama iş akışınız açıkken Azure portalında şu adımları izleyin:

  1. Tasarımcıda, yeni eylemi eklemek istediğiniz adımın altında Yeni adım'ı seçin. Alternatif olarak, adımlar arasına yeni eylem eklemek için işaretçinizi bu adımlar arasındaki okun üzerine getirin, artı işaretini ()+ seçin ve Eylem ekle'yi seçin.

  2. İşlem seçin arama kutusuna yazınAzure Communication Services. Eylemler listesinden SMS Gönder'i seçin.

    Screenshot that shows the Logic App Designer and the Azure Communication Services connector with the Send SMS action selected.

  3. Şimdi İletişim Hizmetleri kaynağınıza bir bağlantı oluşturun.

    1. Aynı abonelik içinde:

      1. Bağlantı için bir ad belirtin.

      2. Azure İletişim Hizmetleri kaynağınızı seçin.

      3. Oluştur'u belirleyin.

      Screenshot that shows the Send SMS action configuration with sample information.

    2. İletişim Hizmetleri kaynağınızdaki bağlantı dizesi kullanarak:

      1. Bağlantı için bir ad belirtin.

      2. Açılan seçeneklerden Bağlan ionString Kimlik Doğrulaması'nı seçin.

      3. İletişim Hizmetleri kaynağınızın bağlantı dizesi girin.

      4. Oluştur'u belirleyin.

      Screenshot that shows the Connection String Authentication configuration.

    3. Hizmet Sorumlusunu Kullanma (Hizmet Sorumlusu Oluşturma bölümüne bakın):

      1. Bağlantı için bir ad belirtin.

      2. Açılan seçeneklerden Hizmet sorumlusu (Microsoft Entra uygulaması) Kimlik Doğrulaması'nı seçin.

      3. Hizmet Sorumlunuzun Kiracı Kimliği, İstemci Kimliği ve İstemci Gizli Anahtarı değerlerini girin.

      4. İletişim Hizmetleri kaynağınızın İletişim Hizmetleri Uç Noktası URL değerini girin.

      5. Oluştur'u belirleyin.

      Screenshot that shows the Service Principal Authentication configuration.

  4. SMS Gönder eyleminde aşağıdaki bilgileri sağlayın:

    • Kaynak ve hedef telefon numaraları. Test amacıyla, hedef telefon numarası olarak kendi telefon numaranızı kullanabilirsiniz.

    • Göndermek istediğiniz ileti içeriği, örneğin, "Logic Apps'ten Merhaba!".

    Örnek bilgiler içeren BIR SMS Gönder eylemi aşağıda verilmiştir:

    Screenshot that shows the Send SMS action with sample information.

  5. İşlemi tamamladığınızda tasarımcı araç çubuğunda Kaydet'i seçin.

Ardından test için iş akışınızı çalıştırın.

İş akışınızı test etme

İş akışınızı el ile başlatmak için tasarımcı araç çubuğunda Çalıştır'ı seçin. Ya da tetikleyicinin tetiklemesini bekleyebilirsiniz. Her iki durumda da iş akışının belirtilen hedef telefon numaranıza bir SMS iletisi göndermesi gerekir. Daha fazla bilgi için iş akışınızı çalıştırmayı gözden geçirin.

İş akışı kaynaklarını temizleme

Mantıksal uygulama iş akışınızı ve ilgili kaynakları temizlemek için Logic Apps kaynaklarını temizlemeyi gözden geçirin.

Sorun giderme

SMS teslimiyle ilgili sorunları gidermek için, teslim ayrıntılarını yakalamak için Event Grid ile teslim bildirimini etkinleştirebilirsiniz.

Kaynakları temizleme

İletişim Hizmetleri aboneliğini temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler. Kaynakları temizleme hakkında daha fazla bilgi edinin.

Ücretsiz doğrulama

Yeni bir ücretsiz numaranız varsa ve Kanada telefon numaralarına yüksek miktarda SMS mesajı göndermek veya SMS mesajları göndermek istiyorsanız ücretsiz numaranızı doğrulamayı öğrenmek için SMS SSS > Nasıl yaparım? ücretsiz doğrulama gönderme bölümüne bakın.

Sonraki adımlar

Bu hızlı başlangıçta, Azure İletişim Hizmetleri kullanarak SMS iletileri göndermeyi öğrendiniz.