SDK と REST API

Azure Communication Services 機能は、機能領域に基づいて、概念的に個別の領域に分類されています。 ほとんどの領域には、インターネット経由で直接使用できる、公開された REST API に対してプログラミングされた、完全にオープンソースである SDK があります。 Calling SDK は独自のネットワーク インターフェイスを使用しており、クローズ ドソースです。

下の表では、これらの領域と、REST API と SDK ライブラリの可用性についてまとめています。 また、API と SDK がエンドユーザー クライアント向けか、信頼できるサービス環境向けかについても記載しています。 SMS などの API には、信頼度の低い環境にあるエンドユーザーのデバイスから直接アクセスしないようにしてください。

通話およびチャット アプリケーションの開発は、Azure Communication Services UI ライブラリによって迅速化できます。 このカスタマイズ可能な UI ライブラリは、Web アプリとモバイル アプリ用のオープンソース UI コンポーネントと、Microsoft Teams のテーマを提供しています。

SDK

アセンブリ プロトコル Environment 機能
Azure Resource Manager REST サービス Communication Services のリソースをプロビジョニングおよび管理します
共通 該当なし クライアントとサービス 他の SDK の基本型を指定します
ID REST サービス ユーザーを管理し、トークンにアクセスします
電話番号 REST サービス 電話番号を取得して管理します
SMS REST サービス SMS メッセージを送信および受信します
Email REST サービス メール メッセージの送信と状態の取得
チャット 独自の通知を含む REST クライアントとサービス リアルタイムのテキスト チャットをアプリケーションに追加します
呼び出し 独自の転送 クライアント 音声、ビデオ、画面共有、および他のリアルタイム通信
呼び出し自動化 REST サービス PSTN および VoIP 通話用にカスタマイズされた通話ワークフローを構築する
ネットワーク トラバーサル REST サービス TURN サーバーへのアクセスによる低レベルのデータ転送
UI ライブラリ 該当なし クライアント チャットおよび通話アプリ用の運用環境対応 UI コンポーネント

言語と公開場所

以下では、個々の SDK パッケージの公開場所について説明します。

領域 JavaScript .NET Python Java SE iOS Android その他
Azure Resource Manager npm NuGet PyPi Maven - - GitHub 経由の Go
共通 npm NuGet 該当なし Maven GitHub Maven -
ID npm NuGet PyPi Maven - - -
電話番号 npm NuGet PyPi Maven - - -
チャット npm NuGet PyPi Maven GitHub Maven -
SMS npm NuGet PyPi Maven - - -
Email npm NuGet PyPi Maven - - -
呼び出し npm NuGet - - GitHub Maven -
呼び出し自動化 NuGet Maven
ネットワーク トラバーサル npm NuGet PyPi Maven - - -
UI ライブラリ npm - - - GitHub GitHub GitHubStorybook
リファレンス ドキュメント docs docs - docs docs docs -

SDK プラットフォーム サポートの詳細

iOS と Android

  • Communication Services iOS SDK は、iOS バージョン 13 以降と Xcode 11 以降を対象としています。
  • Android Java SDK は、Android API レベル 21 以降と Android Studio 4.0 以降を対象としています

.NET

Calling を除き、Communication Services パッケージは、下に示すプラットフォームがサポートされる .NET Standard 2.0 を対象としています。

.NET Framework 4.6.1 を介したサポート

  • Windows 10、8.1、8、7
  • Windows Server 2012 R2、2012、2008 R2 SP1

.NET Core 2.0 を介したサポート:

  • Windows 10 (1607 以降)、7 SP1+、8.1
  • Windows Server 2008 R2 SP1+
  • Max OS X 10.12 以降
  • Linux の複数のバージョン/ディストリビューション
  • UWP 10.0.16299 (RS3) 2017 年 9 月
  • Unity 2018.1
  • Mono 5.4
  • Xamarin iOS 10.14
  • Xamarin Mac 3.8

通話パッケージでは、以下で .NET Native または C++/WinRT を使用してビルドされた UWP アプリがサポートされています。

  • Windows 10 10.0.17763
  • Windows Server 2019 10.0.17763

REST API

Communication Services API は、他の Azure REST API と共に説明されています。 このドキュメントでは、HTTP メッセージを構成する方法と、Postman を使用するためのガイダンスが提供されます。 REST インターフェイス ドキュメントは GitHub で Swagger 形式でも公開されています。 個々の API のスロットル制限は、サービスの制限に関するページで確認できます。

API の安定性に関する想定

重要

このセクションでは、安定とマークされている REST API および SDK に関するガイダンスを提供します。 プレリリース、プレビュー、またはベータとマークされている API は、予告なしに変更されたり非推奨になったりする場合があります。

将来的に、Communication Services SDK のバージョンが廃止される可能性があります。また、REST API とリリースされた SDK に対して破壊的変更が加えられる可能性があります。 Azure Communication Services は、サービス バージョンの廃止に関して、"通常は" 次の 2 つのサポート ポリシーに従います。

  • Communication Services インターフェイスの変更に起因するコードの変更を求められる場合、お客様は少なくとも 3 年前に通知されます。 通常、ドキュメントに記載されているすべての REST API と SDK API では、インターフェイスが使用停止になる前に少なくとも 3 年間警告が発生します。
  • お客様は、SDK アセンブリを最新のマイナー バージョンに更新する必要が生じる少なくとも 1 年前に通知されます。 これらの必須の更新は、同じメジャー バージョンに含まれているため、コードを変更する必要はありません。 最新の SDK を使用することは、セキュリティとパフォーマンスに関する更新を頻繁に必要とするリアルタイム コンポーネントである Calling および Chat ライブラリにとって特に重要です。 すべての Communication Services SDK を最新の状態に保つことを強くお勧めします。

API と SDK の廃止の例

v24 バージョンの SMS REST API をアプリケーションに統合しました。 Azure Communication では v25 がリリースされています。

これらの API の機能が停止し、v25 に強制的に更新される前に、3 年間警告が表示されます。 この更新ではコードの変更が必要になる場合があります。

v2.02 バージョンの Calling SDK をアプリケーションに統合しました。 Azure Communication では v2.05 がリリースされています。

v2.05 バージョンの Calling SDK への更新を、v2.05 のリリースから 12 か月以内に求められる場合があります。 これはコードを変更せず、成果物を単に置き換えるだけで済みます。v2.05 は v2 メジャー バージョンに含まれ、破壊的変更はないためです。

次の手順

詳細については、次の SDK の概要を参照してください。

Azure Communication Services の使用を開始するには: