A

AbstractClientClass in namespace CNIC

Shared foundation for all registrar API clients.

AbstractLoggerClass in namespace CNIC

Shared foundation for brand loggers: implement {format()}, inherit the destination.

AbstractResponseClass in namespace CNIC

Shared Response foundation

AbstractResponse::assembleRecords() — Method in class AbstractResponse

Assemble the record (row) list from the columns already added via addColumn(). Shared by all brands: each subclass populates the columns with its own Column type beforehand, while the row assembly is identical.

AbstractResponse::addRecord() — Method in class AbstractResponse

Add a record to the record list.

AbstractResponseTemplateManagerClass in namespace CNIC

Shared base for all registrar ResponseTemplateManager implementations.

AbstractResponseTemplateManager::addTemplate() — Method in class AbstractResponseTemplateManager

Register a template on this registry.

AbstractResponseTranslatorClass in namespace CNIC

Shared base for all registrar ResponseTranslator implementations.

AbstractSocketConfigClass in namespace CNIC

Shared base for all registrar SocketConfig implementations, and the one home for connection configuration.

ApiDateTimeClass in namespace CNIC

An immutable, UTC-only date/time value parsed from an API response.

Response::addColumn() — Method in class Response

Add a column to the column list

Response::addColumn() — Method in class Response

Add a column to the column list

ResponseTemplateManagerInterface::addTemplate() — Method in class ResponseTemplateManagerInterface

Register a template on this registry, replacing any entry under the same id, and return $this so registrations chain.

B

AbstractClient::buildCommand() — Method in class AbstractClient

Flatten and normalise the given command into wire form.

AbstractResponseTemplateManager::builtinTemplates() — Method in class AbstractResponseTemplateManager

The brand's built-in templates (template id => raw wire text).

Client::buildCommand() — Method in class Client

Flatten the given command into wire form (CNR uppercase key/value pairs) and convert its IDN parameters to punycode.

ResponseTemplateManager::builtinTemplates() — Method in class ResponseTemplateManager
Client::buildCommand() — Method in class Client

Flatten the given command into wire form, injecting the JSON response format.

ResponseTemplateManager::builtinTemplates() — Method in class ResponseTemplateManager

C

$ AbstractClient#contextProperty in class AbstractClient

context data for the client

AbstractClient::close() — Method in class AbstractClient

Close all cURL connections

$ AbstractResponse#commandProperty in class AbstractResponse

The API Command used within this request

$ AbstractResponse#columnKeysProperty in class AbstractResponse

Column names available in this response

$ AbstractResponse#columnsProperty in class AbstractResponse

Container of Column Instances

$ AbstractResponse#columnIndexProperty in class AbstractResponse

Map of column name to its index in the column/columnKeys lists.

$ AbstractResponse#contextProperty in class AbstractResponse

Context data for the response

AbstractResponseTemplateManager::createResponseFromTemplateId() — Method in class AbstractResponseTemplateManager

Create a brand Response instance from a template id, resolving it against this registry.

$ AbstractSocketConfig#curlOptionsProperty in class AbstractSocketConfig

Caller-supplied cURL options, over and above what the transport and the dedicated setters above provide. Seeded from {getDefaultCurlOpts()} by the constructor, mutated by {setExtraCurlOptions()} and restored to those defaults by {resetCurlOptions()}.

ClientClass in namespace CNIC\CNR

CNR API Client

ResponseTemplateManager::createResponseFromTemplateId() — Method in class ResponseTemplateManager

Create a CNR Response instance from a template id.

ClientFactoryClass in namespace CNIC
ClientFactory
ClientFactory::cnr() — Method in class ClientFactory

CentralNic Reseller (CNR, fka RRPproxy) client.

ColumnClass in namespace CNIC

Shared Column implementation

ColumnInterfaceClass in namespace CNIC

Common Column Interface

CommandFormatterClass in namespace CNIC
CommandFormatter
CommandRedactorClass in namespace CNIC
CommandRedactor
CnicExceptionClass in namespace CNIC\Exception

Base class for every exception the CNIC SDK throws.

HttpTransport::close() — Method in class HttpTransport

Close and reset the cURL handle.

ClientClass in namespace CNIC\IBS

IBS API Client

ResponseTemplateManager::createResponseFromTemplateId() — Method in class ResponseTemplateManager

Create an IBS Response instance from a template id.

ClientClass in namespace CNIC\MONIKER

Moniker API Client — same platform as IBS; only the endpoints differ.

TransportInterface::close() — Method in class TransportInterface

Close and release any underlying connection/handle.

D

$ AbstractClient#debugModeProperty in class AbstractClient

activity flag for debug mode

AbstractClient::disableDebugMode() — Method in class AbstractClient

Disable debug output

AbstractResponseTranslator::descriptionRegexMap() — Method in class AbstractResponseTranslator

plain-string description keys for translation; keys are preg_quote'd before matching

AbstractResponseTranslator::descriptionRawPatternMap() — Method in class AbstractResponseTranslator

raw regex pattern keys for translation; keys are used as-is (not preg_quote'd)

$ ApiDateTime#dateProperty in class ApiDateTime

The calendar date as Y-m-d. Always populated, for both shapes.

$ ApiDateTime#dateTimeProperty in class ApiDateTime

The full timestamp as Y-m-d H:i:s, or null for a date-only value.

ResponseTranslator::descriptionRegexMap() — Method in class ResponseTranslator
ResponseTranslator::descriptionRawPatternMap() — Method in class ResponseTranslator
DuplicateColumnExceptionClass in namespace CNIC\Exception

Thrown when a column name is registered twice on one response.

E

AbstractClient::enableDebugMode() — Method in class AbstractClient

Enable debug output to STDOUT

AbstractClient::executeCurl() — Method in class AbstractClient

Delegate cURL execution to the transport layer.

EchoSinkClass in namespace CNIC

Log sink writing to standard output — the shipped default, and what keeps enableDebugMode() emitting the bytes consumers expect.

ExtendedResponseInterfaceClass in namespace CNIC

Extended Response Interface

F

AbstractLogger::format() — Method in class AbstractLogger

Build the debug record for the given request/response pair.

AbstractResponseTranslator::fieldName() — Method in class AbstractResponseTranslator

Name of the response field carrying the human-readable text ("description" for CNR, "message" for IBS).

ApiDateTime::from() — Method in class ApiDateTime

Parse an API date/time value.

Logger::format() — Method in class Logger

Build the CNR debug record: command, POST body, optional transport error and the plain response, joined by newlines.

ResponseTranslator::fieldName() — Method in class ResponseTranslator

CNR carries the human-readable text in the DESCRIPTION field.

CommandFormatter::flattenCommand() — Method in class CommandFormatter

Flatten API command's nested arrays for easier handling

CommandFormatter::formatCommand() — Method in class CommandFormatter

Format the command array into a plain text string

Logger::format() — Method in class Logger

Build the IBS debug record: a labelled REQUEST/RESPONSE block with the plain response indented by one tab per line.

ResponseTranslator::fieldName() — Method in class ResponseTranslator

IBS carries the human-readable text in the message field.

LoggerInterface::format() — Method in class LoggerInterface

Build the debug record for the given request/response pair.

G

AbstractClient::getSocketConfig() — Method in class AbstractClient

The connection configuration this client uses — the accessor that means a new setting needs no forwarder, and the seam that lets configuration be built and asserted without constructing a client.

AbstractClient::getTransport() — Method in class AbstractClient

The transport this client posts through — the read half of {setTransport()}, mirroring {getSocketConfig()}.

AbstractClient::getLogger() — Method in class AbstractClient

The logger this client writes debug records through — the read half of {setCustomLogger()}/{@see setLogSink()}, mirroring {getSocketConfig()}.

AbstractClient::getPOSTData() — Method in class AbstractClient

Serialize given command for POST request including connection configuration data

AbstractClient::getURL() — Method in class AbstractClient

Get the API connection url that is currently set

AbstractClient::getSocketTimeout() — Method in class AbstractClient

Get the request timeout in seconds currently configured.

AbstractClient::getUserAgent() — Method in class AbstractClient

Get the user agent string — the one set via {setUserAgent()}, or the SDK default when none was.

AbstractClient::getProxy() — Method in class AbstractClient

Get proxy configuration for API communication

AbstractClient::getReferer() — Method in class AbstractClient

Get Referer configuration for API communication

AbstractClient::getVersion() — Method in class AbstractClient

Get the current module version

AbstractClient::getLiveUrl() — Method in class AbstractClient

Get LIVE system URL.

AbstractClient::getSystem() — Method in class AbstractClient

Get the API system in use, or null when the configured URL is neither of the brand's two known endpoints.

AbstractResponse::getContext() — Method in class AbstractResponse

Get context data for the response

AbstractResponse::getRequestURL() — Method in class AbstractResponse

Get Request URL

AbstractResponse::getPlain() — Method in class AbstractResponse

Get Plain API response

AbstractResponse::getHash() — Method in class AbstractResponse

Get API response as Hash

AbstractResponse::getColumn() — Method in class AbstractResponse

Get column by column name

AbstractResponse::getColumnIndex() — Method in class AbstractResponse

Get Data by Column Name and Index

AbstractResponse::getColumnKeys() — Method in class AbstractResponse

Get Column Names

AbstractResponse::getColumns() — Method in class AbstractResponse

Get List of Columns

AbstractResponse::getCommand() — Method in class AbstractResponse

Get Command used in this request

AbstractResponse::getCommandPlain() — Method in class AbstractResponse

Get Command used in this request in plain text format

AbstractResponse::getPagination() — Method in class AbstractResponse

Get the paginator for this response's list window.

AbstractResponse::getRecord() — Method in class AbstractResponse

Get Record at given index

AbstractResponse::getRecords() — Method in class AbstractResponse

Get all Records

AbstractResponse::getRecordsCount() — Method in class AbstractResponse

Get count of rows in this response

AbstractResponse::getIterator() — Method in class AbstractResponse

Iterate the record list, keyed by record index.

AbstractResponse::getHashString() — Method in class AbstractResponse

Get a string value from the hash by key, returning a default if not found or not a string

AbstractResponse::getHashArray() — Method in class AbstractResponse

Get an array value from the hash by key, returning an empty array if not found or not an array. The twin of {getHashString()} for the nested blocks a brand's populate() reads (e.g. CNR's PROPERTY).

AbstractResponseTemplateManager::getTemplates() — Method in class AbstractResponseTemplateManager

Every template in this registry as a Response, keyed by template id.

AbstractResponseTemplateManager::getRawTemplates() — Method in class AbstractResponseTemplateManager

Every template in this registry as its raw wire text.

AbstractSocketConfig::getLogin() — Method in class AbstractSocketConfig

Get current login

AbstractSocketConfig::getURL() — Method in class AbstractSocketConfig

Get the endpoint API requests are sent to — the effective URL.

AbstractSocketConfig::getOTEUrl() — Method in class AbstractSocketConfig

Get OT&E endpoint URL

AbstractSocketConfig::getLiveUrl() — Method in class AbstractSocketConfig

Get LIVE endpoint URL

AbstractSocketConfig::getSystem() — Method in class AbstractSocketConfig

Get the API system currently in use, or null when the configured URL is neither of the brand's two known endpoints.

AbstractSocketConfig::getProxy() — Method in class AbstractSocketConfig

Get the proxy configured for API communication, or null for a direct connection

AbstractSocketConfig::getReferer() — Method in class AbstractSocketConfig

Get the Referer sent with API requests, or null when none is sent

AbstractSocketConfig::getDefaultCurlOpts() — Method in class AbstractSocketConfig

Brand-default cURL options, used to seed and to reset {$curlOptions}.

AbstractSocketConfig::getCurlOptions() — Method in class AbstractSocketConfig

The cURL options to hand the transport for a request: the dedicated proxy/referer state plus the caller's bag.

AbstractSocketConfig::getSocketTimeout() — Method in class AbstractSocketConfig

Get socket timeout in seconds

AbstractSocketConfig::getPOSTDataParams() — Method in class AbstractSocketConfig

Get POST data container of connection data

AbstractSocketConfig::getPOSTData() — Method in class AbstractSocketConfig

Create POST data string out of connection data.

Client::getSocketConfig() — Method in class Client

The CNR SocketConfig, narrowed from the shared {AbstractSocketConfig} type of {AbstractClient::$socketConfig}.

Client::getSession() — Method in class Client

Get the API Session ID that is currently set, or null when there is none.

Response::getCode() — Method in class Response

Get API response code

Response::getDescription() — Method in class Response

Get API response description

Response::getQueuetime() — Method in class Response

Get Queuetime of API response

Response::getRuntime() — Method in class Response

Get Runtime of API response

Response::getFirstRecordIndex() — Method in class Response

Get Index of first row in this response — the offset the current window starts at, or null when this response carries no FIRST counter (a non-list response).

Response::getLastRecordIndex() — Method in class Response

Get last record index of the current list query, or null when this response carries no LAST counter.

Response::getListHash() — Method in class Response

Get Response as List Hash including useful meta data for tables

Response::getRecordsTotalCount() — Method in class Response

Get total count of records available for the list query, or null when this response carries no TOTAL counter (a non-list response).

Response::getRecordsLimitation() — Method in class Response

Get limit(ation) setting of the current list query — the count of requested rows — or null when this response carries no LIMIT counter.

ResponseTemplateManager::generateTemplate() — Method in class ResponseTemplateManager

Generate API response template string for given code and description

ResponseTemplateManager::getTemplate() — Method in class ResponseTemplateManager

Get response template instance from this registry

SocketConfig::getPOSTDataParams() — Method in class SocketConfig

Get POST data container of connection data

SocketConfig::getPersistent() — Method in class SocketConfig

Get persistent parameter returned

SocketConfig::getSession() — Method in class SocketConfig

Get API Session ID in use

SocketConfig::getRoleSeparator() — Method in class SocketConfig

Get the separator between account id and role user id in a role login

Column::getKey() — Method in class Column

Get column name

Column::getLength() — Method in class Column

Get the number of data entries this column holds

Column::getData() — Method in class Column

Get column data

Column::getDataByIndex() — Method in class Column

Get column data at given index

Column::getStringByIndex() — Method in class Column

Get column data at given index, narrowed to a string.

Column::getDateTimeByIndex() — Method in class Column

Get column data at given index, parsed as a date/time value.

ColumnInterface::getKey() — Method in class ColumnInterface

Get column name

ColumnInterface::getLength() — Method in class ColumnInterface

Get the number of data entries this column holds

ColumnInterface::getData() — Method in class ColumnInterface

Get column data

ColumnInterface::getDataByIndex() — Method in class ColumnInterface

Get column data at given index

ColumnInterface::getStringByIndex() — Method in class ColumnInterface

Get column data at given index, narrowed to a string.

ColumnInterface::getDateTimeByIndex() — Method in class ColumnInterface

Get column data at given index, parsed as a date/time value.

CommandFormatter::getSortedCommand() — Method in class CommandFormatter

Get the sorted command array based on priority

UnsupportedFeatureException::getRejectedCurlOptions() — Method in class UnsupportedFeatureException

The cURL options this exception rejected, keyed by the cURL constant and valued with its constant name. Empty for a plainly-constructed instance.

UnsupportedFeatureException::getReplacementSetters() — Method in class UnsupportedFeatureException

The replacement setter for each rejected cURL option that has one, keyed by the cURL constant and valued with "Fqcn::setter()". Empty when the rejected options have no replacement, or for a plainly-constructed instance.

UnsupportedFeatureException::getOwningClass() — Method in class UnsupportedFeatureException

The class that owns the rejected option(s)/header, or null when this instance carries no structured context.

UnsupportedFeatureException::getRejectedHeaderName() — Method in class UnsupportedFeatureException

The rejected header name, already lower-cased, or null when this instance does not describe a header rejection.

ExtendedResponseInterface::getQueuetime() — Method in class ExtendedResponseInterface

Get Queuetime of API response

ExtendedResponseInterface::getRuntime() — Method in class ExtendedResponseInterface

Get Runtime of API response

ExtendedResponseInterface::getListHash() — Method in class ExtendedResponseInterface

Get Response as List Hash including useful meta data for tables

Response::getCode() — Method in class Response

Get API response code.

Response::getDescription() — Method in class Response

Get API response description

Response::getFirstRecordIndex() — Method in class Response

Get Index of first row in this response — 0 for a list, null for a response that is not one.

Response::getLastRecordIndex() — Method in class Response

Get last record index of the current list query, or null when this response carries no count key, or carries one that counts nothing.

Response::getRecordsTotalCount() — Method in class Response

Get total count of records available for the list query, or null when this response carries no count key (it is not a list).

Response::getRecordsLimitation() — Method in class Response

Get limit(ation) setting of the current list query — the count of requested rows — or null when this response carries no count key.

ResponseTemplateManager::generateTemplate() — Method in class ResponseTemplateManager

Generate API response template string for given status and description

ResponseTemplateManager::getTemplate() — Method in class ResponseTemplateManager

Get response template instance from this registry

SocketConfig::getPOSTDataParams() — Method in class SocketConfig

Get POST data container of connection data

Paginator::getCurrentPageNumber() — Method in class Paginator

Get Page Number of the current window, or null when it has no usable offset grid (no metadata, or a non-positive limit — a window of no rows has no meaningful page number).

Paginator::getNextPageNumber() — Method in class Paginator

Get Page Number of the next list query, or null when there is none.

Paginator::getPreviousPageNumber() — Method in class Paginator

Get Page Number of the previous list query, or null when there is none.

Paginator::getNumberOfPages() — Method in class Paginator

Get the number of pages available for this list query.

Record::getData() — Method in class Record

get row data

Record::getDataByKey() — Method in class Record

get row data for given column

Record::getStringByKey() — Method in class Record

Get row data for given column, narrowed to a string.

Record::getDateTimeByKey() — Method in class Record

Get row data for given column, parsed as a date/time value.

RecordInterface::getData() — Method in class RecordInterface

Get row data

RecordInterface::getDataByKey() — Method in class RecordInterface

Get row data for given column, or null if the column does not exist

RecordInterface::getStringByKey() — Method in class RecordInterface

Get row data for given column, narrowed to a string.

RecordInterface::getDateTimeByKey() — Method in class RecordInterface

Get row data for given column, parsed as a date/time value.

ResponseInterface::getCode() — Method in class ResponseInterface

Get API response code

ResponseInterface::getDescription() — Method in class ResponseInterface

Get API response description

ResponseInterface::getRequestURL() — Method in class ResponseInterface

Get Request URL

ResponseInterface::getPlain() — Method in class ResponseInterface

Get Plain API response

ResponseInterface::getHash() — Method in class ResponseInterface

Get API response as Hash

ResponseInterface::getColumn() — Method in class ResponseInterface

Get column by column name, or null if the column does not exist

ResponseInterface::getColumnIndex() — Method in class ResponseInterface

Get Data by Column Name and Index, or null if not found

ResponseInterface::getColumnKeys() — Method in class ResponseInterface

Get Column Names — the response's data columns, in wire order.

ResponseInterface::getColumns() — Method in class ResponseInterface

Get List of Columns

ResponseInterface::getCommand() — Method in class ResponseInterface

Get Command used in this request

ResponseInterface::getCommandPlain() — Method in class ResponseInterface

Get Command used in this request in plain text format

ResponseInterface::getContext() — Method in class ResponseInterface

Get context data for the response

ResponseInterface::getFirstRecordIndex() — Method in class ResponseInterface

Get Index of first row in this response — the offset the current window starts at, or null when the response carries no pagination metadata (a non-list response).

ResponseInterface::getLastRecordIndex() — Method in class ResponseInterface

Get last record index of the current list query, or null when the response carries no pagination metadata (a non-list response).

ResponseInterface::getPagination() — Method in class ResponseInterface

Get the paginator for this response's list window.

ResponseInterface::getRecord() — Method in class ResponseInterface

Get Record at given index, or null if the index does not exist

ResponseInterface::getRecords() — Method in class ResponseInterface

Get all Records

ResponseInterface::getIterator() — Method in class ResponseInterface

Iterate the record list, keyed by record index.

ResponseInterface::getRecordsCount() — Method in class ResponseInterface

Get count of rows in this response

ResponseInterface::getRecordsTotalCount() — Method in class ResponseInterface

Get total count of records available for the list query, or null when the response carries no TOTAL metadata (a non-list response)

ResponseInterface::getRecordsLimitation() — Method in class ResponseInterface

Get limit(ation) setting of the current list query — the count of requested rows — or null when the response carries no LIMIT metadata.

ResponseTemplateFactoryInterface::getTemplate() — Method in class ResponseTemplateFactoryInterface

The Response for the given template id, or the brand's "notfound" template when this registry holds no such id.

ResponseTemplateFactoryInterface::getTemplates() — Method in class ResponseTemplateFactoryInterface

Every template in this registry as a Response, keyed by template id.

ResponseTemplateManagerInterface::generateTemplate() — Method in class ResponseTemplateManagerInterface

Build this brand's wire-format template string for a response code and its human-readable text (CNR: [RESPONSE]…CODE=…DESCRIPTION=…EOF, IBS: status=…message=…).

ResponseTemplateManagerInterface::getRawTemplates() — Method in class ResponseTemplateManagerInterface

Every template in this registry as its raw wire text, keyed by template id — the snapshot {AbstractResponseTranslator::translate()} resolves ids against.

H

$ AbstractResponse#hashProperty in class AbstractResponse

hash representation of plain API response.

AbstractResponseTemplateManager::hasTemplate() — Method in class AbstractResponseTemplateManager

Check if given template exists in this registry.

AbstractResponseTranslator::hasMissingRequiredFields() — Method in class AbstractResponseTranslator

Whether the raw response is missing or has an empty required field (CNR: CODE/DESCRIPTION, IBS: status) and should therefore fall back to the "invalid" template.

$ AbstractSocketConfig#highPerformanceProperty in class AbstractSocketConfig

Whether requests are routed through the co-located high-performance proxy on loopback ({useHighPerformanceConnectionSetup()}).

ResponseTranslator::hasMissingRequiredFields() — Method in class ResponseTranslator

CNR falls back to the "invalid" template when CODE or DESCRIPTION is missing, or DESCRIPTION is present but empty.

HttpTransportClass in namespace CNIC

Low-level HTTP transport over cURL.

ResponseTranslator::hasMissingRequiredFields() — Method in class ResponseTranslator

IBS falls back to the "invalid" template when status is missing (JSON or plain) or present but empty. message is optional in success cases and is deliberately not checked.

Paginator::hasNextPage() — Method in class Paginator

Check if this list query has a next page.

Paginator::hasPreviousPage() — Method in class Paginator

Check if this list query has a previous page.

ResponseTemplateManagerInterface::hasTemplate() — Method in class ResponseTemplateManagerInterface

Whether this registry holds a template under the given id.

I

AbstractClient::IDNConvert() — Method in class AbstractClient

Convert domain names to idn + punycode.

AbstractClient::isOTE() — Method in class AbstractClient

Check whether the OT&E system is in use

AbstractResponse::isMetaKey() — Method in class AbstractResponse

Is this wire key response metadata rather than data?

AbstractResponseTemplateManager::isTemplateMatchHash() — Method in class AbstractResponseTemplateManager

Check if given API response hash matches a given template by code and description

AbstractResponseTemplateManager::isTemplateMatchPlain() — Method in class AbstractResponseTemplateManager

Check if given API plain response matches a given template by code and description

AbstractSocketConfig::isOTE() — Method in class AbstractSocketConfig

Check whether the OT&E endpoint is in use

ApiDateTime::isDateOnly() — Method in class ApiDateTime

Whether the source value was a bare calendar date, naming no instant.

IDNCommandRewriterClass in namespace CNIC\CNR

Rewrites the IDN-bearing parameters of a CNR API command to punycode.

Response::isError() — Method in class Response

Check if current API response represents an error case API response code is an 5xx code

Response::isSuccess() — Method in class Response

Check if current API response represents a success case API response code is an 2xx code

Response::isTmpError() — Method in class Response

Check if current API response represents a temporary error case API response code is an 4xx code

Response::isPending() — Method in class Response

Check if current operation is returned as pending

ClientFactory::ibs() — Method in class ClientFactory

Internet.bs (IBS) client.

InvalidConfigurationExceptionClass in namespace CNIC\Exception

Thrown when a configuration value handed to the SDK is outside the range the transport can act on.

InvalidDateTimeExceptionClass in namespace CNIC\Exception

Thrown when an API date/time value cannot be parsed.

ExtendedResponseInterface::isTmpError() — Method in class ExtendedResponseInterface

Check if current API response represents a temporary error case (a 4xx code)

ExtendedResponseInterface::isPending() — Method in class ExtendedResponseInterface

Check if current operation is returned as pending

Response::isError() — Method in class Response

Check if current API response represents an error case.

Response::isSuccess() — Method in class Response

Check if current API response represents a success case.

ResponseInterface::isError() — Method in class ResponseInterface

Check if current API response represents an error case (a 5xx code)

ResponseInterface::isSuccess() — Method in class ResponseInterface

Check if current API response represents a success case (a 2xx code)

ResponseTemplateFactoryInterface::isTemplateMatchHash() — Method in class ResponseTemplateFactoryInterface

Whether the given API response hash matches a template held here, on this brand's two match keys (CNR: CODE/DESCRIPTION, IBS: status/message).

ResponseTemplateFactoryInterface::isTemplateMatchPlain() — Method in class ResponseTemplateFactoryInterface

Whether the given API plain response matches a template held here, on this brand's two match keys.

L

$ AbstractClient#loggerProperty in class AbstractClient

logger instance for debug mode

AbstractLogger::log() — Method in class AbstractLogger

Format the record, then hand it to the sink. The whole implementation of the contract — see the class docblock for why it may not be overridden.

$ AbstractSocketConfig#loginProperty in class AbstractSocketConfig

account name

$ AbstractSocketConfig#liveUrlProperty in class AbstractSocketConfig

API LIVE endpoint URL

Client::login() — Method in class Client

Perform API login to start session-based communication.

Client::logout() — Method in class Client

Perform API logout to close the API session in use.

LoggerClass in namespace CNIC\CNR

CNR Logger

$ SocketConfig#liveUrlProperty in class SocketConfig
LoggerClass in namespace CNIC\IBS

IBS Logger

$ SocketConfig#liveUrlProperty in class SocketConfig
LogSinkInterfaceClass in namespace CNIC

Destination for formatted debug output.

LoggerInterfaceClass in namespace CNIC

Common Logger Interface

LoggerInterface::log() — Method in class LoggerInterface

Write the debug record for the given request/response pair.

$ SocketConfig#liveUrlProperty in class SocketConfig

M

$ AbstractResponse#metaKeysProperty in class AbstractResponse

Regex for the response-level metadata keys this brand's wire format mixes in among the data keys — pagination counters and, on brands that carry them, the transaction-level status fields.

AbstractResponseTemplateManager::matchKeys() — Method in class AbstractResponseTemplateManager

The two response-hash keys this brand compares when matching a template (code/description equivalent, e.g. CODE/DESCRIPTION or status/message).

AbstractSocketConfig::maskSensitiveCommand() — Method in class AbstractSocketConfig

Mask the values of the brand's sensitive command keys (see $sensitiveFields) so command-level secrets — e.g. a domain transfer authorization code — never reach the debug log in cleartext. Delegates the actual matching/masking to {CommandRedactor::redact()}, which is shared with {AbstractResponse::sanitizeCommand()}. Matching is case-insensitive to stay robust against casing differences between what a brand documents and what it actually sends. null values are left untouched (they are dropped from the request, not logged).

$ Response#metaKeysProperty in class Response

Regex for CNR's pagination metadata keys — the five counters the API returns inside PROPERTY, interleaved with the data columns (PROPERTY[TOTAL][0] next to PROPERTY[DOMAIN][0..n]).

ResponseTemplateManager::matchKeys() — Method in class ResponseTemplateManager

CNR compares templates on the CODE and DESCRIPTION hash keys.

ClientFactory::moniker() — Method in class ClientFactory

Moniker client (same platform as IBS; only the endpoints differ).

MalformedResponseExceptionClass in namespace CNIC\Exception

Thrown when the API sent a shape the SDK cannot represent.

$ Response#metaKeysProperty in class Response

Regex for IBS's response metadata keys — the count keys above plus the transaction-level fields every IBS response carries at the root (transactid, status, message, code).

ResponseTemplateManager::matchKeys() — Method in class ResponseTemplateManager

IBS compares templates on the status and message hash keys.

N

AbstractClient::newResponse() — Method in class AbstractClient

Instantiate the brand Response for the given raw payload.

AbstractClient::newSocketConfig() — Method in class AbstractClient

Instantiate the SocketConfig for this client.

AbstractClient::newTransport() — Method in class AbstractClient

Instantiate the HTTP transport for this client. Mirrors {newSocketConfig()} — the default is the production cURL transport; override or {setTransport()} to inject a test double so the request() lifecycle can run offline.

AbstractClient::newLogger() — Method in class AbstractClient

Instantiate the brand's logger, writing to the given sink. Mirrors {newTransport()}/{@see newSocketConfig()}, and exists so a sink can be chosen without the brand's Logger class being named at the call site. An override must honour $sink — that is what makes {setLogSink()} work for a subclass.

AbstractResponse::newResponseParser() — Method in class AbstractResponse

Instantiate the response parser for this brand.

AbstractResponse::newRecord() — Method in class AbstractResponse

Instantiate the record type for this brand.

AbstractResponseTemplateManager::newResponseParser() — Method in class AbstractResponseTemplateManager

Instantiate the brand's response parser.

AbstractResponseTranslator::newTemplateManager() — Method in class AbstractResponseTranslator

The brand's default template registry, used when the caller supplies none.

Client::newSocketConfig() — Method in class Client

Instantiate CNR SocketConfig

Client::newLogger() — Method in class Client

Instantiate the CNR logger writing to the given sink

Client::newResponse() — Method in class Client

Instantiate a CNR Response for the given raw payload.

Response::newRecord() — Method in class Response

Instantiate the record type for this brand.

Response::newResponseParser() — Method in class Response

Instantiate the response parser for this brand.

ResponseTemplateManager::newResponseParser() — Method in class ResponseTemplateManager

Instantiate the CNR response parser.

ResponseTranslator::newTemplateManager() — Method in class ResponseTranslator

A fresh CNR template registry holding the brand's built-ins.

Client::newSocketConfig() — Method in class Client

Instantiate IBS SocketConfig

Client::newLogger() — Method in class Client

Instantiate the IBS logger writing to the given sink

Client::newResponse() — Method in class Client

Instantiate an IBS Response for the given raw payload.

Response::newRecord() — Method in class Response

Instantiate the record type for this brand.

Response::newResponseParser() — Method in class Response

Instantiate the response parser for this brand (Moniker inherits it).

ResponseTemplateManager::newResponseParser() — Method in class ResponseTemplateManager

Instantiate the IBS response parser.

ResponseTranslator::newTemplateManager() — Method in class ResponseTranslator

A fresh IBS template registry holding the brand's built-ins.

Client::newSocketConfig() — Method in class Client

Instantiate MONIKER SocketConfig

O

$ AbstractSocketConfig#oteUrlProperty in class AbstractSocketConfig

API OT&E endpoint URL

$ SocketConfig#oteUrlProperty in class SocketConfig
$ SocketConfig#oteUrlProperty in class SocketConfig
$ SocketConfig#oteUrlProperty in class SocketConfig

P

AbstractClient::performRequest() — Method in class AbstractClient

Shared request lifecycle (template method). Never reimplement it in a brand; vary it through exactly two hooks — {buildCommand()} (command flattening) and {newResponse()} (covariant Response factory) — plus the {newSocketConfig()} subtype, which is where a brand-mandatory cURL option would go. No brand declares one.

AbstractResponse::populate() — Method in class AbstractResponse

Parse the translated response into the hash and build the column/record lists from it. Brand-specific because each brand's parser returns a different hash shape (CNR nests columns under PROPERTY, IBS is a flat key => value map).

$ AbstractSocketConfig#passwordProperty in class AbstractSocketConfig

account password

$ AbstractSocketConfig#proxyProperty in class AbstractSocketConfig

Proxy for API communication, or null for a direct connection.

Response::populate() — Method in class Response

Parse the translated response into the hash and build the column/record lists from it. CNR exposes its columns under the PROPERTY sub-array and assembles records only when properties are present.

ResponseParser::parse() — Method in class ResponseParser

Method to parse plain API response into js object

PaginationExceptionClass in namespace CNIC\Exception

Thrown when a list-pagination helper is used incorrectly.

HttpTransport::post() — Method in class HttpTransport

Execute a POST request and return the raw response.

Response::populate() — Method in class Response

Parse the translated response with the IBS parser and build the columns from it. The IBS parser needs the sanitized command — it reads it to choose between the JSON and plain-text wire shapes, which is why the command arrives as an argument rather than off $this (see AbstractResponse::__construct()). IBS responses are flat key => value maps; each data entry becomes a column, list values kept as-is and anything else wrapped into a single-cell list so the shared record assembly can iterate them.

ResponseParser::parse() — Method in class ResponseParser

Method to parse API response into associative array

PaginatorClass in namespace CNIC

Pagination arithmetic over one list window (RSRMID-2965).

ResponseParserInterface::parse() — Method in class ResponseParserInterface

Parse a raw API response into its hash form.

TransportInterface::post() — Method in class TransportInterface

Execute a POST request and return the raw response.

R

AbstractClient::request() — Method in class AbstractClient

Perform API request using the given command.

AbstractClient::resetCurlOptions() — Method in class AbstractClient

Restore the cURL option bag to the brand defaults, discarding anything previously handed to {setExtraCurlOptions()}. Options only — the proxy and referer are separate state and survive; see {AbstractSocketConfig::resetCurlOptions()}.

$ AbstractResponse#rawProperty in class AbstractResponse

plain API response

$ AbstractResponse#recordsProperty in class AbstractResponse

Record List (List of rows)

$ AbstractResponse#requestUrlProperty in class AbstractResponse

API request url

AbstractResponse::registerColumn() — Method in class AbstractResponse

Register an already-constructed column into the list bookkeeping.

AbstractResponseTranslator::replacePlaceholders() — Method in class AbstractResponseTranslator

Replace known placeholders in the human-readable field while preserving literal brace content and unknown-token content in other fields.

$ AbstractSocketConfig#refererProperty in class AbstractSocketConfig

Referer sent with API requests, or null to send none. Real state for the same reason as {$proxy}.

AbstractSocketConfig::resetCurlOptions() — Method in class AbstractSocketConfig

Restore the cURL option bag to the brand defaults ({getDefaultCurlOpts()}), discarding anything previously handed to {setExtraCurlOptions()}.

$ ApiDateTime#rawProperty in class ApiDateTime

The original input string, exactly as passed to {self::from()} / {self::tryFrom()} — no separator normalisation, no fractional-second stripping. Before the getDateTimeByKey()/getDateTimeByIndex() accessors existed, the only way to obtain an ApiDateTime was ApiDateTime::tryFrom($hash["paiduntil"]), so the caller necessarily still held the raw string alongside it. Those accessors close that gap — the raw value never passes through the integrator's own code — and recovering it afterwards would mean a second getDataByKey() lookup plus a re-narrow, exactly the double work the accessor exists to eliminate.

Client::reuseSession() — Method in class Client

Rebuild connection settings from a PHP session object.

Client::request() — Method in class Client

Perform API request using the given command

Client::requestNextResponsePage() — Method in class Client

Request the next page of list entries for the current list query

Client::requestAllResponsePages() — Method in class Client

Request all pages/entries for the given query command

IDNCommandRewriter::rewrite() — Method in class IDNCommandRewriter

Convert the IDN-bearing values of a flattened CNR command to punycode.

ResponseClass in namespace CNIC\CNR

CNR Response

ResponseParserClass in namespace CNIC\CNR

CNR ResponseParser

ResponseTemplateManagerClass in namespace CNIC\CNR

CNR ResponseTemplateManager

ResponseTranslatorClass in namespace CNIC\CNR

CNR ResponseTranslator

CommandRedactor::redact() — Method in class CommandRedactor

Mask the values of the sensitive keys in $command.

Client::request() — Method in class Client

Perform API request using the given command.

ResponseClass in namespace CNIC\IBS

IBS Response

ResponseParserClass in namespace CNIC\IBS

IBS ResponseParser

ResponseTemplateManagerClass in namespace CNIC\IBS

IBS ResponseTemplateManager

ResponseTranslatorClass in namespace CNIC\IBS

IBS ResponseTranslator

RecordClass in namespace CNIC

Shared Record implementation

RecordInterfaceClass in namespace CNIC

Common Record Interface

ResponseInterfaceClass in namespace CNIC

Common Response Interface

ResponseParserInterfaceClass in namespace CNIC

Contract for the brand parser that turns a raw API response into its hash form.

ResponseTemplateFactoryInterfaceClass in namespace CNIC

The opt-in half of a template registry: turning stored templates into brand {ResponseInterface} objects, and comparing a response against one.

ResponseTemplateManagerInterfaceClass in namespace CNIC

Contract for a brand's response-template registry.

RoleCredentialsInterfaceClass in namespace CNIC

Role-credentials capability.

S

$ AbstractClient#socketConfigProperty in class AbstractClient

Object covering API connection data — the one home for connection configuration; see {getSocketConfig()}.

AbstractClient::setTransport() — Method in class AbstractClient

Inject a custom HTTP transport (e.g. a record/replay cassette transport for offline tests) in place of the default {HttpTransport}.

AbstractClient::setLogSink() — Method in class AbstractClient

Route debug output somewhere other than standard output, keeping this brand's format.

AbstractClient::setCustomLogger() — Method in class AbstractClient

Set custom logger to use instead of the default one — use this to replace the format as well as the destination. Create your own class extending \CNIC\AbstractLogger (format only) or implementing \CNIC\LoggerInterface (format and destination).

AbstractClient::setSocketTimeout() — Method in class AbstractClient

Set the request timeout in seconds (default 300).

AbstractClient::setUserAgent() — Method in class AbstractClient

Set a custom user agent (for platforms that use this SDK)

AbstractClient::setExtraCurlOptions() — Method in class AbstractClient

Merge additional cURL options into the bag, overriding existing values on key collision. Forwards to {AbstractSocketConfig::setExtraCurlOptions()}, whose docblock carries the detail: what reaches the wire, and the two sets of keys that are refused — the SDK-managed settings ({AbstractSocketConfig::MANAGED_OPTIONS}, rejected here and now) and the transport's own ({HttpTransport::PROTECTED_OPTIONS}, rejected on the next request).

AbstractClient::setProxy() — Method in class AbstractClient

Set proxy to use for API communication

AbstractClient::setReferer() — Method in class AbstractClient

Set Referer to use for API communication

AbstractClient::setURL() — Method in class AbstractClient

Set another connection url to be used for API communication

AbstractClient::setCredentials() — Method in class AbstractClient

Set Credentials to be used for API communication.

AbstractClient::setContext() — Method in class AbstractClient

Set context data for the client

$ AbstractResponse#sensitiveFieldsProperty in class AbstractResponse

Command parameter keys that carry sensitive data for this brand (account password, domain authorization code, ...). Their values are masked before the command is stored so they can never be read back (e.g. by custom loggers). Matching is case-insensitive (see sanitizeCommand()), so only the names matter, not their casing. Brand-specific by design: each brand declares the keys it uses, sourced from a single per-brand constant (e.g.

AbstractResponse::sanitizeCommand() — Method in class AbstractResponse

Mask the brand's sensitive command keys (see $sensitiveFields) so their values can never be read back from the response (e.g. by custom loggers).

$ AbstractSocketConfig#socketTimeoutProperty in class AbstractSocketConfig

API socket timeout in seconds

$ AbstractSocketConfig#sensitiveFieldsProperty in class AbstractSocketConfig

Command parameter keys whose values carry sensitive data (account password, domain authorization code, ...) and must be masked in the "secured" POST body used for debug logging. Matching is case-insensitive (see maskSensitiveCommand()), so only the names matter, not their casing.

AbstractSocketConfig::setLogin() — Method in class AbstractSocketConfig

Set account name to use

AbstractSocketConfig::setPassword() — Method in class AbstractSocketConfig

Set account password to use

AbstractSocketConfig::setURL() — Method in class AbstractSocketConfig

Set another connection url to be used for API communication.

AbstractSocketConfig::setProxy() — Method in class AbstractSocketConfig

Set the proxy to use for API communication

AbstractSocketConfig::setReferer() — Method in class AbstractSocketConfig

Set the Referer to send with API requests

AbstractSocketConfig::setExtraCurlOptions() — Method in class AbstractSocketConfig

Merge additional cURL options into the bag, overriding existing values on key collision (including brand defaults). Use {resetCurlOptions()} to restore the brand defaults afterwards.

AbstractSocketConfig::setSocketTimeout() — Method in class AbstractSocketConfig

Set the socket timeout in seconds — the ceiling on a whole API request.

Client::setSession() — Method in class Client

Set an API session id to be used for API communication.

Client::saveSession() — Method in class Client

Apply session data to a PHP session object

Client::setRoleCredentials() — Method in class Client

Set Role Credentials to be used for API communication.

$ Response#sensitiveFieldsProperty in class Response

Command parameter keys carrying sensitive data (masked before storage).

SensitiveFieldsClass in namespace CNIC\CNR

CNR SensitiveFields

SocketConfigClass in namespace CNIC\CNR

CNR SocketConfig

$ SocketConfig#sensitiveFieldsProperty in class SocketConfig

CNR carries sensitive data under upper-case command keys. Declared once in {SensitiveFields::KEYS}, shared with {\CNIC\CNR\Response}.

SocketConfig::setPersistent() — Method in class SocketConfig

Add persistent parameter to request (request API session)

SocketConfig::setLogin() — Method in class SocketConfig

Set account name to use

SocketConfig::setPassword() — Method in class SocketConfig

Set account password to use

SocketConfig::setSession() — Method in class SocketConfig

Set API Session ID to use.

UnsupportedFeatureException::sdkManagedCurlOptions() — Method in class UnsupportedFeatureException

Build the exception raised when {\CNIC\AbstractSocketConfig::setExtraCurlOptions()} refuses one or more SDK-managed cURL options ({\CNIC\AbstractSocketConfig::MANAGED_OPTIONS}).

$ Response#sensitiveFieldsProperty in class Response

IBS carries sensitive data under lower-/camel-case command keys. Declared once in {SensitiveFields::KEYS}, shared with {\CNIC\IBS\SocketConfig}.

SensitiveFieldsClass in namespace CNIC\IBS

IBS SensitiveFields

SocketConfigClass in namespace CNIC\IBS

IBS SocketConfig

$ SocketConfig#sensitiveFieldsProperty in class SocketConfig

IBS carries sensitive data under lower-/camel-case command keys. Declared once in {SensitiveFields::KEYS}, shared with {\CNIC\IBS\Response}.

SocketConfigClass in namespace CNIC\MONIKER

Moniker SocketConfig — same API platform as IBS; only the endpoints differ.

RoleCredentialsInterface::setRoleCredentials() — Method in class RoleCredentialsInterface

Set Role Credentials to be used for API communication

T

$ AbstractClient#transportProperty in class AbstractClient

HTTP transport layer

AbstractResponse::translate() — Method in class AbstractResponse

Translate the raw API response into its canonical form.

AbstractResponseTranslator::translate() — Method in class AbstractResponseTranslator

translate a raw api response

$ ApiDateTime#tsProperty in class ApiDateTime

Unix timestamp of the instant, or null when the source value was a bare calendar date and the instant is therefore unknown.

$ ApiDateTime#tzProperty in class ApiDateTime

Timezone of the source declaration — always "UTC".

ApiDateTime::tryFrom() — Method in class ApiDateTime

Null-tolerant, non-throwing counterpart of {self::from()}.

ApiDateTime::toArray() — Method in class ApiDateTime

The value as a plain array — ready for json_encode() and for handing to a template or frontend.

Response::translate() — Method in class Response

Translate the raw API response into its canonical form using the CNR translator. $cmd is already sanitized.

UnsupportedFeatureException::transportOwnedCurlOptions() — Method in class UnsupportedFeatureException

Build the exception raised when {\CNIC\HttpTransport::post()} refuses one or more transport-owned cURL options ({\CNIC\HttpTransport::PROTECTED_OPTIONS}).

UnsupportedFeatureException::transportOwnedHeader() — Method in class UnsupportedFeatureException

Build the exception raised when {\CNIC\HttpTransport::appendHeaders()} refuses a caller header line that restates one the transport owns.

Response::translate() — Method in class Response

Translate the raw API response using the IBS translator.

Paginator::toArray() — Method in class Paginator

Get all paging data in one hash.

TransportInterfaceClass in namespace CNIC

Contract for the low-level HTTP transport used by {AbstractClient}.

U

$ AbstractClient#userAgentProperty in class AbstractClient

User agent sent with every request. Empty until {setUserAgent()} is called; while it is empty {getUserAgent()} derives the SDK default.

AbstractClient::useHighPerformanceConnectionSetup() — Method in class AbstractClient

Activate High Performance Setup — route requests through the co-located proxy on loopback.

AbstractClient::useOTESystem() — Method in class AbstractClient

Set OT&E System for API communication

AbstractClient::useLIVESystem() — Method in class AbstractClient

Set LIVE System for API communication (this is the default setting)

$ AbstractSocketConfig#urlProperty in class AbstractSocketConfig

The endpoint requests are sent to — one of {$oteUrl}/{@see $liveUrl} when a system was selected, or whatever {setURL()} was handed.

AbstractSocketConfig::useOTESystem() — Method in class AbstractSocketConfig

Select the OT&E system for API communication

AbstractSocketConfig::useLIVESystem() — Method in class AbstractSocketConfig

Select the LIVE system for API communication (the default)

AbstractSocketConfig::useHighPerformanceConnectionSetup() — Method in class AbstractSocketConfig

Route API requests through the co-located high-performance proxy on loopback.

AbstractSocketConfig::usesHighPerformanceConnectionSetup() — Method in class AbstractSocketConfig

Whether high-performance (loopback proxy) routing is switched on

UnsupportedFeatureExceptionClass in namespace CNIC\Exception

Thrown when a capability is not available on the current platform or response.

W

EchoSink::write() — Method in class EchoSink

Write one formatted debug record.

LogSinkInterface::write() — Method in class LogSinkInterface

Write one formatted debug record.

_

AbstractClient::__construct() — Method in class AbstractClient
Constructor.
AbstractLogger::__construct() — Method in class AbstractLogger
AbstractResponse::__construct() — Method in class AbstractResponse
Constructor
AbstractResponseTemplateManager::__construct() — Method in class AbstractResponseTemplateManager
AbstractSocketConfig::__construct() — Method in class AbstractSocketConfig

Seed the runtime state that depends on the brand's property defaults.

Client::__construct() — Method in class Client

Narrowed from {AbstractClient::__construct()}'s ?AbstractSocketConfig, mirroring the covariant {newSocketConfig()} factory below.

Column::__construct() — Method in class Column
Constructor
Client::__construct() — Method in class Client

Narrowed from {AbstractClient::construct()}'s ?AbstractSocketConfig to this brand's config, mirroring the covariant {newSocketConfig()} below — see {[\CNIC\CNR\Client::construct()}](CNIC/CNR/Client.html) for why the narrowing is load-bearing and why PHP permits it here (RSRMID-2966).

Client::__construct() — Method in class Client

Narrowed one step further than {IBSClient::__construct()}: this brand shares the IBS platform but not its endpoints, so accepting an IBS\SocketConfig here would let a Moniker client silently talk to the IBS host. Refusing it at the call site is the whole reason the parameter is narrowed per brand rather than typed ?AbstractSocketConfig once (RSRMID-2966).

Paginator::__construct() — Method in class Paginator
Record::__construct() — Method in class Record

Constructor e.g.