Snabbstart: Skicka ett SMS

Viktigt

Telefon antal är för närvarande begränsat till Azure-prenumerationer som har en faktureringsadress i USA (inklusiveFältet), Storbritannien eller Irland. Mer information finns i dokumentationen om Telefon-nummertyper.

Viktigt

SMS kan skickas till och tas emot från USA telefonnummer. Telefon tal som finns i andra geografiska områden stöds ännu inte av Communication Services SMS. Mer information finns i Telefon.ex. .

Kom igång med Azure Communication Services hjälp av C# SMS SDK Communication Services att skicka SMS.

Den här snabbstarten medför en liten kostnad på några cent eller mindre för ditt Azure-konto.

Anteckning

Hitta den färdiga koden för den här snabbstarten på GitHub

Förutsättningar

Kravkontroll

  • I en terminal eller ett kommandofönster kör du dotnet kommandot för att kontrollera att .NET SDK är installerat.
  • Om du vill visa de telefonnummer som är associerade med din Communication Services-resurs loggar du in på Azure Portal,letar upp din Communication Services-resurs och öppnar fliken telefonnummer i det vänstra navigeringsfönstret.

Inrätta

Skapa ett nytt C#-program

I ett konsolfönster (till exempel cmd, PowerShell eller Bash) använder du kommandot för att skapa en ny dotnet new konsolapp med namnet SmsQuickstart . Det här kommandot skapar ett enkelt "Hello World" C#-projekt med en enda källfil: Program.cs.

dotnet new console -o SmsQuickstart

Ändra katalogen till den nyligen skapade appmappen och använd kommandot dotnet build för att kompilera programmet.

cd SmsQuickstart
dotnet build

Installera paketet

När du fortfarande är i programkatalogen installerar du Azure Communication Services SMS SDK för .NET-paketet med hjälp av dotnet add package kommandot .

dotnet add package Azure.Communication.Sms --version 1.0.0

Lägg till using ett -direktiv överst i Program.cs för att inkludera Azure.Communication namnområdet.


using System;
using System.Collections.Generic;

using Azure;
using Azure.Communication;
using Azure.Communication.Sms;

Objektmodell

Följande klasser och gränssnitt hanterar några av de viktigaste funktionerna i Azure Communication Services SMS SDK för C#.

Name Beskrivning
Smsclient Den här klassen behövs för alla SMS-funktioner. Du instansierar den med din prenumerationsinformation och använder den för att skicka SMS.
SmsSendOptions Den här klassen innehåller alternativ för att konfigurera leveransrapportering. Om enable_delivery_report har angetts till Sant genereras en händelse när leveransen lyckades
SmsSendResult Den här klassen innehåller resultatet från SMS-tjänsten.

Autentisera klienten

Öppna Program.cs i en textredigerare och ersätt brödtexten i metoden med Main kod för att initiera en med SmsClient anslutningssträngen. Koden nedan hämtar anslutningssträngen för resursen från en miljövariabel med namnet COMMUNICATION_SERVICES_CONNECTION_STRING . Lär dig hur du hanterar resursens anslutningssträng.

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

SmsClient smsClient = new SmsClient(connectionString);

Skicka ett 1:1 SMS-meddelande

Om du vill skicka ett SMS till en enda mottagare anropar du Send SendAsync funktionen eller från SmsClient. Lägg till den här koden i slutet Main av metoden i Program.cs:

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

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

Du bör ersätta med ett SMS-aktiverat telefonnummer som är associerat med Communication Services resurs och med det telefonnummer som <from-phone-number> du vill skicka ett meddelande <to-phone-number> till.

Varning

Observera att telefonnummer ska anges i internationellt standardformat E.164 (t.ex. + 14255550123). Från-telefonnumret kan också vara en kort kod (t.ex. 23456).

Skicka ett 1:N SMS-meddelande med alternativ

Om du vill skicka ett SMS till en lista över mottagare anropar du funktionen eller från SmsClient med en lista Send SendAsync över mottagarens telefonnummer. Du kan också skicka in valfria parametrar för att ange om leveransrapporten ska aktiveras och för att ange anpassade taggar.

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}");
}

Du bör ersätta med ett SMS-aktiverat telefonnummer som är associerat med Communication Services resurs och och med telefonnummer som du <from-phone-number> vill skicka ett meddelande <to-phone-number-1> <to-phone-number-2> till.

Varning

Observera att telefonnummer ska anges i internationellt standardformat E.164 (t.ex. + 14255550123). Från-telefonnumret kan också vara en kort kod (t.ex. 23456).

Parametern enableDeliveryReport är en valfri parameter som du kan använda för att konfigurera leveransrapportering. Detta är användbart för scenarier där du vill generera händelser när SMS levereras. Se snabbstarten Hantera SMS-händelser för att konfigurera leveransrapportering för dina SMS.

Tag används för att tillämpa en tagg på leveransrapporten

Kör koden

Kör programmet från programkatalogen med dotnet run kommandot .

dotnet run

Exempelkod

Du kan ladda ned exempelappen från GitHub

Kom igång med Azure Communication Services genom att använda javascript-SDK Communication Services för att skicka SMS.

När du slutför den här snabbstarten medför det en liten kostnad på några cent eller mindre för ditt Azure-konto.

Anteckning

Hitta den färdiga koden för den här snabbstarten på GitHub

Förutsättningar

Kravkontroll

  • I en terminal eller ett kommandofönster kör node --version du för att kontrollera Node.js har installerats.
  • Om du vill visa de telefonnummer som är associerade med din Communication Services-resurs loggar du in på Azure Portal,letar upp din Communication Services-resurs och öppnar fliken telefonnummer i det vänstra navigeringsfönstret.

Inrätta

Skapa ett nytt Node.js program

Öppna först terminal- eller kommandofönstret, skapa en ny katalog för din app och navigera till den.

mkdir sms-quickstart && cd sms-quickstart

Kör npm init -y för att skapa en package.json-fil med standardinställningar.

npm init -y

Använd en textredigerare för att skapa en fil medsend-sms.js i projektets rotkatalog. Du lägger till all källkod för den här snabbstarten i den här filen i följande avsnitt.

Installera paketet

Använd kommandot npm install för att installera Azure Communication Services SMS SDK för JavaScript.

npm install @azure/communication-sms --save

Alternativet --save visar biblioteket som ett beroende i filen package.json.

Objektmodell

Följande klasser och gränssnitt hanterar några av de viktigaste funktionerna i Azure Communication Services SMS SDK för Node.js.

Name Beskrivning
Smsclient Den här klassen behövs för alla SMS-funktioner. Du instansierar den med din prenumerationsinformation och använder den för att skicka SMS.
SmsSendRequest Det här gränssnittet är modellen för att skapa sms-begäran (t.ex. konfigurera till och från telefonnummer och sms-innehåll).
SmsSendOptions Det här gränssnittet innehåller alternativ för att konfigurera leveransrapportering. Om enableDeliveryReport är true inställt på genereras en händelse när leveransen lyckas.
SmsSendResult Den här klassen innehåller resultatet från SMS-tjänsten.

Autentisera klienten

Importera SmsClient från SDK:n och instansiera den med anslutningssträngen. Koden nedan hämtar anslutningssträngen för resursen från en miljövariabel med namnet COMMUNICATION_SERVICES_CONNECTION_STRING . Lär dig hur du hanterar resursens anslutningssträng.

Skapa och öppna en fil med send-sms.js och lägg till följande kod:

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

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

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

Skicka ett 1:N SMS-meddelande

Om du vill skicka ett SMS till en lista över mottagare anropar du funktionen från SmsClient med en lista över mottagarnas telefonnummer (om du vill skicka ett meddelande till en enda mottagare inkluderar du bara en siffra i send listan). Lägg till den här koden i slutet avsend-sms.js:

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
  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();

Du bör ersätta med ett SMS-aktiverat telefonnummer som är associerat med din Communication Services resurs och och med de telefonnummer som du <from-phone-number> vill skicka ett meddelande <to-phone-number-1> <to-phone-number-2> till.

Varning

Observera att telefonnummer ska anges i internationellt standardformat E.164 (t.ex. +14255550123). Från-telefonnumret kan också vara en kort kod (t.ex. 23456).

Skicka ett 1:N SMS-meddelande med alternativ

Du kan också skicka ett alternativobjekt för att ange om leveransrapporten ska vara aktiverad och för att ange anpassade taggar.


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
  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();

Du bör ersätta med ett SMS-aktiverat telefonnummer som är associerat med Communication Services resurs och och med telefonnummer som du <from-phone-number> vill skicka ett meddelande <to-phone-number-1> <to-phone-number-2> till.

Varning

Observera att telefonnummer ska anges i internationellt standardformat E.164 (t.ex. +14255550123). Från-telefonnumret kan också vara en kort kod (t.ex. 23456).

Parametern enableDeliveryReport är en valfri parameter som du kan använda för att konfigurera leveransrapportering. Detta är användbart för scenarier där du vill generera händelser när SMS levereras. Se snabbstarten Hantera SMS-händelser för att konfigurera leveransrapportering för dina SMS. tag är en valfri parameter som du kan använda för att tillämpa en tagg på leveransrapporten.

Kör koden

Använd kommandot node för att köra koden som du lade till i send-sms.jsfilen.


node ./send-sms.js

Kom igång med Azure Communication Services med hjälp av Communication Services Python SMS SDK för att skicka SMS.

Den här snabbstarten medför en liten kostnad på några cent eller mindre för ditt Azure-konto.

Anteckning

Hitta den färdiga koden för den här snabbstarten på GitHub

Förutsättningar

Kravkontroll

  • I en terminal eller ett kommandofönster kör du kommandot python --version för att kontrollera att Python är installerat.
  • Om du vill visa de telefonnummer som är associerade med din Communication Services-resurs loggar du in på Azure Portal,letar upp din Communication Services-resurs och öppnar fliken telefonnummer i det vänstra navigeringsfönstret.

Inrätta

Skapa ett nytt Python-program

Öppna terminalen eller kommandofönstret, skapa en ny katalog för appen och navigera till den.

mkdir sms-quickstart && cd sms-quickstart

Använd en textredigerare för att skapa en fil send-sms.py i projektets rotkatalog och lägg till strukturen för programmet, inklusive grundläggande undantagshantering. Du lägger till all källkod för den här snabbstarten i den här filen i följande avsnitt.

import os
from azure.communication.sms import SmsClient

try:
    # Quickstart code goes here
except Exception as ex:
    print('Exception:')
    print(ex)

Installera paketet

När du fortfarande är i programkatalogen installerar du Azure Communication Services SMS SDK för Python-paketet med hjälp av pip install kommandot .

pip install azure-communication-sms

Objektmodell

Följande klasser och gränssnitt hanterar några av de viktigaste funktionerna i Azure Communication Services SMS SDK för Python.

Name Beskrivning
Smsclient Den här klassen behövs för alla SMS-funktioner. Du instansierar den med din prenumerationsinformation och använder den för att skicka SMS.
SmsSendResult Den här klassen innehåller resultatet från SMS-tjänsten.

Autentisera klienten

Instansiera en SmsClient med anslutningssträngen. Lär dig hur du hanterar resursens anslutningssträng.

# Create the SmsClient object which will be used to send SMS messages
sms_client = SmsClient.from_connection_string(<connection_string>)

För enkelhetens skull använder vi anslutningssträngar i den här snabbstarten, men i produktionsmiljöer rekommenderar vi att du använder tjänstens huvudnamn.

Skicka ett 1:1 SMS-meddelande

Om du vill skicka ett SMS till en enda mottagare anropar du metoden från send SmsClient med ett enda mottagarens telefonnummer. Du kan också skicka in valfria parametrar för att ange om leveransrapporten ska aktiveras och för att ange anpassade taggar. Lägg till den här koden i slutet try av blocket i send-sms.py:


# calling 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

Du bör ersätta med ett SMS-aktiverat telefonnummer som är associerat med din kommunikationstjänst och med det <from-phone-number> telefonnummer som du vill skicka ett meddelande <to-phone-number> till.

Varning

Observera att telefonnummer ska anges i internationellt standardformat E.164 (t.ex. + 14255550123). Från-telefonnumret kan också vara en kort kod (t.ex. 23456).

Skicka ett 1:N SMS-meddelande

Om du vill skicka ett SMS till en lista över mottagare anropar du metoden från send SmsClient med en lista över mottagarens telefonnummer. Du kan också skicka in valfria parametrar för att ange om leveransrapporten ska aktiveras och för att ange anpassade taggar. Lägg till den här koden i slutet try av blocket i send-sms.py:


# calling 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

Du bör ersätta med ett SMS-aktiverat telefonnummer som är associerat med din kommunikationstjänst och med telefonnummer som <from-phone-number> du vill skicka ett meddelande <to-phone-number-1> <to-phone-number-2> till.

Varning

Observera att telefonnummer ska anges i internationellt standardformat E.164 (t.ex. + 14255550123). Från-telefonnumret kan också vara en kort kod (t.ex. 23456).

Valfria parametrar

Parametern enable_delivery_report är en valfri parameter som du kan använda för att konfigurera leveransrapportering. Detta är användbart för scenarier där du vill generera händelser när SMS levereras. Se snabbstarten Hantera SMS-händelser för att konfigurera leveransrapportering för dina SMS.

Parametern tag är en valfri parameter som du kan använda för att tillämpa en tagg på leveransrapporten.

Kör koden

Kör programmet från programkatalogen med python kommandot .

python send-sms.py

Det fullständiga Python-skriptet bör se ut ungefär så här:


import os
from azure.communication.sms import SmsClient

try:
    # Create the SmsClient object which will be used to send SMS messages
    sms_client = SmsClient.from_connection_string("<connection string>")
    # calling 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)

Kom igång med Azure Communication Services hjälp av Communication Services Java SMS SDK för att skicka SMS.

Den här snabbstarten medför en liten kostnad på några cent eller mindre för ditt Azure-konto.

Anteckning

Hitta den färdiga koden för den här snabbstarten på GitHub

Förutsättningar

Kravkontroll

  • I en terminal eller ett kommandofönster kör du mvn -v för att kontrollera att maven är installerat.
  • Om du vill visa de telefonnummer som är associerade med din Communication Services-resurs loggar du in på Azure Portal,letar upp din Communication Services-resurs och öppnar fliken telefonnummer i det vänstra navigeringsfönstret.

Inrätta

Skapa ett nytt Java-program

Öppna terminalen eller kommandofönstret och gå till katalogen där du vill skapa Java-programmet. Kör kommandot nedan för att generera Java-projektet från mallen maven-archetype-quickstart.

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

Målet "generate" skapar en katalog med samma namn som artifactId. Under den här katalogen innehåller katalogen src/main/java projektkällkoden, katalogen src/test/java innehåller testkällan och pom.xml-filen är projektets Project Object Model, eller POM.

Installera paketet

Öppna pom.xml i textredigeraren. Lägg till följande beroendeelement i gruppen med beroenden.

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

Konfigurera appramverket

Öppna /src/main/java/com/communication/quickstart/App.java i en textredigerare, lägg till importdirektiv och ta bort System.out.println("Hello world!"); instruktionen:

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

Objektmodell

Följande klasser och gränssnitt hanterar några av de viktigaste funktionerna i Azure Communication Services SMS SDK för Java.

Name Beskrivning
SmsClientBuilder Den här klassen skapar SmsClient. Du ger den slutpunkt, autentiseringsuppgifter och en HTTP-klient.
Smsclient Den här klassen behövs för alla SMS-funktioner. Du använder den för att skicka SMS.
SmsSendOptions Den här klassen innehåller alternativ för att lägga till anpassade taggar och konfigurera leveransrapportering. Om deliveryReportEnabled är inställt på true genereras en händelse när leveransen lyckades
SmsSendResult Den här klassen innehåller resultatet från SMS-tjänsten.

Autentisera klienten

Instansiera SmsClient en med anslutningssträngen. (Autentiseringsuppgifter är från Key Azure Portal. Lär dig hur du hanterar resursens anslutningssträng. Dessutom kan du initiera klienten med valfri anpassad HTTP-klient som implementerar com.azure.core.http.HttpClient -gränssnittet.

Lägg till följande kod i main-metoden:

// You can find 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();

Du kan också ange hela anslutningssträngen med funktionen connectionString() i stället för att ange slutpunkten och åtkomstnyckeln.

// You can find 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();

Skicka ett 1:1 SMS-meddelande

Om du vill skicka ett SMS till en enda mottagare anropar du metoden från send SmsClient med ett enda mottagarens telefonnummer. Du kan också skicka in valfria parametrar för att ange om leveransrapporten ska aktiveras och för att ange anpassade taggar.

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());

Du bör ersätta med ett SMS-aktiverat telefonnummer som är associerat med Communication Services resurs och med <from-phone-number> ett telefonnummer som du vill skicka ett meddelande <to-phone-number> till.

Varning

Observera att telefonnummer ska anges i internationellt standardformat E.164 (t.ex. + 14255550123). Från-telefonnumret kan också vara en kort kod (t.ex. 23456).

Skicka ett 1:N SMS-meddelande med alternativ

Om du vill skicka ett SMS till en lista över mottagare anropar du send metoden med en lista över mottagarens telefonnummer. Du kan också skicka in valfria parametrar för att ange om leveransrapporten ska aktiveras och för att ange anpassade taggar.

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());
}

Du bör ersätta med ett SMS-aktiverat telefonnummer som är associerat med Communication Services resurs och och med telefonnummer som du <from-phone-number> vill skicka ett meddelande <to-phone-number-1> <to-phone-number-2> till.

Varning

Observera att telefonnummer ska anges i internationellt standardformat E.164 (t.ex. + 14255550123). Från-telefonnumret kan också vara en kort kod (t.ex. 23456).

Metoden setDeliveryReportEnabled används för att konfigurera leveransrapportering. Detta är användbart för scenarier där du vill generera händelser när SMS levereras. Se snabbstarten Hantera SMS-händelser för att konfigurera leveransrapportering för dina SMS.

Metoden setTag används för att tillämpa en tagg på leveransrapporten.

Kör koden

Navigera till katalogen som innehåller pom.xml och kompilera projektet med mvn kommandot .


mvn compile

Skapa sedan paketet.


mvn package

Kör följande mvn kommando för att köra appen.


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

Felsökning

Om du vill felsöka problem som rör SMS-leverans kan du aktivera leveransrapportering med Event Grid för att samla in leveransinformation.

Rensa resurser

Om du vill rensa och ta bort en Communication Services prenumeration kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort. Läs mer om att rensa resurser.

Nästa steg

I den här snabbstarten har du lärt dig hur du skickar SMS med Azure Communication Services.