メッセージ・ステータスWebhook
このコード・スニペットでは、メッセージ・ステータス Webhook を使ってメッセージ・ステータスの更新を受け取る方法を学びます。
注: の使用を推奨する。 JWTベースの認証 で受信と配信のウェブフックURLを設定することができます。 アプリケーションレベル.そうでなければ、異なるアプリケーションからのすべてのコールバックは、あなたの アカウントレベルのウェブフックURL.
注: Messages API は以下をサポートしています。 署名入りウェブフック これにより、リクエストがVonageから来たものであり、そのペイロードが転送中に改ざんされていないことを確認できます。
例
メッセージのステータスを確認する ウェブフックが設定されている を使用してください。不必要なコールバックのキューイングを避けるため、ハンドラは最低限 200 ステータスコードを返す必要があります。メッセージアプリケーションをテストする前に、Webhookサーバーが動作していることを確認してください。
Prerequisites
If you do not have an application you can create one. Make sure you also configure your webhooks.
npm install express body-parserWrite the code
Add the following to message-status.js:
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.post('/webhooks/message-status', (req, res) => {
console.log(req.body);
res.status(200).end();
});
app.listen(3000);Run your code
Save this file to your machine and run it:
Prerequisites
If you do not have an application you can create one. Make sure you also configure your webhooks.
Add the following to build.gradle:
Write the code
Add the following to the main method of the MessageStatusWebhook class:
Run your code
We can use the アプリケーション plugin for Gradle to simplify the running of our application. Update your build.gradle with the following:
Run the following gradle command to execute your application, replacing com.vonage.quickstart.kt.messages with the package containing MessageStatusWebhook:
Prerequisites
If you do not have an application you can create one. Make sure you also configure your webhooks.
Add the following to build.gradle:
Write the code
Add the following to the main method of the MessageStatusWebhook class:
Route inboundRoute = (request, response) -> {
MessageStatus messageDetails = MessageStatus.fromJson(request.body());
System.out.println(
"Message ID "+messageDetails.getMessageUuid()+" (status " + messageDetails.getStatus()+
") was sent at "+messageDetails.getTimestamp()+" from " +
messageDetails.getFrom()+" to "+messageDetails.getTo()+" via "+
messageDetails.getChannel()+" using "+messageDetails.getChannel()
);
return "OK";
};
Spark.port(3000);
Spark.post("/webhooks/message-status", inboundRoute);Run your code
We can use the アプリケーション plugin for Gradle to simplify the running of our application. Update your build.gradle with the following:
Run the following gradle command to execute your application, replacing com.vonage.quickstart.messages with the package containing MessageStatusWebhook:
Prerequisites
If you do not have an application you can create one. Make sure you also configure your webhooks.
composer require vonage/clientCreate a file named message-status.php and add the following code:
Run your code
Save this file to your machine and run it:
Prerequisites
If you do not have an application you can create one. Make sure you also configure your webhooks.
pip install fastapi[standard]Run your code
Save this file to your machine and run it:
Prerequisites
If you do not have an application you can create one. Make sure you also configure your webhooks.
gem install sintatraWrite the code
Add the following to message-status.rb:
require 'sinatra'
require 'json'
post "/webhooks/messages/status" do
payload = JSON.parse(request.body.read)
puts "Received message status webhook:\n#{payload}\n\n"
status 200
end
set :port, 3000Run your code
Save this file to your machine and run it:
試してみる
Vonageから送信されたアウトバウンドメッセージのステータスが変更されると、Webhookが起動します。メッセージのステータスはコンソールにも出力されます。
メッセージ・ステータスのフォーマット POST リクエストは メッセージステータス セクションの APIリファレンス.