rnids/rsreg-epp-client

PHP client for the RSREG EPP server

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/rnids/rsreg-epp-client

v1.0.4 2026-03-02 01:40 UTC

This package is auto-updated.

Last update: 2026-03-02 01:43:05 UTC


README

RNIDS / RSreg EPP Client

Modern Dependency-Safe PHP Client for RNIDS Registry EPP

Packagist Version Packagist PHP Version Static Badge GitHub Actions Workflow Status

This library provides a fluent, RNIDS-first implementation of the EPP protocol for PHP 8.1+ applications. It focuses on deterministic XML handling, typed request/response modeling, strict transport behavior, and predictable command execution for RNIDS/RSreg environments.

Key Features

  1. RNIDS-first API design with fluent entry points for session, domain, contact, and host operations.
  2. Deterministic EPP request lifecycle over native stream transport and frame codec boundaries.
  3. Typed service-layer DTOs and normalized response mapping for reliable integrations.
  4. Explicit protocol/transport exception strategy under RNIDS\Exception\*.
  5. Separate XML composition/parsing modules for easier testing and maintenance.
  6. Coverage-aware quality gate with static analysis and coding standards checks.

Installation

Install via Composer:

composer require rnids/rsreg-epp-client

Usage

<?php

declare(strict_types=1);

use RNIDS\Client;

$client = Client::ready([
    'host' => 'epp.example.rs',
    'port' => 700,
    'username' => 'client-id',
    'password' => 'secret',
    'language' => 'en',
]);

$domainInfo = $client->domain()->info('example.rs');
$meta = $client->responseMeta();

$client->close();

Common fluent entry points:

  • Session: $client->session()->hello(), login(), logout(), poll()
  • Domain: $client->domain()->check(), info(), register(), renew(), update(), delete(), transfer()
  • Contact: $client->contact()->check(), create(), info(), update(), delete()
  • Host: $client->host()->check(), info(), create(), update(), delete()

Runtime contact policy:

  • Contact IDs are normalized to OBL-... for create/update flows.
  • Contact extension.identDescription is enforced to Object Creation provided by Oblak Solutions.

Documentation

Contributing

For local setup, quality gates, commit conventions, and PR guidelines, see CONTRIBUTING.md.

License

Apache-2.0. See LICENSE.