Self Development Kit for Java

Introduction

Our Self-Development Kits (SDKs) are Connector Libraries for our insanely fast Registrar Backend Systems. The SDKs cover the API Communication Best Practives and easy ways for requesting and accessing data. Do not hesitate to reach out. The API Communications happens based on POST Requests via HTTPS Protocol to respective Registrar Backend System. We're not communicating with a REST API because these SDKs cover multiple Brands in a generic way and for some brands, there's no REST API available. In addition the available REST APIs are not following a generic structure - a must have for a generic cross-brand compatible library. In addition they are not supporting plain contact data handling in Requests yet which is a must have for 3rd-party Software Integrations as dealing with contact handles and their IDs in commands isn't possible.

Although this sounds very technical, we promise that this Library helps already a lot in regards to this kind of API Communication. Left is to learn about the exact API Commands to request for ordering services and products or just for accessing the data you're looking for. This is where a REST API and a related client library would be more self-explaining and doing definitely better. We are aware of this!

Sadly, our SDKs have a different level of supported features and registrar brands. Still, the below UML Diagram is representing the Core possibilities and can be used as high-level overview. For exact details we recommend checking the SDK-specific Class Documentation. Our PHP-/NODE-SDKs cover right now the most advanced structure as they are used in-house and in our 3rd-party Software Integrations. We also recommend having an eye on the Demo Apps of our SDKs to identify how they have to be used.

All SDKs are supporting brand HEXONET (HX), except the PHP-SDK which is supporting CentralNic Reseller (CNR) as well.

FWIW

SDK

Features

  • Automatic IDN Domain name conversion to punycode (our API accepts only punycode format in commands)
  • Allows Nested Arrays in API Commands to improve in direction of Bulk Parameters
  • Connecting and communication with our API
  • Possibility to use a custom mechanism for debug mode
  • Several ways to access and deal with response data
  • Getting the command again returned together with the response
  • Sensible Data (e.g. Password) is hidden in Debug Output and Data Access Methods for Security Reasons
  • Sessionless Communication
  • Session based Communication
  • Possibility to save API session identifier in session
  • Configure a Proxy for API communication
  • Configure a Referer for API communication
  • High Performance Proxy Setup

UML Diagram

SDK

Resources

Our Classes provide further useful Methods for getting the connection configured and response data accessed. Have an eye on the Class Documentation and the UML Diagram for further insights.

Basic Usage Examples

We have very basic Demo Apps available showing how to integrate and use our SDKs:

PHP-SDK, NODE-SDK, PYTHON-SDK, JAVA-SDK, GO-SDK, PERL-SDK

OT&E System

OT&E Sytem stands for Operational Test & Evaluation System. No costs, just for playing around with things. This system can be seen as a kind of sandbox system that allows to test your integration first before going live with it. This system and the use of our products and services is completely free of charge. To use this system, use APIClient’s method `useOTESystem`. Otherwise Live System will be used by default.

LIVE System

The real world system - This system and the use our services and products can lead to real costs depending on what you’re exactly doing. Live System will be used by default, but you can also use APIClient’s method `useLIVESystem` to add it in source code for reference.

 

Requirements

  • JDK installed e.g. OpenJDK
  • Having Maven up and running. e.g.

    sudo apt install maven
    

    If you have trouble with JAVA_HOME variable when using Maven, create ~/.mavenrc with the following contents:

    export JAVA_HOME=<path to your java installation>
    #e.g. export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
    

Note: Maven simplifies things, instead you can also manually download our Module from the Maven Central Registry (OSSRH) to use it in your Project.

Installation Instructions

Maven

As our package is available on the OSSRH as mentioned above, simply use:

<dependencies>
  <dependency>
    <groupId>io.github.centralnicgroup-opensource</groupId>
    <artifactId>java-sdk</artifactId>
    <version>5.0.2</version>
  </dependency>
</dependencies>

Maven + jitpack.io

Standard way based on jitpack.io. Add the following lines to your maven project’s pom.xml:

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

 <dependencies>
    <dependency>
        <groupId>io.github.centralnicgroup-opensource</groupId>
        <artifactId>java-sdk</artifactId>
        <version>5.0.2</version>
      </dependency>
  </dependencies>

Now mvn install will produce that package version and will make it available within your project.

Was this article helpful?
0 out of 0 found this helpful