Introduction

We’re excited to introduce the latest version of the entri.purchaseDomain functionality! This upgrade brings a host of new features designed to enhance your users’ experience and streamline the domain purchasing process. With advanced theming options, seamless integration of your branding, and the ability to prefill end-user data, the new flow not only looks better but also works smarter. We highly encourage you to migrate to this improved version and take full advantage of the customization possibilities to create a domain purchase flow that perfectly aligns with your brand identity.

Detailed Description of Each Field

Basic Configuration

  • applicationId (string):
    This is a unique identifier for your application. It determines which application context the domain purchase flow will be executed in.
    Example: "myapplication"

  • token (string):
    A JWT token used for authentication purposes. This token ensures that the user has the necessary permissions to access the domain purchase flow.
    Example: "JWT_TOKEN"

  • sellVersion (string):
    This field specifies the version of the domain purchase flow that should be shown. Setting this to "v3" will activate the latest version with enhanced features.
    Example: "v3"

  • successCallbackUrl (string):
    The URL to which the user will be redirected after a successful domain purchase.
    Example: "https://myapplication.com/domain-purchase-success"

  • exitCallbackUrl (string):
    The URL to which the user will be redirected if they .
    Example: "https://myapplication.com/domain-purchase-exit"

DNS Records

  • dnsRecords (array of objects):
    An array containing DNS record objects. These records will applied after a successful domain purchase.
    Example:
    [
      {
        "type": "A",
        "host": "@",
        "value": "93.184.216.34",
        "ttl": 300
      },
      {
        "type": "A",
        "host": "aipv4",
        "value": "93.184.216.34",
        "ttl": 300
      }
    ]
    

Theming & Branding

  • whiteLabel (object):
    Contains options for customizing the appearance of the domain purchase flow to match your brand.

    • logo (string):
      The URL of your logo, which will be displayed prominently in the purchase flow.
      Example: "https://cdn.goentri.com/logo.svg"

    • theme (object):
      Customizes the colors used in the purchase flow.

      • fg (string):
        Foreground color for the header, typically used for text and icons.
        Example: "#ffffff"

      • bg (string):
        Background color for the header.
        Example: "#012939"

      • fgSecondary (string):
        Foreground color for buttons and other interactive elements.
        Example: "#ffffff"

      • bgSecondary (string):
        Background color for buttons and other interactive elements.
        Example: "#012939"

    • hideEntriLogo (boolean):
      Whether to hide the Entri logo in the purchase flow.
      Example: true

    • hideCompanyLogo (boolean):
      Whether to hide the company logo in the purchase flow.
      Example: true

    • hideCompanyName (boolean):
      Whether to hide the company name in the purchase flow.
      Example: true

    • customCopy (object):
      Custom text to be displayed in the purchase flow.

      • initialScreen.title.{locale} (object):
        Title text that appears on the initial screen of the domain purchase flow, localized by language.
        Example: "Search for your domain"

      • initialScreen.marketingCopy.{locale} (object):
        Marketing copy that appears below the domain input field, localized by language.
        Example: "our website will look even better with a custom domain!"

Sell Object

  • sell (object):
    Contains information specific to the cobranding and user data prefill in the domain purchase flow.

    • partnerLogo (string):
      The URL of the partner’s logo, which will be displayed prominently in the cobranded header.
      Example: "https://cdn.goentri.com/mylogo.svg"

    • partnerIcon (string):
      The URL of the partner’s icon, which will appear in the floating cart at the bottom of the page.
      Example: "https://cdn.goentri.com/myicon.svg"

    • partnerName (string):
      The name of the partner company, displayed within the purchase flow.
      Example: "My Company name"

    • contact (object):
      Prefilled user data to be used in the contact information form during domain creation. The following fields are supported:

      • firstName (string): User’s first name.
        Example: "John"

      • lastName (string): User’s last name.
        Example: "Doe"

      • email (string): User’s email address.
        Example: "john.doe@example.com"

      • phone (string): User’s phone number.
        Example: "+1234567890"

      • address (string): User’s street address.
        Example: "123 Main St"

      • zip (string): User’s ZIP or postal code.
        Example: "12345"

      • city (string): User’s city.
        Example: "Exampleville"

      • state (string): User’s state or province.
        Example: "EX"

      • postalCode (string): User’s postal code.
        Example: "12345"

      • country (string): User’s country.
        Example: "US"

Other Settings

  • freeUser (boolean):
    Indicates whether the user is on a free plan.
    Example: true

  • locale (string):
    The language/locale to be used in the domain purchase flow.
    Example: "en"


By migrating to the new flow, you’ll ensure a more personalized and engaging experience for your users, with full control over how your brand is represented. We look forward to seeing how you customize and utilize this enhanced functionality!

Coming soon 🔥

Offer an email solution (Google Workspace, MSFT 365, IONOS Mail) as part of the Sell checkout flow To enable this, just pass offerEmailService:true as a key in your config.

Migration Steps for Upgrading to the New entri.purchaseDomain Version

If you are currently using a previous version of the entri.purchaseDomain functionality and would like to migrate to the new version, follow these steps to ensure a smooth transition:

Step 1: Update the sellVersion

  • Add the sellVersion Key:
    Ensure that your configuration includes the sellVersion key set to "v3". This will activate the new version of the domain purchase flow.
    "sellVersion": "v3"
    

Step 2: Implement New Redirect URLs

  • Add successCallbackUrl and exitCallbackUrl:
    Define where users should be redirected after the domain purchase flow is completed, whether successfully or due to an error.
    "successCallbackUrl": "https://your-success-url.com",
    "exitCallbackUrl": "https://your-error-url.com"
    

Step 3: Update Theming Options

  • Expand Theme Configuration:
    Review and expand your theme settings to include the new fgSecondary and bgSecondary keys, which control the colors of interactive elements like buttons.
    "theme": {
      "fg": "#ffffff",
      "bg": "#012939",
      "fgSecondary": "#ffffff",
      "bgSecondary": "#012939"
    }
    

Step 4: Customize the sell Object (Optional)

  • Add Branding and User Data:
    If you want to leverage the new cobranded experience, populate the sell object with your partner branding and prefilled user data. This includes fields like partnerLogo, partnerIcon, partnerName, and the contact object.
    "sell": {
      "partnerLogo": "https://cdn.yourpartner.com/logo.svg",
      "partnerIcon": "https://cdn.yourpartner.com/icon.svg",
      "partnerName": "YourPartnerName",
      "contact": {
        "firstName": "John",
        "lastName": "Doe",
        "email": "john.doe@example.com",
        "phone": "+1234567890",
        "address": "123 Main St",
        "zip": "12345",
        "city": "Exampleville",
        "state": "EX",
        "postalCode": "12345",
        "country": "US"
      }
    }
    

Step 5: Test the New Configuration

  • Conduct Thorough Testing:
    After updating your configuration, thoroughly test the domain purchase flow to ensure that all new features are working correctly and that the theming, branding, and user data are displayed as expected.

Step 6: Deploy the Updated Configuration

  • Roll Out to Production:
    Once you are satisfied with the testing, deploy the updated configuration to your production environment. Monitor the transition to ensure a seamless experience for your users.

By following these steps, you can easily migrate to the new version of the entri.purchaseDomain functionality, unlocking enhanced customization and a better overall user experience.