受信メッセージを既読にする

このコードスニペットでは、WhatsApp 受信メッセージを read.メッセージを read をクリックすると、WhatsApp UIでそのメッセージに青いチェックマークが表示されます。

受信メッセージを既読にするには PATCH リクエストは、Vonage のサーバーに保存されているメッセージ・オブジェクトへのもので、UUID によって特定のメッセージを識別します。メッセージ・オブジェクトは地理的に配置されているので、リクエストには地理的な URL を使用する必要があります。 read.

重要: メッセージ未送信の場合、WhatsAppは初回メッセージ送信時にテンプレートを要求します。詳しくは WhatsAppトピックの理解.

各コード・スニペットで使用されているすべての変数の説明を以下に示します:

キー説明
JWT

Used to authenticate your request. See Authentication for more information, including how to generate a JWT.

VONAGE_APPLICATION_ID

The Vonage Application ID.

VONAGE_PRIVATE_KEY_PATH

Private key path.

GEOSPECIFIC_MESSAGES_API_URL

The URL for the Geo-specific Messages API endpoint. One of https://api-eu.nexmo.com/v1/messages, https://api-us.nexmo.com/v1/messages, https://api-ap.nexmo.com/v1/messages.

GEOSPECIFIC_VONAGE_API_HOST

The hostname for the Geo-specific API endpoint. One of api-eu.nexmo.com, api-us.nexmo.com, api-ap.nexmo.com.

MESSAGE_UUID

The UUID of the specific message.

注: 先頭の + または 00 電話番号を入力する場合は、447700900000のように国番号から入力してください。

前提条件

申込書をお持ちでない場合は、ひとつ作るウェブフックの設定 もご確認ください。

コードを書く

mark-as-read.sh に以下を追加する:

curl -X PATCH "${GEOSPECIFIC_MESSAGES_API_URL}/${MESSAGES_MESSAGE_ID}" \
  -H "Authorization: Bearer "$JWT\
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -d $'{
    "status": "read",
  }'

全文を見る

コードを実行する

このファイルをあなたのマシンに保存し、実行する:

bash mark-as-read.sh

前提条件

申込書をお持ちでない場合は、ひとつ作るウェブフックの設定 もご確認ください。

build.gradle に以下を追加する:

implementation 'com.vonage:server-sdk-kotlin:2.1.1'

MarkAsRead という名前のファイルを作成し、main メソッドに以下のコードを追加する:

val client = Vonage {
    applicationId(VONAGE_APPLICATION_ID)
    privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
}

全文を見る

コードを書く

MarkAsRead ファイルのmain メソッドに以下を追加する:

client.messages.existingMessage(MESSAGES_MESSAGE_ID, MESSAGES_GEOSPECIFIC_API_HOST).markAsRead()

全文を見る

コードを実行する

Gradle用のアプリケーション プラグインを使うことで、アプリケーションの実行を簡単にすることができます。build.gradle を以下のように更新する:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

以下のgradle コマンドを実行し、com.vonage.quickstart.kt.messages.whatsappMarkAsRead を含むパッケージに置き換えてアプリケーションを実行する:

gradle run -Pmain=com.vonage.quickstart.kt.messages.whatsapp.MarkAsRead

前提条件

申込書をお持ちでない場合は、ひとつ作るウェブフックの設定 もご確認ください。

build.gradle に以下を追加する:

implementation 'com.vonage:server-sdk:9.3.1'

MarkAsRead という名前のファイルを作成し、main メソッドに以下のコードを追加する:

VonageClient client = VonageClient.builder()
		.applicationId(VONAGE_APPLICATION_ID)
		.privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
		.build();

全文を見る

コードを書く

MarkAsRead ファイルのmain メソッドに以下を追加する:

client.getMessagesClient().ackInboundMessage(MESSAGES_MESSAGE_ID, ApiRegion.API_EU);

全文を見る

コードを実行する

Gradle用のアプリケーション プラグインを使うことで、アプリケーションの実行を簡単にすることができます。build.gradle を以下のように更新する:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

以下のgradle コマンドを実行し、com.vonage.quickstart.messages.whatsappMarkAsRead を含むパッケージに置き換えてアプリケーションを実行する:

gradle run -Pmain=com.vonage.quickstart.messages.whatsapp.MarkAsRead

前提条件

申込書をお持ちでない場合は、ひとつ作るウェブフックの設定 もご確認ください。

Install-Package Vonage

コードを書く

MarkAsRead.cs に以下を追加する:

var credentials = Credentials.FromAppIdAndPrivateKeyPath(VONAGE_APPLICATION_ID, VONAGE_PRIVATE_KEY_PATH);
var vonageClient = new VonageClient(credentials);
await vonageClient.MessagesClient.UpdateAsync(WhatsAppUpdateMessageRequest.Build(MESSAGES_MESSAGE_ID));

全文を見る

前提条件

申込書をお持ちでない場合は、ひとつ作るウェブフックの設定 もご確認ください。

composer require vonage/client

send-file.php という名前のファイルを作成し、以下のコードを追加する:

$keypair = new \Vonage\Client\Credentials\Keypair(
    file_get_contents(VONAGE_APPLICATION_PRIVATE_KEY_PATH),
    VONAGE_APPLICATION_ID
);

$client = new \Vonage\Client($keypair);

全文を見る

コードを書く

send-file.php に以下を追加する:


$fileObject = new \Vonage\Messages\MessageObjects\FileObject(
    'https://example.com/file.pdf',

全文を見る

コードを実行する

このファイルをあなたのマシンに保存し、実行する:

php send-file.php

前提条件

申込書をお持ちでない場合は、ひとつ作るウェブフックの設定 もご確認ください。

pip install vonage python-dotenv

コードを書く

mark-as-read.py に以下を追加する:

client.messages.mark_whatsapp_message_read("MESSAGES_MESSAGE_ID")

全文を見る

コードを実行する

このファイルをあなたのマシンに保存し、実行する:

python messages/whatsapp/mark-as-read.py

前提条件

申込書をお持ちでない場合は、ひとつ作るウェブフックの設定 もご確認ください。

gem install vonage

mark-as-read.rb という名前のファイルを作成し、以下のコードを追加する:

client = Vonage::Client.new(
  application_id: VONAGE_APPLICATION_ID,
  private_key: VONAGE_PRIVATE_KEY,
  api_host: GEOSPECIFIC_VONAGE_API_HOST
)

全文を見る

コードを書く

mark-as-read.rb に以下を追加する:

client.messaging.update(
  message_uuid: MESSAGES_MESSAGE_ID,
  status: 'read'
)

全文を見る

コードを実行する

このファイルをあなたのマシンに保存し、実行する:

ruby mark-as-read.rb

試してみる

コードを実行すると、指定された受信メッセージを既読にするリクエストが行われる。