Update a Template Fragment

You can update the text in a Template Fragment using this endpoint. Note that there are four reserved template variables that can be used here: ${code}, ${brand}, ${time-limit} and ${time-limit-unit}.

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

TEMPLATE_FRAGMENT_ID

The custom template fragment ID

Write the code

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

curl -X PATCH "https://api.nexmo.com/v2/verify/templates/$VERIFY_TEMPLATE_ID/template_fragments/$VERIFY_TEMPLATE_FRAGMENT_ID" \
  -H "Authorization: Bearer $JWT"\
  -H 'Content-Type: application/json' \
  -d $'{
	   "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 update-template-fragment.sh

Prerequisites

npm install @vonage/server-sdk

Create a file named update-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 update-template-fragment.js:

vonage.verify2.getTemplateFragment(
  VERIFY_TEMPLATE_ID,
  {
    templateFragmentId: VERIFY_TEMPLATE_FRAGMENT_ID,
    text: 'The authentication code for your ${brand} is: ${code}',
  },
)
  .then((fragment) => console.log(fragment))
  .catch((error) => console.error(error));

View full source

Run your code

Save this file to your machine and run it:

node update-template-fragment.js

Prerequisites

Add the following to build.gradle:

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

Create a file named UpdateTemplateFragment 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 UpdateTemplateFragment file:

val existingTemplate = client.verify.template(VERIFY_TEMPLATE_ID)
val existingFragment = existingTemplate.fragment(VERIFY_TEMPLATE_FRAGMENT_ID)
val updatedFragment = existingFragment.update(
    "The authentication code for your \${brand} is: \${code}",
)
println(updatedFragment)

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 UpdateTemplateFragment:

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

Prerequisites

Add the following to build.gradle:

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

Create a file named UpdateTemplateFragment 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 UpdateTemplateFragment file:

var updated = client.getVerify2Client().updateTemplateFragment(
		VERIFY_TEMPLATE_ID, VERIFY_TEMPLATE_FRAGMENT_ID,
		"The authentication code for your ${brand} is: ${code}"
);
System.out.println(updated);

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 UpdateTemplateFragment:

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

Prerequisites

Install-Package Vonage

Create a file named UpdateTemplateFragmentRequest.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 UpdateTemplateFragmentRequest.cs:

var request = Vonage.VerifyV2.UpdateTemplateFragment.UpdateTemplateFragmentRequest.Build()
    .WithId(TEMPLATE_ID)
    .WithFragmentId(TEMPLATE_FRAGMENT_ID)
    .WithText("The authentication code for your ${brand} is: ${code}")
    .Create();
var response = await client.VerifyV2Client.UpdateTemplateFragmentAsync(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}'
);

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 update-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 update-template-fragment.rb:

client.verify2.template_fragments.update(
  template_id: VERIFY_TEMPLATE_ID,
  template_fragment_id: VERIFY_TEMPLATE_FRAGMENT_ID,
  text: 'The one-time authentication code for your ${brand} is: ${code}'
)

View full source

Run your code

Save this file to your machine and run it:

ruby update-template-fragment.rb