SMSカスタマーサポート

SMSは一般的に利用できるため、カスタマーサポートのための多用途なソリューションとなります。電話番号は、印刷したり、読み上げたり、ウェブサイトに掲載したりすることができ、オンラインでもオフラインでも、誰でもあなたのビジネスに関わることができます。

SMSでカスタマー・サポートを提供することは、モバイル・ネットワークに接続された携帯電話を持っている人なら誰でも、完全な双方向コミュニケーション・システムを提供する一つの方法である。

このチュートリアルでは

VonageのAPIとライブラリを使用してSMSカスタマーサポートのシステムを構築します。

そのためには

前提条件

このチュートリアルを実行するには、以下のものが必要です:

  • A Vonageアカウント
  • VonageがあなたのアプリにWebhookリクエストを出せるように、一般にアクセス可能なWebサーバー。ローカルで開発する場合は、次のようなツールを使用する必要があります。 ングロク
  • このチュートリアルのソースコード https://github.com/Nexmo/ruby-sms-customer-support/
  • 米国を拠点とするすべての顧客は、以下を遵守するためにブランドとキャンペーンを登録する必要があります。 10 DLCガイドライン.

基本的なウェブアプリケーション

このチュートリアルでは、まず1ページのウェブ・アプリケーションから始めます。ユーザーはリンクをクリックしてSMSアプリを開き、サポートをリクエストすることができます。アプリは受信SMSを収集し、新しいチケットを開きます。最後に、アプリはユーザーにチケット番号を確認する新しいSMSを返信します。

AppVonagePhoneAppVonagePhoneSMS 1WebhookSMS RequestSMS 2

基本的なアプリを作ることから始めよう。

rails new customer-support cd customer-support rake db:create db:migrate

このページは私たちのアプリケーションのルートにあり、あなたのSMSアプリへのリンクと、いくつかのプレフィルドテキストを提供します。

最初のページを追加する

rails g controller pages index

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>

これでサーバーを起動できる。

サーバーの起動

rails server

電話番号の購入

アプリがSMSを受信する前に、Vonageの電話番号をレンタルする必要があります。電話番号は ダッシュボード またはコマンドラインから直接 Vonage CLI.

vonage numbers:buy US --number=15555555555 Number 15555555555 purchased.

最後に、Vonageは、受信SMSが受信されたときにHTTPリクエストを行うWebhookエンドポイントを通知する必要があります。これは ダッシュボード または Vonage CLI.

vonage number:sms 15555555555 http://[your.domain.com]/support Number updated

:Webhook用の新しいコールバックURLを設定する前に、サーバーが稼動しており、公開されていることを確認してください。新しいWebhookを設定する際、Vonageはサーバに電話をかけ、利用可能かどうかを確認します。

インバウンドSMSの処理

顧客がSMSを送信すると、携帯電話会社のネットワーク経由でVonageが受信します。その後、VonageはあなたのアプリケーションにWebhookを作成します。

このウェブフックには、送信された元のテキスト、メッセージの発信元の電話番号、さらにいくつかのパラメータが含まれます。詳細は インバウンドメッセージ ドキュメンテーション

あなたのアプリは、受信したWebhookを処理し、テキストとナンバーを抽出し、新しいチケットを開くか、既存のチケットを更新する必要があります。これが顧客の最初のリクエストである場合、アプリは顧客にチケット番号とともに確認メッセージを送り返す必要があります。

これは、着信メッセージを保存し、その番号にまだ未解決のチケットがなければ、新しいチケットを開くことで達成される。

チケットとメッセージモデルを追加する

rails g controller support index rails g model Ticket number rails g model Message text ticket:references rake db:migrate

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で入手可能.

リソース