メインコンテンツへスキップ
Jinba FlowにはTwilioの送信用ツールが2つ、SMS/MMS受信用の入力ツールが1つあります。Twilio認証情報でAccount SIDとAuth Tokenを設定してください。送信用ツールには両方が必要で、ツール設定またはサーバーの環境変数から渡します。

SMSを送信する

Account SIDとAuth Tokenは別々のシークレットです。TWILIO_ACCOUNT_SIDとTWILIO_AUTH_TOKENは自分のシークレット名に、電話番号は自分の番号に置き換えてください。電話番号は先頭に+を付けたE.164形式で指定し、fromには自分が所有するTwilio番号を使います。成功すると{{steps.send_sms.result.message.sid}}とresult.message.status(例:queued)を参照できます。送信に失敗する場合は、認証情報、送信元番号、宛先、Twilioアカウントの制限を確認してください。

WhatsAppメッセージを送信する

toとfromにはwhatsapp:を付けずにE.164形式の番号を指定します。接頭辞はツールが追加し、それ以外の形式はエラーになります。fromにはWhatsAppが有効なTwilio送信元を指定してください。media_urlsは任意で、公開アクセス可能なURLのJSON配列、または単一のURLを渡します。結果はSMSと同じ形で、result.message.sid、result.message.status、result.message.num_mediaを参照できます。 対応するメディア形式はJPEG、PNG、GIF、MP4、PDFです。テスト用の送信元はTwilioのWhatsAppドキュメントの最新手順に沿って設定してください。トライアルアカウントの宛先確認や送信制限は変更されることがあるため、配信テストの前にTwilioの最新トライアル案内を確認してください。

TwilioからSMS/MMSを受信する

  1. ステップのauth_token設定に種類がTWILIO_AUTH_TOKENのシークレットを指定し、フローを公開します。auth_tokenは必須です。エンドポイントは公開バージョンを実行し、そのバージョンのINPUT_TWILIO_SMSステップに有効なAuth Tokenがない場合は、すべてのコールバックを401で拒否します。
  2. Twilio番号の受信メッセージWebhookに、Jinba Flowのホストと公開フローIDを使ってPOST /api/v2/external/flows/:flowId/twilio-runを設定します。
  3. Twilio番号へメッセージを送り、フローの実行履歴を確認します。Twilioは通常フォーム形式でデータを送り、エンドポイントはフローを実行しながら空のTwiML応答を返します。
エンドポイントはWebhookのデータをすべてのINPUT_TWILIO_SMSステップに渡し、各ステップがそれを解析してresultに返します。必須フィールドはMessageSid、AccountSid、From、To、Body、NumMediaです。MMSではMediaUrl0〜MediaUrl9とMediaContentType0〜MediaContentType9が加わります。後続ステップでは{{steps.receive_sms.result.Body}}や{{steps.receive_sms.result.From}}のように参照します。返信するには、toにresult.From、fromにresult.Toを指定してSMSを送信します。イベント値がない、または形式が無効な場合はINPUT_TWILIO_SMS_ERRORが返ります。すべてのコールバックは認証されます。エンドポイントは公開ステップのauth_token設定にあるAuth TokenでX-Twilio-Signatureヘッダーを検証し、ヘッダーがない、または署名が一致しない場合は401を返します。同じ配信の再送は、新しい実行を開始せずに応答されます。