領収書
Vonage SMS APIを使用して送信したメッセージが顧客に届いたかどうかを確認するには、以下のリクエストを行ってください。 納品書 キャリアから
注: すべてのネットワークや国が配送受領書をサポートしているわけではありません。詳しくはナレッジベースをご覧ください。 を受けるかもしれない。 ネットワークが領収書をサポートしていない場合。領収書の詳細については ドキュメンテーション.
領収書にアクセスするには、以下の手順が必要です:
- ウェブフック・エンドポイントの作成 以下のコード例のいずれかを使用する。
- Vonage DashboardでWebhookエンドポイントを設定します。
注: メッセージを送信した後、配信レシートを受け取るまでに時間がかかる場合があります。
前提条件
build.gradle に以下を追加する:
implementation 'com.vonage:server-sdk-kotlin:2.1.1'
implementation 'io.ktor:ktor-server-netty'
implementation 'io.ktor:ktor-serialization-jackson'コードを書く
ReceiveSmsDlr ファイルのmain メソッドに以下を追加する:
embeddedServer(Netty, port = 8000) {
routing {
route("/webhooks/delivery-receipt") {
handle {
if (call.request.queryParameters.isEmpty()) {
val json = call.receive<String>()
println(json)
}
else {
call.request.queryParameters.forEach { key, values ->
println("$key: ${values.first()}")
}
}
call.respond(HttpStatusCode.NoContent)
}
}
}
}.start(wait = true)コードを実行する
Gradle用のアプリケーション プラグインを使うことで、アプリケーションの実行を簡単にすることができます。build.gradle を以下のように更新する:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''以下のgradle コマンドを実行し、com.vonage.quickstart.kt.sms をReceiveSmsDlr を含むパッケージに置き換えてアプリケーションを実行する:
前提条件
build.gradle に以下を追加する:
implementation 'com.vonage:server-sdk:9.3.1'
implementation 'com.sparkjava:spark-core:2.9.4'コードを書く
ReceiveDlr ファイルのmain メソッドに以下を追加する:
port(3000);
get("/webhooks/delivery-receipt", (req, res) -> {
for (String param : req.queryParams()) {
System.out.printf("%s: %s\n", param, req.queryParams(param));
}
res.status(204);
return "";
});
post("/webhooks/delivery-receipt", (req, res) -> {
// The body will be form-encoded or a JSON object:
if (req.contentType().startsWith("application/x-www-form-urlencoded")) {
for (String param : req.queryParams()) {
System.out.printf("%s: %s\n", param, req.queryParams(param));
}
} else {
System.out.println(req.body());
}
res.status(204);
return "";
});コードを実行する
Gradle用のアプリケーション プラグインを使うことで、アプリケーションの実行を簡単にすることができます。build.gradle を以下のように更新する:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''以下のgradle コマンドを実行し、com.vonage.quickstart.sms をReceiveDlr を含むパッケージに置き換えてアプリケーションを実行する:
前提条件
Install-Package VonageSmsController.cs という名前のファイルを作成し、以下のコードを追加する:
{
[HttpGet("webhooks/inbound-sms")] コードを書く
SmsController.cs に以下を追加する:
}
[HttpGet("webhooks/verify-sms")]
public IActionResult VerifySms()
{
var vonageApiSignatureSecret = Environment.GetEnvironmentVariable("VONAGE_API_SIGNATURE_SECRET") ?? "VONAGE_API_SIGNATURE_SECRET";
var sms = WebhookParser.ParseQuery<InboundSms>(Request.Query);前提条件
コードを書く
index.php に以下を追加する:
$handler = function (Request $request, Response $response) {
$receipt = \Vonage\SMS\Webhook\Factory::createFromRequest($request);
error_log(print_r($receipt, true));
return $response->withStatus(204);
};
$app->map(['GET', 'POST'], '/webhooks/delivery-receipt', $handler);
$app->run();コードを実行する
このファイルをあなたのマシンに保存し、実行する:
前提条件
pip install fastapi[standard]コードを書く
delivery-receipts.py に以下を追加する:
from pprint import pprint
from fastapi import FastAPI, Request
app = FastAPI()
@app.post('/webhooks/delivery-receipt')
async def get_delivery_receipt(request: Request):
data = await request.json()
pprint(data)コードを実行する
このファイルをあなたのマシンに保存し、実行する:
前提条件
gem install sinatra sinatra-contribdelivery_receipt.rb という名前のファイルを作成し、以下のコードを追加する:
require 'sinatra'
require 'sinatra/multi_route'
require 'json'
helpers do
def parsed_body
json? ? JSON.parse(request.body.read) : {}
end
def json?
request.content_type == 'application/json'
end
endコードを書く
delivery_receipt.rb に以下を追加する:
route :get, :post, '/webhooks/delivery-receipt' do
puts params.merge(parsed_body)
status 204
end
set :port, 3000コードを実行する
このファイルをあなたのマシンに保存し、実行する:
Vonage DashboardでWebhookエンドポイントを設定します。
VonageがWebhookにアクセスする方法を知るには、Vonageアカウントで設定する必要があります。
コード・スニペットでは、ウェブフックは次の場所にあります。 /webhooks/delivery-receipt.Ngrok を使用している場合、Webhook を設定する必要があります。 Vonage Dashboard API 設定ページ という形式である。 https://demo.ngrok.io/webhooks/delivery-receipt.交換 demo というフィールドにエンドポイントを入力します。 配信レシートのWebhook URL:

試してみる
メッセージを送る を携帯電話番号に送信すると、ネットワークがサポートしている場合は、以下の形式で配信レシートを受け取ることができます:
{
"err-code": "0",
"message-timestamp": "2020-10-25 12:10:29",
"messageId": "0B00000127FDBC63",
"msisdn": "447700900000",
"network-code": "23410",
"price": "0.03330000",
"scts": "1810251310",
"status": "delivered",
"to": "Vonage"
}
注: メッセージを送信した後、配信レシートを受け取るまでに時間がかかる場合があります。