Customize Trademark Claims Notification e-mail

During the first 90 days (although for some extensions this is a longer period) that a new gTLD is available, each domain registration is checked against the database of the Trademark Clearinghouse to see if a matching trademark is found. If such a trademark is found, the domain cannot be registered immediately: the domain owner first needs to acknowledge that he is aware of trademarks with that same name and that he does not infringe 3rd parties rights. To fetch this acknowledgement, Openprovider sends a so-called Trademark Claims Notification (TCN) e-mail to the domain owner.

It is possible to customize this Trademark Claims Notification e-mail and the page on which the customer acknowledges the registration. By setting up your own confirmation page, you can redirect your customers directly from the e-mail to your own portal.


First of all, configure your TCN branding and include a Confirmation link to your own website. This confirmation link can be anything, as long as you include the two most important variables:

  • %%domain%% is the domain name to be registered (optional value)
  • %%domainId%% is a unique identifier for the domain that is registered
  • %%authCode%% is a security code to prevent abuse

Two examples of a valid URL would then be:

Handling TCN responses

Basically, your script should call the callback script of Openprovider with the right variables: domainId, authCode and approval. (The variable domain is not used in the call to Openprovider.) The approval variable should contain yes or no:

There are many ways to accomplish this, one of the approaches is written in an example PHP script below. This script displays a very basic form and asks for an approval or reject. Having that answer, it calls the Openprovider server:


/* requires confirmation URL including

  if (isset($_GET['approval']) && $_GET['domainId'] && $_GET['authCode']) {
    $url = ''

    // This command requires allow_url_fopen to be enabled
$response = file_get_contents($url);

// Alternatively, use the PHP CURL functions
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close ($ch);

// Output the response to the website visitor, or use this response in your own script for a better answer
    echo $response;
  else if ($_GET['submit']) {
    echo 'Not all fields completed<br />';

    <title>Acknowledge registration</title>
    <form method="get">
      Domain: <input type="text" name="domain" value="<?php echo $_GET['domain']; ?>" /><br />
      DomainId: <input type="hidden" name="domainId" value="<?php echo $_GET['domainId']; ?>" /><br />
      Code: <input type="text" name="authCode" value="<?php echo $_GET['authCode']; ?>" /><br />
      <input type="radio" name="approval" value="yes" <?php if ($_GET['approval'] == 'yes') echo ' checked'; ?> /> Approve
      <input type="radio" name="approval" value="no" <?php if ($_GET['approval'] == 'no') echo ' checked'; ?> /> Reject<br />    
      <input type="submit" name="submit" value="Send" />

There are four possible responses:

  • If an approval is successfully processed, the response is:
    message=TMCH claims has been approved.
  • If a rejection is successfully processed, the response is:
    message=TMCH claims has been rejected.
  • If an other error occurred, the response is:
  • status=Error;
    message=We were not able to proceed with approval claims, because authCode for this operation is wrong
Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request


Article is closed for comments.