SMSカスタマーサポート
SMSは一般的に利用できるため、カスタマーサポートのための多用途なソリューションとなります。電話番号は、印刷したり、読み上げたり、ウェブサイトに掲載したりすることができ、オンラインでもオフラインでも、誰でもあなたのビジネスに関わることができます。
SMSでカスタマー・サポートを提供することは、モバイル・ネットワークに接続された携帯電話を持っている人なら誰でも、完全な双方向コミュニケーション・システムを提供する一つの方法である。
このチュートリアルでは
VonageのAPIとライブラリを使用してSMSカスタマーサポートのシステムを構築します。
そのためには
- 基本的なウェブアプリを作成する - サポートチケットを開くためのリンクを持つ基本的なWebアプリケーションを作成します。
- Numbersを購入する - Vonageの電話番号を購入し、SMSを送信、受信する
- 受信SMSの処理 - 顧客から受信したSMSの受信と処理
- チケット番号をSMSで返信する - チケットがオープンされたら、新しいチケット番号を返信する。
前提条件
このチュートリアルを実行するには、以下のものが必要です:
- A Vonageアカウント
- VonageがあなたのアプリにWebhookリクエストを出せるように、一般にアクセス可能なWebサーバー。ローカルで開発する場合は、次のようなツールを使用する必要があります。 ングロク
- このチュートリアルのソースコード https://github.com/Nexmo/ruby-sms-customer-support/
- 米国を拠点とするすべての顧客は、以下を遵守するためにブランドとキャンペーンを登録する必要があります。 10 DLCガイドライン.
基本的なウェブアプリケーション
このチュートリアルでは、まず1ページのウェブ・アプリケーションから始めます。ユーザーはリンクをクリックしてSMSアプリを開き、サポートをリクエストすることができます。アプリは受信SMSを収集し、新しいチケットを開きます。最後に、アプリはユーザーにチケット番号を確認する新しいSMSを返信します。
基本的なアプリを作ることから始めよう。
このページは私たちのアプリケーションのルートにあり、あなたのSMSアプリへのリンクと、いくつかのプレフィルドテキストを提供します。
最初のページを追加する
app/views/pages/index.html.erb
<h1>ACME Support</h1>
<p>
<a href="sms://<%= ENV['VONAGE_NUMBER'] %>?body=Hi ACME, I'd like some help with: " class='button'>
Get support via SMS
</a>
</p>
これでサーバーを起動できる。
サーバーの起動
電話番号の購入
アプリがSMSを受信する前に、Vonageの電話番号をレンタルする必要があります。電話番号は ダッシュボード またはコマンドラインから直接 Vonage CLI.
最後に、Vonageは、受信SMSが受信されたときにHTTPリクエストを行うWebhookエンドポイントを通知する必要があります。これは ダッシュボード または Vonage CLI.
注:Webhook用の新しいコールバックURLを設定する前に、サーバーが稼動しており、公開されていることを確認してください。新しいWebhookを設定する際、Vonageはサーバに電話をかけ、利用可能かどうかを確認します。
インバウンドSMSの処理
顧客がSMSを送信すると、携帯電話会社のネットワーク経由でVonageが受信します。その後、VonageはあなたのアプリケーションにWebhookを作成します。
このウェブフックには、送信された元のテキスト、メッセージの発信元の電話番号、さらにいくつかのパラメータが含まれます。詳細は インバウンドメッセージ ドキュメンテーション
あなたのアプリは、受信したWebhookを処理し、テキストとナンバーを抽出し、新しいチケットを開くか、既存のチケットを更新する必要があります。これが顧客の最初のリクエストである場合、アプリは顧客にチケット番号とともに確認メッセージを送り返す必要があります。
これは、着信メッセージを保存し、その番号にまだ未解決のチケットがなければ、新しいチケットを開くことで達成される。
チケットとメッセージモデルを追加する
app/controllers/support_controller.rb
class SupportController < ApplicationController
def index
save_message
send_response
render nothing: true
end
private
def ticket
@ticket ||= Ticket.where(
number: params[:msisdn]
).first_or_create
end
def save_message
message = Message.create(
text: params[:text],
ticket: ticket
)
end
チケット番号をSMSで返信する
顧客のSMSに確認を送信するには、プロジェクトにVonageサーバーSDKを追加します。
ジェムファイル
gem 'vonage'
gem 'dotenv-rails'
注:サーバーSDKを初期化するには、次のようにサーバーSDKに渡す必要があります。 APIキーとシークレット.API認証情報をコードに保存せず、環境変数を使用することを強くお勧めします。
ライブラリが初期化されると、アプリケーションは次のことができるようになる。 SMSを送信する.このチケットの最初のメッセージである場合のみ、応答を送信してください。
def send_response
return if ticket.messages.count > 1
client = Vonage::Client.new
result = client.sms.send(
from: ENV['VONAGE_NUMBER'],
to: ticket.number,
text: "Dear customer, your support" \
"request has been registered. " \
"Your ticket number is #{ticket.id}. " \
"We intend to get back to any " \
"support requests within 24h."
)
end
結論
このチュートリアルでは、顧客の電話から SMS を受信し、SMS 返信を送信する方法を学びました。これらのコード・スニペットにより、Vonage SMS API を使用した SMS 顧客サポート・ソリューションが完成しました。
コードを取得する
このチュートリアルのすべてのコードとその他のコードは次のとおりです。 GitHubで入手可能.