spojenet / subreg
PHP Based Library for easy interaction with soap.subreg.cz
Requires
- ext-soap: *
- vitexsoftware/ease-core: >=1.50.1
Requires (Dev)
- ergebnis/composer-normalize: ^2.54
- ergebnis/php-cs-fixer-config: ^6.64
- friendsofphp/php-cs-fixer: ^3.95
- phpstan/phpstan: *
- phpstan/phpstan-phpunit: 2.1.1
- phpunit/phpunit: *
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-23 12:23:26 UTC
README
CZ: PHP Knihovna pro snadnou práci s API Subreg.cz
Poděkování
Vznik této knihovny by nebyl možný bez laskavé podpory společnosti Spoje.Net, která hradila vývoj řešení pro navýšení kreditu registrace domén služby. 👍
U společnosti Spoje.Net, je možné si objednat komerční podporu pro integraci knihovny do vašich projektů.
Instalace
composer require spojenet/subreg
Konfigurace
Konfigurace se provádí nastavením následujících konstant:
EASE_LOGGER=syslog|console SUBREG_LOCATION=https://soap.subreg.cz/cmd.php SUBREG_URI=https://soap.subreg.cz/soap SUBREG_LOGIN=spojenetapi#spoje.net SUBREG_PASSWORD=KfbBPb?Uk6Q@%uca
nebo je možné přihlašovací údaje zadávat při vytváření instance třídy.
$sr = new \Subreg\Client([ 'location' => 'https://ote-soap.subreg.cz/cmd.php', 'uri' => 'https://ote-soap.subreg.cz/soap', 'login' => 'php-subreg', 'password' => '661a2725fb', ]);
Tento způsob nastavení má vyšší prioritu než výše uvedené definovaní konstant.
Pokud SUBREG_LOCATION / SUBREG_URI nejsou nastavené, použijí se produkční endpointy.
Jak to celé funguje ?
Ústřední komponentou celé knihovny je Třída Client, která je schopna pomocí PHP rozšíření SoapClient komunikovat se soap.subreg.cz.
http://demoreg.net/en/settings/settings
Praktické helpery (1.5+)
$client = new \Subreg\Client(); $info = $client->infoDomain('example.com'); $credit = $client->getCredit(); // Autorenew u Subregu běží jen když amount >= threshold // (i když by zůstatek stačil na jednu Renew_Domain). if (!$client->canAutorenew()) { // doplň kredit nad threshold } // Po expiraci Gransy přepne NS na parktons → wildcard A míří na parking IP if ($client->isDomainParked('example.com')) { $client->renewDomain('example.com', 1); // bez curExpDate, nebo: $client->renewDomain('example.com', 1, true); // s aktuálním exDate z Info_Domain $client->restoreGransyNs('example.com'); } // Info_Order: parametr API se jmenuje `order`, ne `orderid` $order = $client->infoOrder(32021786); // DNS $zone = $client->getDnsZone('example.com'); $client->addDnsRecord('example.com', [ 'name' => 'h2o', 'type' => 'A', 'content' => '77.87.246.248', 'ttl' => 600, ]);
Chyby API házejí \Subreg\ApiException s major / minor kódy.
Kontrola zdraví domény z CLI:
php Examples/DomainHealth.php example.com
Známé pastičky Subreg API
| Situace | Co dělat |
|---|---|
Doména expirovala, A záznamy ukazují 46.8.8.x / 46.8.9.x |
NS jsou *.parktons.com — obnovit doménu a vrátit Gransy NS (Client::GRANSY_NS) |
autorenew=1 ale doména stejně propadla |
Kredit pod threshold — autorenew se přeskočí |
Parameter curExpDate is not equal to exDate |
Neposílat staré exDate; buď vynechat, nebo renewDomain(..., includeCurExpDate: true) |
Field "Order" is empty u Info_Order |
Poslat ['order' => $id], ne orderid |

