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

Add response template to template container

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

ResponseInterface::addColumn() — Method in class ResponseInterface

Add a column to the column list

ResponseInterface::addRecord() — Method in class ResponseInterface

Add a record to the record list

B

AbstractClient::buildCommand() — Method in class AbstractClient

Flatten and normalise the given command into wire form.

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.

Client::buildCommand() — Method in class Client

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

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::createResponse() — Method in class AbstractResponseTemplateManager

Create a brand Response instance from a template id or raw response.

$ 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

ColumnClass in namespace CNIC\CNR

CNR Column

ResponseTemplateManager::createResponse() — Method in class ResponseTemplateManager

Create a CNR Response instance from a template id or raw response.

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
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::createResponse() — Method in class ResponseTemplateManager

Create an IBS Response instance from a template id or raw response.

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
ResponseTranslator::descriptionRegexMap() — Method in class ResponseTranslator
ResponseTranslator::descriptionRawPatternMap() — Method in class ResponseTranslator

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::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::getCurrentRecord() — Method in class AbstractResponse

Get Record of current record index

AbstractResponse::getNextRecord() — Method in class AbstractResponse

Get next record in record list

AbstractResponse::getNextPageNumber() — Method in class AbstractResponse

Get Page Number of next list query

AbstractResponse::getNumberOfPages() — Method in class AbstractResponse

Get the number of pages available for this list query

AbstractResponse::getPagination() — Method in class AbstractResponse

Get object containing all paging data

AbstractResponse::getPreviousPageNumber() — Method in class AbstractResponse

Get Page Number of previous list query

AbstractResponse::getPreviousRecord() — Method in class AbstractResponse

Get previous record in record list

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::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::generateTemplate() — Method in class AbstractResponseTemplateManager

Generate API response template string for given code and description

AbstractResponseTemplateManager::getTemplate() — Method in class AbstractResponseTemplateManager

Get response template instance from template container.

AbstractResponseTemplateManager::getTemplates() — Method in class AbstractResponseTemplateManager

Return all available response templates

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.

Column::getDataByIndex() — Method in class Column

Get column data at given index

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::getCurrentPageNumber() — Method in class Response

Get Page Number of current List Query

Response::getFirstRecordIndex() — Method in class Response

Get Index of first row in this response

Response::getLastRecordIndex() — Method in class Response

Get last record index of the current list query

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

Response::getRecordsLimitation() — Method in class Response

Get limit(ation) setting of the current list query This is the count of requested rows

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 template container

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::getData() — Method in class Column

Get column data

Column::getDataByIndex() — Method in class Column

Get column data at given index

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::getData() — Method in class ColumnInterface

Get column data

ColumnInterface::getDataByIndex() — Method in class ColumnInterface

Get column data at given index

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

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::getCurrentPageNumber() — Method in class Response

Get Page Number of current List Query

Response::getFirstRecordIndex() — Method in class Response

Get Index of first row in this response

Response::getLastRecordIndex() — Method in class Response

Get last record index of the current list query

Response::getRecordsTotalCount() — Method in class Response

Get total count of records available for the list query

Response::getRecordsLimitation() — Method in class Response

Get limit(ation) setting of the current list query This is the count of requested rows

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 template container

SocketConfig::getPOSTDataParams() — Method in class SocketConfig

Get POST data container of connection data

Record::getData() — Method in class Record

get row data

Record::getDataByKey() — Method in class Record

get row data for given column

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::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

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::getCurrentPageNumber() — Method in class ResponseInterface

Get Page Number of current List Query, or null for a non-list response

ResponseInterface::getCurrentRecord() — Method in class ResponseInterface

Get Record of current record index, or null for a non-list response

ResponseInterface::getFirstRecordIndex() — Method in class ResponseInterface

Get Index of first row in this response

ResponseInterface::getLastRecordIndex() — Method in class ResponseInterface

Get last record index of the current list query, or null for a non-list response

ResponseInterface::getNextRecord() — Method in class ResponseInterface

Get next record in record list, or null if there is no further record

ResponseInterface::getNextPageNumber() — Method in class ResponseInterface

Get Page Number of next list query, or null if there is no next page

ResponseInterface::getNumberOfPages() — Method in class ResponseInterface

Get the number of pages available for this list query

ResponseInterface::getPagination() — Method in class ResponseInterface

Get object containing all paging data

ResponseInterface::getPreviousPageNumber() — Method in class ResponseInterface

Get Page Number of previous list query, or null if there is no previous page

ResponseInterface::getPreviousRecord() — Method in class ResponseInterface

Get previous record in record list, or null if there is no previous record

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::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 the count of records for a non-list response

ResponseInterface::getRecordsLimitation() — Method in class ResponseInterface

Get limit(ation) setting of the current list query — the count of requested rows

H

$ AbstractResponse#hashProperty in class AbstractResponse

hash representation of plain API response.

AbstractResponse::hasCurrentRecord() — Method in class AbstractResponse

Check if the record list contains a record for the current record index in use

AbstractResponse::hasNextRecord() — Method in class AbstractResponse

Check if the record list contains a next record for the current record index in use

AbstractResponse::hasPreviousRecord() — Method in class AbstractResponse

Check if the record list contains a previous record for the current record index in use

AbstractResponseTemplateManager::hasTemplate() — Method in class AbstractResponseTemplateManager

Check if given template exists in template container

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()}).

Response::hasNextPage() — Method in class Response

Check if this list query has a next page

Response::hasPreviousPage() — Method in class Response

Check if this list query has a previous page

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.

Response::hasNextPage() — Method in class Response

Check if this list query has a next page

Response::hasPreviousPage() — Method in class Response

Check if this list query has a previous page

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.

ResponseInterface::hasNextPage() — Method in class ResponseInterface

Check if this list query has a next page

ResponseInterface::hasPreviousPage() — Method in class ResponseInterface

Check if this list query has a previous page

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

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)

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

LoggerClass in namespace CNIC\CNR

CNR Logger

SessionCapable::login() — Method in class SessionCapable

Perform API login to start session-based communication

SessionCapable::logout() — Method in class SessionCapable

Perform API logout to close API session in use

$ SocketConfig#liveUrlProperty in class SocketConfig
$ Column#lengthProperty in class Column

count of column data entries

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

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. 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).

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).

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.

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.

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.

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#paginationKeysProperty in class AbstractResponse

Regex for pagination related column keys, stripped in getColumnKeys(true).

$ AbstractResponse#parserProperty in class AbstractResponse

The parser turning the translated raw response into {$hash}.

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). The sanitized command is available as $this->command, and the parser — the brand default or the injected substitute — as $this->parser.

$ AbstractSocketConfig#passwordProperty in class AbstractSocketConfig

account password

$ AbstractSocketConfig#proxyProperty in class AbstractSocketConfig

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

$ Response#paginationKeysProperty in class Response

Regex for pagination related column keys.

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#paginationKeysProperty in class Response

Regex for the count/metadata column keys IBS emits alongside a list.

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 (kept on $this->command by the shared constructor). IBS responses are flat key => value maps; each hash 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

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#recordIndexProperty in class AbstractResponse

Record Index we currently point to in record list

$ 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.

AbstractResponse::rewindRecordList() — Method in class AbstractResponse

Reset index in record list back to zero

AbstractResponseTemplateManager::resetTemplates() — Method in class AbstractResponseTemplateManager

Restore the brand's built-in templates, discarding everything {addTemplate()} has registered since.

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::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

SessionCapable::reuseSession() — Method in class SessionCapable

Rebuild connection settings from a PHP session object.

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

ResponseInterface::rewindRecordList() — Method in class ResponseInterface

Reset index in record list back to zero

ResponseParserInterfaceClass in namespace CNIC

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

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 (CNR upper-case, IBS lower-/camel-case); the neutral default masks nothing.

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::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).

SessionCapableClass in namespace CNIC\CNR

Provides session-based API communication methods.

SessionCapable::saveSession() — Method in class SessionCapable

Apply session data to a PHP session object

SessionClientClass in namespace CNIC\CNR

CNR Session API Client

SocketConfigClass in namespace CNIC\CNR

CNR SocketConfig

$ SocketConfig#socketTimeoutProperty in class SocketConfig
$ SocketConfig#sensitiveFieldsProperty in class SocketConfig

CNR carries sensitive data under upper-case command keys. Mirrors {\CNIC\CNR\Response::$sensitiveFields}.

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.

$ Response#sensitiveFieldsProperty in class Response

IBS carries sensitive data under lower-/camel-case command keys.

SocketConfigClass in namespace CNIC\IBS

IBS SocketConfig

$ SocketConfig#socketTimeoutProperty in class SocketConfig
$ SocketConfig#sensitiveFieldsProperty in class SocketConfig

IBS carries sensitive data under lower-/camel-case command keys. Mirrors {\CNIC\IBS\Response::$sensitiveFields}.

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.

$ AbstractResponseTemplateManager#templatesProperty in class AbstractResponseTemplateManager

Template container

AbstractResponseTranslator::templates() — Method in class AbstractResponseTranslator

The brand's static template container (id => raw template string).

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.

$ ResponseTemplateManager#templatesProperty in class ResponseTemplateManager

Template container

ResponseTranslator::templates() — Method in class ResponseTranslator

The CNR static template container.

Response::translate() — Method in class Response

Translate the raw API response using the IBS translator.

$ ResponseTemplateManager#templatesProperty in class ResponseTemplateManager

template container

ResponseTranslator::templates() — Method in class ResponseTranslator

The IBS static template container.

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
AbstractSocketConfig::__construct() — Method in class AbstractSocketConfig

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

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

Constructor e.g.