MMSでvCardを送信する

このコードスニペットでは、Messages API を使用して MMS vCard を送信する方法をご紹介します。

重要: 現在、MMSの送信に対応しているのは、US Short Codes、10DLC番号、SMS Enabled Toll Free Numbersのみです。USショートコードの場合、MMSメッセージは米国内のAT&T、T-Mobile(旧Sprint)、Verizonネットワークに送信できます。 10DLC番号の設定について詳しくはこちら (注:このページはSMS APIを参照していますが、10 DLCガイドラインのセクションの内容はMessages APIにも適用されます)。

メッセージのスループット、配信可能性、SMSメッセージ量は、使用する番号の種類によって異なる場合があります。この点、およびMMS全般についての詳細は Vonage MMS概要ページその Vonage 10DLCの概要ページそして Vonage電話番号概要ページ.

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

キー説明
MESSAGES_API_URL

There are two versions of the API, each with their own endpoints. For production the previous Messages API endpoint was https://api.nexmo.com/v0.1/messages, the new one is https://api.nexmo.com/v1/messages. For sandbox testing the Messages API endpoint is https://messages-sandbox.nexmo.com/v0.1/messages or https://messages-sandbox.nexmo.com/v1/messages, depending on which version you have set in the sandbox dashboard.

MESSAGES_TO_NUMBER

The number you are sending the to in E.164 format. For example 447700900000.

MMS_SENDER_ID

The alphanumeric string that represents the name or number of the organization sending the message.

MESSAGES_VCARD_URL

The publicly accessible URL of the vCard attachment. Supported types are .vcf only.

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

前提条件

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

コードを書く

send-mms-vcard.sh に以下を追加する:

curl -X POST "${MESSAGES_API_URL}" \
  -H "Authorization: Bearer "$JWT\
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -d $'{
    "to": "'${MESSAGES_TO_NUMBER}'",
    "from": "'${MMS_SENDER_ID}'",
    "channel": "mms",
    "message_type": "vcard",
    "vcard": {
      "url": "'${MESSAGES_VCARD_URL}'"
    }
  }'

全文を見る

コードを実行する

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

bash send-mms-vcard.sh

前提条件

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

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

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

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

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

全文を見る

コードを書く

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

val messageId = client.messages.send(
    mmsVcard {
        to(MESSAGES_TO_NUMBER)
        from(MMS_SENDER_ID)
        url(MESSAGES_VCARD_URL)
        caption(MESSAGES_CAPTION)
    }
)

全文を見る

コードを実行する

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

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

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

gradle run -Pmain=com.vonage.quickstart.kt.messages.mms.SendMmsVcard

前提条件

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

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

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

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

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

全文を見る

コードを書く

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

var response = client.getMessagesClient().sendMessage(
		MmsVcardRequest.builder()
			.from(MMS_SENDER_ID).to(MESSAGES_TO_NUMBER)
			.url(MESSAGES_VCARD_URL)
			.build()
);
System.out.println("Message sent successfully. ID: "+response.getMessageUuid());

全文を見る

コードを実行する

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

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

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

gradle run -Pmain=com.vonage.quickstart.messages.mms.SendMmsVcard

前提条件

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

Install-Package Vonage

コードを書く

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

var credentials = Credentials.FromAppIdAndPrivateKeyPath(VONAGE_APPLICATION_ID, VONAGE_PRIVATE_KEY_PATH);

var vonageClient = new VonageClient(credentials);

var request = new Vonage.Messages.Mms.MmsVcardRequest()
{
    To = MESSAGES_TO_NUMBER,
    From = MMS_SENDER_ID,
    Vcard = new Attachment
    {
        Url = MESSAGES_VCARD_URL
    }
};

var response = await vonageClient.MessagesClient.SendAsync(request);

全文を見る

前提条件

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

pip install vonage python-dotenv

コードを書く

send-vcard.py に以下を追加する:

from vonage import Auth, Vonage
from vonage_messages import MmsResource, MmsVcard

client = Vonage(
    Auth(
        application_id=VONAGE_APPLICATION_ID,
        private_key=VONAGE_PRIVATE_KEY,
    )
)

message = MmsVcard(
    to=MESSAGES_TO_NUMBER,
    from_=MMS_SENDER_ID,
    vcard=MmsResource(url=MESSAGES_VCARD_URL),
)

response = client.messages.send(message)
print(response)

全文を見る

コードを実行する

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

python messages/mms/send-vcard.py

前提条件

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

gem install vonage

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

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

全文を見る

コードを書く

send-mms-vcard.rb に以下を追加する:

message = client.messaging.mms(
  type: 'vcard',
  message: {
    url: MESSAGES_VCARD_URL
  }
)

client.messaging.send(
  from: MMS_SENDER_ID,
  to: MESSAGES_TO_NUMBER,
  **message
)

全文を見る

コードを実行する

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

ruby send-mms-vcard.rb

試してみる

このコードを実行すると、指定した宛先番号にMMS形式のvCardが送信されます。