struzik-vladislav/epp-ext-iddigital-kv

Identity Digital Key-Value Extension for EPP Client

v1.1.0 2025-02-23 14:32 UTC

This package is auto-updated.

Last update: 2025-02-23 14:36:00 UTC


README

Build Status Latest Stable Version Total Downloads Software License StandWithUkraine

Key-Value extension provided by Identity Digital. See original documentation.

Extension for struzik-vladislav/epp-client library.

Usage

<?php

use Psr\Log\NullLogger;
use Struzik\EPPClient\EPPClient;
use Struzik\EPPClient\Extension\IdDigital\KeyValue\KeyValueExtension;
use Struzik\EPPClient\Extension\IdDigital\KeyValue\Request\Addon\KVCreateList;
use Struzik\EPPClient\Extension\IdDigital\KeyValue\Request\Addon\KVUpdateList;
use Struzik\EPPClient\Extension\IdDigital\KeyValue\Response\Addon\KeyValueInfo;
use Struzik\EPPClient\Request\Domain\CreateDomainRequest;
use Struzik\EPPClient\Request\Domain\InfoDomainRequest;
use Struzik\EPPClient\Request\Domain\UpdateDomainRequest;

// ...

$client->pushExtension(new KeyValueExtension('urn:X-ar:params:xml:ns:kv-1.1', new NullLogger()));

// ...

/**
 * Domain create example.
 */
$request = new CreateDomainRequest($client);
$request->addExtAddon(new KVCreateList('Travel-Ack', ['TravelIndustry' => 'Y']));
$response = $client->send($request);

/**
 * Domain update example.
 */
$request = new UpdateDomainRequest($client);
$request->addExtAddon(new KVUpdateList('bn', ['abn' => '18 092 242 209', 'entityType' => 'Australian Private Company']));
$response = $client->send($request);

/**
 * Domain info example.
 */
$request = new InfoDomainRequest($client);
$request->setDomain('example.tld');
$response = $client->send($request);
$infoDomainAddon = $response->findExtAddon(KeyValueInfo::class);
if ($infoDomainAddon instanceof KeyValueInfo) {
    $list = $infoDomainAddon->getListByName('Travel-Ack');
    $travelIndustry = $list['TravelIndustry'];
}