JavaScript

ウェブフック・エラー

を使って作成したウェブフックが vis/v1/self/webhooks/ エンドポイントに到達できないか、404 または 500 を返した場合、そのウェブフックは無効とみなされ、そのエンドポイントへの受信ペイロードは表示されません。以下のエンドポイントに GET コールを行うことで、すべてのウェブフックのステータスを照会できます:

https://api.vonage.com/t/vbc.prod/vis/v1/self/webhooks/

これは、あなたのアプリケーションに関連するすべてのWebhookのリストを返します:

[
 {
 "id": "{}",
 "userId": "{}",
 "accountId": "{}",
 "url": "{}",
 "status": "ACTIVE",
 "events": [
 "CALL"
 ],
 "signingAlgo": "HMAC_SHA256",
 "signingKey": "string",
 "metadataPolicy": "NONE",
 "expireAt": "2030-06-21T11:06:21.038Z",
 "createdAt": "2020-06-23T11:06:21.038Z",
 "purgeAt": "2040-09-16T11:06:21.038Z",
 "statistics": {
 "totalAttempts": 8,
 "totalSuccesses": 5,
 "totalFailures": 3,
 "failed": true,
 "lastSuccess": "2020-06-23T11:28:12.434Z",
 "lastFailure": "2020-06-23T17:21:48.207Z",
 "lastHttpErrorCode": "500 INTERNAL_SERVER_ERROR",
 "lastErrorMessage": "500 INTERNAL SERVER ERROR: [<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n \"http://www.w3.org/TR/html4/loose.dtd\">\n<html>\n <head>\n <title>NameError: name 'flask' is not defined // Werkzeug Debugger</title>\n... (19777 bytes)]"
 }
 }
]

上記の例では lastErrorMessage は、ウェブフックが呼び出されたときにエラーを表示します。

同じWebhookへのイベントを受信するには、Webhookを作成するために別のPOSTリクエストを行う必要があります:

curl --location --request POST 'https://api.vonage.com/t/vbc.prod/vis/v1/self/webhooks/' \ --header 'Authorization: Bearer {ACCESS_TOKEN}' \ --header 'Content-Type: application/json' \ --data-raw '{ "url": "https://{NGROK_URL}/webhook", "events": [ "CALL" ], "signingAlgo": "HMAC_SHA256", "signingKey": "string", "metadataPolicy": "NONE"

Webhookが更新されると、受信イベントが表示されます。

Webhookを使ったコールイベントの受信

コールからのイベントを受け取るウェブフックを作成する

以下の言語で利用可能:
JavaScript Python
手順
1
このタスクの紹介
2
Prerequisites
3
ウェブフックを作成する
4
ローカルサーバーの作成
5
ウェブフックを作成する
6
クリーンアップ
7
次はどうする?