Create a Template Fragment

A Template Fragment is the template's content, identified uniquely by it's channel and locale. To create a Fragment, you will need to have already created a Template.

KeyDescription
VONAGE_APPLICATION_ID

The Vonage Application ID.

VONAGE_APPLICATION_PRIVATE_KEY_PATH

Private key path.

JWT

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

TEMPLATE_ID

The custom template ID

Write the code

Add the following to create-template-fragment.sh:

curl -X POST "https://api.nexmo.com/v2/verify/templates/$VERIFY_TEMPLATE_ID/template_fragments" \
  -H "Authorization: Bearer $JWT"\
  -H 'Content-Type: application/json' \
  -d $'{
	  "channel": "sms",
    "locale": "en-us",
    "text": "The authentication code for your ${brand} is: ${code}"
  }'

View full source

Run your code

Save this file to your machine and run it:

sh create-template-fragment.sh

Prerequisites

npm install @vonage/server-sdk

Create a file named create-template-fragment.js and add the following code:

const { Vonage } = require('@vonage/server-sdk');

const vonage = new Vonage ({
  applicationId: VONAGE_APPLICATION_ID,
  privateKey: VONAGE_APPLICATION_PRIVATE_KEY_PATH,
});

View full source

Write the code

Add the following to create-template-fragment.js:

vonage.verify2.createTemplateFragment(
  VERIFY_TEMPLATE_ID,
  {
    channel: 'sms',
    locale: 'en-us',
    text: 'The authentication code for your ${brand} is: ${code}',
  },
)
  .then((result) => console.log(result))
  .catch((error) => console.error(error));

View full source

Run your code

Save this file to your machine and run it:

node create-template-fragment.js

Prerequisites

Add the following to build.gradle:

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

Create a file named CreateTemplateFragment and add the following code to the main method:

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

View full source

Write the code

Add the following to the main method of the CreateTemplateFragment file:

val existingTemplate = client.verify.template(VERIFY_TEMPLATE_ID)
val fragment = existingTemplate.createFragment(
    text = "The authentication code for your \${brand} is: \${code}",
    channel = FragmentChannel.SMS,
    locale = "en-us"
)
println(fragment.fragmentId)

View full source

Run your code

We can use the application plugin for Gradle to simplify the running of our application. Update your build.gradle with the following:

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

Run the following gradle command to execute your application, replacing com.vonage.quickstart.kt.verify.templates.fragments with the package containing CreateTemplateFragment:

gradle run -Pmain=com.vonage.quickstart.kt.verify.templates.fragments.CreateTemplateFragment

Prerequisites

Add the following to build.gradle:

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

Create a file named CreateTemplateFragment and add the following code to the main method:

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

View full source

Write the code

Add the following to the main method of the CreateTemplateFragment file:

var fragment = client.getVerify2Client().createTemplateFragment(
		VERIFY_TEMPLATE_ID, new TemplateFragment(
				FragmentChannel.SMS, "en-us",
				"The authentication code for your ${brand} is: ${code}"
		)
);
System.out.println(fragment);

View full source

Run your code

We can use the application plugin for Gradle to simplify the running of our application. Update your build.gradle with the following:

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

Run the following gradle command to execute your application, replacing com.vonage.quickstart.verify2.templates with the package containing CreateTemplateFragment:

gradle run -Pmain=com.vonage.quickstart.verify2.templates.CreateTemplateFragment

Prerequisites

Install-Package Vonage

Create a file named CreateTemplateFragmentRequest.cs and add the following code:

var credentials = Credentials.FromAppIdAndPrivateKeyPath(VONAGE_APPLICATION_ID, VONAGE_APPLICATION_PRIVATE_KEY_PATH);
var client = new VonageClient(credentials);

View full source

Write the code

Add the following to CreateTemplateFragmentRequest.cs:

var request = Vonage.VerifyV2.CreateTemplateFragment.CreateTemplateFragmentRequest.Build()
    .WithTemplateId(TEMPLATE_ID)
    .WithText("The authentication code for your ${brand} is: ${code}")
    .WithLocale(Locale.EnUs)
    .WithChannel(VerificationChannel.Sms)
    .Create();
var response = await client.VerifyV2Client.CreateTemplateFragmentAsync(request);

View full source

Prerequisites

composer require vonage/client

Create a file named create-template-fragment.php and add the following code:

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

View full source

Write the code

Add the following to create-template-fragment.php:

$createFragmentRequest = new CreateCustomTemplateFragmentRequest(
    'sms',
    'en-us',
    'The authentication code for your ${brand} is: ${code}'
);

$client->verify2()->createCustomTemplateFragment(TEMPLATE_ID, $createFragmentRequest);

View full source

Run your code

Save this file to your machine and run it:

php create-template-fragment.php

Prerequisites

gem install vonage

Create a file named create-template-fragment.rb and add the following code:

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

View full source

Write the code

Add the following to create-template-fragment.rb:

client.verify2.template_fragments.create(
  template_id: VERIFY_TEMPLATE_ID,
  channel: 'sms',
  locale: 'en-us',
  text: 'The authentication code for your ${brand} is: ${code}'
)

View full source

Run your code

Save this file to your machine and run it:

ruby create-template-fragment.rb