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
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Etkin bir İletişim Hizmetleri kaynağı ve bağlantı dizesi. İletişim Hizmetleri kaynağı oluşturun.
- SMS özellikli bir telefon numarası. Bir telefon numarası alın.
- İşletim sisteminiz için en son Azure CLI sürümü.
Ö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.
Not
GitHub'da bu hızlı başlangıcın son halini alan kodu bulun.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- İşletim sisteminiz için en son .NET Core SDK sürümü.
- Etkin bir İletişim Hizmetleri kaynağı ve bağlantı dizesi. İletişim Hizmetleri kaynağı oluşturun.
- SMS özellikli bir telefon numarası. Bir telefon numarası alın.
Ö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. Soldaki gezinti bölmesinde Telefon numaraları'nı 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
cmd, PowerShell veya Bash gibi bir konsol penceresinde komutunu kullanarak
dotnet new
adlıSmsQuickstart
yeni 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
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
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
Ad alanını eklemek
Azure.Communication
için Program.cs en üstüne birusing
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_STRING
bir 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 Main
sonuna 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.
Not
GitHub'da bu hızlı başlangıcın son halini alan kodu bulun.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Node.js Etkin LTS ve Bakım LTS sürümleri (8.11.1 ve 10.14.1 önerilir).
- Etkin bir İletişim Hizmetleri kaynağı ve bağlantı dizesi. İletişim Hizmetleri kaynağı oluşturun.
- SMS özellikli bir telefon numarası. Bir telefon numarası alın.
Ö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. Soldaki gezinti bölmesinde Telefon numaraları'nı 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
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
Varsayılan ayarlarla bir package.json dosyası oluşturmak için aşağıdaki komutu çalıştırın.
npm init -y
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 enableDeliveryReport true , 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:
send-sms.js adlı bir dosya oluşturun.
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.
Not
GitHub'da bu hızlı başlangıcın son halini alan kodu bulun.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Python 3.7+.
- Etkin bir İletişim Hizmetleri kaynağı ve bağlantı dizesi. İletişim Hizmetleri kaynağı oluşturun.
- SMS özellikli bir telefon numarası. Bir telefon numarası alın.
Ö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. Soldaki gezinti bölmesinde Telefon numaraları'nı 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
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
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 try
sonuna 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 try
sonuna 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.
Not
GitHub'da bu hızlı başlangıcın son halini alan kodu bulun.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Java Development Kit (JDK) sürüm 8 veya üzeri.
- Apache Maven.
- Etkin bir İletişim Hizmetleri kaynağı ve bağlantı dizesi. İletişim Hizmetleri kaynağı oluşturun.
- SMS özellikli bir telefon numarası. Bir telefon numarası alın.
Ö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. Soldaki gezinti bölmesinde Telefon numaraları'nı 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
pom.xml dosyasını içeren dizine gidin ve komutunu kullanarak projeyi derleyin
mvn
.mvn compile
Paketi oluşturun.
mvn package
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.
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ımcısı'nda mantıksal uygulama iş akışınız açıkken Azure portalında şu adımları izleyin:
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.
İşlem seçin arama kutusuna yazın
Azure Communication Services
. Eylemler listesinden SMS Gönder'i seçin.Şimdi İletişim Hizmetleri kaynağınıza bir bağlantı oluşturun.
Aynı abonelik içinde:
Bağlantı için bir ad belirtin.
Azure İletişim Hizmetleri kaynağınızı seçin.
Oluştur'u belirleyin.
İletişim Hizmetleri kaynağınızdaki bağlantı dizesi kullanarak:
Bağlantı için bir ad belirtin.
Açılan seçeneklerden ConnectionString Kimlik Doğrulaması'nı seçin.
İletişim Hizmetleri kaynağınızın bağlantı dizesi girin.
Oluştur'u belirleyin.
Hizmet Sorumlusunu Kullanma (Hizmet Sorumlusu Oluşturma bölümüne bakın):
Bağlantı için bir ad belirtin.
Açılan seçeneklerden Hizmet sorumlusu (Microsoft Entra uygulaması) Kimlik Doğrulaması'nı seçin.
Hizmet Sorumlunuzun Kiracı Kimliği, İstemci Kimliği ve İstemci Gizli Anahtarı değerlerini girin.
İletişim Hizmetleri kaynağınızın İletişim Hizmetleri Uç Noktası URL değerini girin.
Oluştur'u belirleyin.
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:
İş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
SMS mesajları göndermek için yeni bir ücretsiz numara kullanmak için ücretsiz doğrulama işleminden geçmek zorunludur. Ücretsiz numaranızın doğrulamasını tamamlama yönergeleri için ücretsiz doğrulama göndermeye yönelik Hızlı Başlangıç'a bakın. Yalnızca tam olarak doğrulanmış ücretsiz numaraların SMS trafiği gönderme yetkisine sahip olduğunu unutmayın. ABD ve CA telefon numaralarına yönlendirilen, uygun olmayan ücretsiz numaralardan gelen sms trafiği engellenir.
Sonraki adımlar
Bu hızlı başlangıçta, Azure İletişim Hizmetleri kullanarak SMS iletileri göndermeyi öğrendiniz.