Skip to content

sandwave-io/realtimeregister-php

Repository files navigation

Realtime Register RESTful API - PHP SDK

Codecov GitHub Workflow Status Packagist PHP Version Support Packagist PHP Version Support Packagist Downloads

Supported APIs

This SDK currently supports these APIs:

Are you missing functionality? Feel free to create an issue, or hit us up with a pull request.

How to use (REST API)

composer require sandwave-io/realtimeregister-php
<?php

use SandwaveIo\RealtimeRegister\RealtimeRegister;

$realtimeRegister = new RealtimeRegister('my-secret-api-key');

$realtimeRegister->contacts->list('johndoe');

How to use (IsProxy)

The IsProxy interface offers the most efficient way to check domain name validity and availability. It reduces overhead by using a telnet based protocol that allows multiple checks to be made in parallel. The interface can be used most effectively by reusing existing sessions as much as possible, this will lower the overhead on session creation and authentication.

An example:

<?php

use SandwaveIo\RealtimeRegister\IsProxy;

$isProxy = new IsProxy('my-secret-api-key');

if ($result = $isProxy->check('example', 'com')) {
    if ($result->isAvailable()) {
        echo "{$result->getDomain()} is available.";
    } else {
        echo "{$result->getDomain()} is not available.";
    }
}

// example.com is available.

Or check multiple:

<?php

use SandwaveIo\RealtimeRegister\IsProxy;

$isProxy = new IsProxy('my-secret-api-key');

foreach ($isProxy->checkMany('example', ['nl', 'com', 'net', 'org']) as $result) {
    echo $result->getDomain() . $result->isAvailable() ? '' : '';
}
// example.nl ✅
// example.com ❌
// example.net ✅
// example.org ✅

How to contribute

Feel free to create a PR if you have any ideas for improvements. Or create an issue.

  • When adding code, make sure to add tests for it (phpunit).
  • Make sure the code adheres to our coding standards (use php-cs-fixer to check/fix).
  • Also make sure PHPStan does not find any bugs.
vendor/bin/php-cs-fixer fix

vendor/bin/phpstan analyze

vendor/bin/phpunit --coverage-text

These tools will also run in GitHub actions on PR's and pushes on master.