Docs Menu
Docs Home
/ /
Atlas App Services
/ /

Twilio サービス [非推奨]

項目一覧

  • Overview
  • 構成パラメータ
  • サービス アクション
  • 受信 Webhook
  • 構成
  • リクエスト ペイロード
  • Webhook 関数の例
  • Twilio の構成
  • メッセージング サービスの作成
  • Twilio プロジェクトへの Webhook の追加

重要

サードパーティ サービスとプッシュ通知の廃止

Atlas App Services のサードパーティ サービスとプッシュ通知は非推奨となり、代わりに関数内の外部依存関係を使用する HTTP エンドポイントを作成できるようになりました。

Webhook はHTTPS endpointsに名前変更され、動作は変更されません。 既存の Webhook を移行する必要があります。

既存のサービスは、 30、2025 まで引き続き機能します。

サードパーティ サービスとプッシュ通知は非推奨になったため、App Services UI からデフォルトで削除されました。 既存のサードパーティ サービスまたはプッシュ通知を管理する必要がある場合は、次の操作を実行して構成を UI に追加できます。

  • 左側のナビゲーションの [ App Settings Manageセクションの下にある [] をクリックします。

  • Temporarily Re-Enable 3rd Party Servicesの横にあるトグル スイッチを有効にし、変更を保存します。

Twilio は、ウェブとモバイル アプリ向けのメッセージング、音声、チャット サービスを提供します。 Atlas App Services Twilio サービスは、Twilio のプログラマティック SMSサービスをアプリケーションに統合することをサポートしています。

  • アウトバウンド テキスト メッセージを送信するには、 send()アクションを使用します。

  • 受信テキスト メッセージを処理し、オプションで応答するには、受信 Webhook を作成し、それを Twilio メッセージング サービスに追加します 例については、このページの「受信 Webhook 」セクションを参照してください。

注意

Atlas App Services で Twilio を使用するには、Twilio アカウントに関連付けられたメッセージング サービスに登録されているTwilio Phone Numberが必要です。 Twilio ダッシュボードの ページから、または Twilio のNumbers プログラマティック SMS クイックスタート に従って、新しい番号を作成できます。 ガイドを参照してください。

Twilio サービス インターフェースを作成するときは、次のパラメータに値を指定する必要があります。

<Service Name><サービス名/config.json
{
"name": "<Service Name>",
"type": "twilio",
"config": {
"sid": <Twilio Account SID>
},
"secret_config": {
"auth_token": "<Secret Name>"
}
}
Parameter
説明
Service Name
config.name
この Twilio サービス インターフェースの名前。 これは、アプリケーション内の他のすべてのサービス インターフェースと一意である必要があります。
Twilio Account SID
config.sid
Twilio アカウントの一意の識別子です。 この値は、Twilio アカウントのダッシュボードで確認できます。
Twilio Authorization Token
secret_config.auth_token
Twilio の認証トークンを保存するSecretの名前。これは、Twilio のアカウント所有者であることを証明します。 この値は、Twilio アカウントのダッシュボードで確認できます。

Atlas App Services の Twilio サービスは、関数や SDK で利用可能な次のアクションを提供します。

サービス アクションの使用手順については、「サービス アクションの呼び出し 」を参照してください。

注意

Twilio Webhook のエンドポイントへの変換

Twilio サービス Webhook は非推奨となり、代わりに カスタムHTTPS endpointsが採用されるようになりました。 既存の Twilio Webhook をエンドポイントに移行する方法については、「 Webhook をHTTPS endpointsに変換する 」を参照してください。

Twilio サービスの受信 Webhook を使用すると、アプリは受信テキスト メッセージを処理できるようになります。 受信 Webhook を作成したら、それを Twilio メッセージング サービスに追加して、そのサービスの受信メッセージを処理できます。

Twilio 受信 Webhook を作成するときは、次のパラメーターに値を指定する必要があります。

Twilio 受信 Webhook を作成するときは、次の形式の構成ファイルを提供する必要があります。

{
"name": <string>,
"respond_result": <boolean>,
"run_as_user_id": <string>,
"run_as_user_id_script_source": <string>,
}
構成値
説明
Webhook Name
name

必須。 Webhook の名前。

注意

Twilio サービス インターフェース内の各受信 Webhook には一意の名前が必要です。

Respond With Result
respond_result

必須。 trueの場合、App Services は Webhook 関数の戻り値をレスポンス本文で Twilio に送信します。

注意

Twilio は、Webhook レスポンスの本体を含むテキスト メッセージを、最初のメッセージを送信した電話番号に自動的に送信します。

Run Webhook As
run_as_user_id
run_as_user_id_script_source

任意。 Webhook が呼び出されるときに Webhook 関数を実行するApp Services ユーザーの ID。

実行ユーザーを構成するには、次の 3 つの方法があります。

  • System: 実行ユーザーはシステムユーザーです。このユーザーは MongoDB CRUD と Aggregation API へのフルアクセス権を持ち、すべてのルールとスキーマの検証をバイパスします。

  • User Id: 関数を実行する特定のアプリケーション ユーザーを選択します。

  • Script: 実行ユーザーのidを返す関数を定義します。

でユーザー を直接指定することも、ID run_as_user_idで Webhook ペイロードを受け入れ、ユーザーAtlas Function を返す文字列化されたID run_as_user_id_script_sourceを提供することもできます。特定のユーザー ID またはユーザー ID に解決される関数を指定しない場合、App Services は MongoDB CRUD および集計 API へのフルアクセス権を持つシステムユーザーとして Webhook 関数を実行し、すべてのルールとスキーマの検証をバイパスします。

App Services は、受信する Webhook 関数の最初の引数としてpayloadドキュメントを自動的に渡します。 Twilio サービス受信 Webhook では、 payloadオブジェクトは受信 SMS メッセージを表し、形式は次のとおりです。

{
"From": "<Sender's Phone Number>",
"To": "<Receiver's Phone Number>",
"Body": "<SMS Body>"
}
フィールド
説明
From
E164 を含む string。 形式 受信テキスト メッセージを送信した電話番号。
To
E164 を含む string。 形式 受信テキスト メッセージが送信された Twilio メッセージング サービスに関連付けられている電話番号。
Body
受信したテキスト メッセージの内容を含む string。

電話番号(555)867-5309から Twilio の電話番号(805)716-6646にメッセージ"Hello! How are you?"とともに送信されたテキスト メッセージは、次のpayloadドキュメントで表されます。

{
"From": "+15558675309",
"To": "+18057166646",
"Body": "Hello! How are you?"
}

次の Webhook 関数は、Twilio の電話番号に送信されたテキスト メッセージを MongoDB コレクションに保存し、テキストを送信した電話番号にテキスト メッセージ応答を送信します。

exports = async function(payload, response) {
// const { To, From, Body } = payload;
const mongodb = context.services.get("mongodb-atlas");
const texts = mongodb.db("demo").collection("texts");
try {
// Save the text message body, to number, and from number
const { insertedId } = await texts.insertOne(payload);
// Send the user a confirmation text message
response.setBody(`Saved your text message with _id: ${insertedId}`);
} catch (error) {
// Send the user an error notification text message
response.setBody(`Failed to save your text message: ${error}`);
}
}
  1. Twilio へのログイン

  2. Twilio プロジェクトの左側のナビゲーション メニューで [ Programmable SMS ] をクリックします。

  3. [SMS > Messaging Services] をクリックします。

  4. [Create new Messaging Service] をクリックします。

  5. Friendly NameUse Caseを入力します

  6. クリック Create

  1. Twilio プロジェクトの左側のナビゲーション メニューで [ Programmable SMS ] をクリックします。

  2. [SMS > Messaging Services] をクリックします。

  3. 使用するメッセージング サービスをクリックします。

  4. メッセージング サービスの構成ページで、 PROCESS INBOUND MESSAGESボックスをオンにします。

  5. Request URLボックスに受信 Webhook URL を入力します。

  6. [Save] をクリックします。

これで、アプリが Twilio の SMS メッセージング サービスと統合されました。 Twilio の電話番号にメッセージを送信して、アプリの受信 Webhook を呼び出します。

戻る

http.head()