https://d226lax1qjow5r.cloudfront.net/blog/blogposts/handling-unsupported-inbound-messages-with-the-messages-api-dr/Blog_Unsupported-Inbound-Messages_1200x600.png

Messages APIでサポートされていない受信メッセージを処理する

最終更新日 May 10, 2021

所要時間:1 分

メッセージ Messages APIを使用すると、WhatsApp、Facebook Messenger、Viberなどの多くのソーシャルメッセージングチャネルで顧客とつながることができます。

メッセージの送受信は双方向だ。しかし、急速に進化するソーシャル・メッセージ・チャネルの世界では、ユニークな問題があります。もし顧客が、まだサポートされていないメッセージタイプをあなたのビジネスに送信したらどうなるでしょうか?

例えば、顧客からWhatsApp経由でステッカーが送られてきたら?この疑問は、Messages APIと統合している人々に広く浸透している。

その答えは、インバウンドメッセージのリクエストボディにある。インバウンドメッセージのJSONには、メッセージのコンテンツオブジェクト内に typeフィールドが含まれています。

タイプがサポートされていない場合 typeフィールドは unsupportedこれはWhatsApp、Viber、Facebook Messenger、MMSに当てはまります。未サポートのペイロードを持つ受信メッセージのメッセージボディは以下のようになります:

{
  "message_uuid": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab",
  "timestamp": "2020-01-01T14:00:00.000Z",
  "to": {
    "type": "whatsapp",
    "number": "447700900000"
  },
  "from": {
    "type": "whatsapp",
    "number": "447700900001"
  },
  "message": {
    "content": {
      "type": "unsupported"
    }
  }
}

顧客のWhatsApp番号が表示されます。この情報をもとに、アプリがどのように対応するかを決めることができます。顧客から返信があったことをメモしておくこともできますし、顧客が理解できないメッセージを送ってきたことを示す返信をすることもできます。

コードでサポートされていないメッセージを検出する

私は通常、このような概念を説明するコード例が好きなので、Node JSを使った例を見てみよう。新しいディレクトリを作成し、その中で npm install express body-parser

次に server.js.ここに以下のコードを追加する。

const app = require('express')()
const bodyParser = require('body-parser')

app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: true }))

app.post('/webhooks/inbound-message', (req, res) => {  
  if(req.body['message']['content']['type'] == 'unsupported'){
    console.log("Received an unsupported message from " 
      + req.body['from']['number']);
    // add the rest of your unsupported logic here.
  }
  else{
    console.log(req.body['message']['content'])
  }
  res.status(200).end();
});


app.listen(5000)

を実行してサーバーを起動します。 node server.js.サーバーが起動したら、最後にWhatsAppメッセージをサーバーに接続します。

私は ngrokを使い、Vonage Messages API からの WhatsApp 受信メッセージをローカルで受信することをお勧めします。ngrokを起動するには ngrok http 5000- を実行することで起動できる。アプリがメッセージを受信するのは BASE_URL/webhooks/inbound-messagesでメッセージを受信するので Messages API サンドボックス.

これで、自分にメッセージを送ることができる。WhatsAppに入り、メッセージサンドボックスにコーヒーステッカーを送ります:

Coffee Sticker

私のアプリはそれを受信し、メッセージを印刷します: Received an unsupported message from WHATSAPP_NUMBER.

そうでない場合は、メッセージの内容が表示される。

The response in action

リソース

  • WhatsAppメッセージの送信方法について知りたい方は、以下のリンクをクリックしてください。 説明Garann Meansより

  • 一般的にMessages APIを使用することに興味があるなら、我々の ドキュメントサイトをご覧ください。

  • このブログ記事のコードは GitHub

シェア:

https://a.storyblok.com/f/270183/384x384/73d57fd8eb/stevelorello.png
Steve Lorelloヴォネージの卒業生

元.NETデベロッパーアドボケイト @Vonage、フルスタック・ポリグロティック・ソフトウェア・エンジニア、AI/ML