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を使ったコールイベントの受信
コールからのイベントを受け取るウェブフックを作成する
手順
1
このタスクの紹介2
Prerequisites3
ウェブフックを作成する4
ローカルサーバーの作成5
ウェブフックを作成する6
クリーンアップ7
次はどうする?