Index
A
- AbstractClient — Class in namespace CNIC
Shared foundation for all registrar API clients.
- AbstractLogger — Class in namespace CNIC
Shared foundation for brand loggers: implement {format()}, inherit the destination.
- AbstractResponse — Class 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.
- AbstractResponseTemplateManager — Class in namespace CNIC
Shared base for all registrar ResponseTemplateManager implementations.
- AbstractResponseTemplateManager::addTemplate() — Method in class AbstractResponseTemplateManager
Register a template on this registry.
- AbstractResponseTranslator — Class in namespace CNIC
Shared base for all registrar ResponseTranslator implementations.
- AbstractSocketConfig — Class in namespace CNIC
Shared base for all registrar SocketConfig implementations, and the one home for connection configuration.
- ApiDateTime — Class 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#context — Property in class AbstractClient
context data for the client
- AbstractClient::close() — Method in class AbstractClient
Close all cURL connections
- $ AbstractResponse#command — Property in class AbstractResponse
The API Command used within this request
- $ AbstractResponse#columnKeys — Property in class AbstractResponse
Column names available in this response
- $ AbstractResponse#columns — Property in class AbstractResponse
Container of Column Instances
- $ AbstractResponse#columnIndex — Property in class AbstractResponse
Map of column name to its index in the column/columnKeys lists.
- $ AbstractResponse#context — Property 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#curlOptions — Property 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()}.
- Client — Class in namespace CNIC\CNR
CNR API Client
- ResponseTemplateManager::createResponseFromTemplateId() — Method in class ResponseTemplateManager
Create a CNR Response instance from a template id.
- ClientFactory — Class in namespace CNIC
- ClientFactory
- ClientFactory::cnr() — Method in class ClientFactory
CentralNic Reseller (CNR, fka RRPproxy) client.
- Column — Class in namespace CNIC
Shared Column implementation
- ColumnInterface — Class in namespace CNIC
Common Column Interface
- CommandFormatter — Class in namespace CNIC
- CommandFormatter
- CommandRedactor — Class in namespace CNIC
- CommandRedactor
- CnicException — Class 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.
- Client — Class in namespace CNIC\IBS
IBS API Client
- ResponseTemplateManager::createResponseFromTemplateId() — Method in class ResponseTemplateManager
Create an IBS Response instance from a template id.
- Client — Class 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#debugMode — Property 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#date — Property in class ApiDateTime
The calendar date as
Y-m-d. Always populated, for both shapes.- $ ApiDateTime#dateTime — Property in class ApiDateTime
The full timestamp as
Y-m-d H:i:s, ornullfor a date-only value.- ResponseTranslator::descriptionRegexMap() — Method in class ResponseTranslator
- ResponseTranslator::descriptionRawPatternMap() — Method in class ResponseTranslator
- DuplicateColumnException — Class 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.
- EchoSink — Class in namespace CNIC
Log sink writing to standard output — the shipped default, and what keeps
enableDebugMode()emitting the bytes consumers expect.- ExtendedResponseInterface — Class 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
nullwhen 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
nullwhen 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
nullwhen 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
nullwhen 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 —
0for a list,nullfor a response that is not one.- Response::getLastRecordIndex() — Method in class Response
Get last record index of the current list query, or
nullwhen 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
nullwhen 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
nullwhen 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
nullwhen 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
nullwhen 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
nullwhen 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
nullwhen 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#hash — Property 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#highPerformance — Property 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.
- HttpTransport — Class 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.
- IDNCommandRewriter — Class 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.
- InvalidConfigurationException — Class in namespace CNIC\Exception
Thrown when a configuration value handed to the SDK is outside the range the transport can act on.
- InvalidDateTimeException — Class 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#logger — Property 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#login — Property in class AbstractSocketConfig
account name
- $ AbstractSocketConfig#liveUrl — Property 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.
- Logger — Class in namespace CNIC\CNR
CNR Logger
- $ SocketConfig#liveUrl — Property in class SocketConfig
- Logger — Class in namespace CNIC\IBS
IBS Logger
- $ SocketConfig#liveUrl — Property in class SocketConfig
- LogSinkInterface — Class in namespace CNIC
Destination for formatted debug output.
- LoggerInterface — Class in namespace CNIC
Common Logger Interface
- LoggerInterface::log() — Method in class LoggerInterface
Write the debug record for the given request/response pair.
- $ SocketConfig#liveUrl — Property in class SocketConfig
M
- $ AbstractResponse#metaKeys — Property 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.
nullvalues are left untouched (they are dropped from the request, not logged).- $ Response#metaKeys — Property 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).
- MalformedResponseException — Class in namespace CNIC\Exception
Thrown when the API sent a shape the SDK cannot represent.
- $ Response#metaKeys — Property 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#oteUrl — Property in class AbstractSocketConfig
API OT&E endpoint URL
- $ SocketConfig#oteUrl — Property in class SocketConfig
- $ SocketConfig#oteUrl — Property in class SocketConfig
- $ SocketConfig#oteUrl — Property 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#password — Property in class AbstractSocketConfig
account password
- $ AbstractSocketConfig#proxy — Property 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
- PaginationException — Class 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
- Paginator — Class 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#raw — Property in class AbstractResponse
plain API response
- $ AbstractResponse#records — Property in class AbstractResponse
Record List (List of rows)
- $ AbstractResponse#requestUrl — Property 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#referer — Property 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#raw — Property 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 anApiDateTimewasApiDateTime::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 secondgetDataByKey()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.
- Response — Class in namespace CNIC\CNR
CNR Response
- ResponseParser — Class in namespace CNIC\CNR
CNR ResponseParser
- ResponseTemplateManager — Class in namespace CNIC\CNR
CNR ResponseTemplateManager
- ResponseTranslator — Class 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.
- Response — Class in namespace CNIC\IBS
IBS Response
- ResponseParser — Class in namespace CNIC\IBS
IBS ResponseParser
- ResponseTemplateManager — Class in namespace CNIC\IBS
IBS ResponseTemplateManager
- ResponseTranslator — Class in namespace CNIC\IBS
IBS ResponseTranslator
- Record — Class in namespace CNIC
Shared Record implementation
- RecordInterface — Class in namespace CNIC
Common Record Interface
- ResponseInterface — Class in namespace CNIC
Common Response Interface
- ResponseParserInterface — Class in namespace CNIC
Contract for the brand parser that turns a raw API response into its hash form.
- ResponseTemplateFactoryInterface — Class in namespace CNIC
The opt-in half of a template registry: turning stored templates into brand {ResponseInterface} objects, and comparing a response against one.
- ResponseTemplateManagerInterface — Class in namespace CNIC
Contract for a brand's response-template registry.
- RoleCredentialsInterface — Class in namespace CNIC
Role-credentials capability.
S
- $ AbstractClient#socketConfig — Property 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#sensitiveFields — Property 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#socketTimeout — Property in class AbstractSocketConfig
API socket timeout in seconds
- $ AbstractSocketConfig#sensitiveFields — Property 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#sensitiveFields — Property in class Response
Command parameter keys carrying sensitive data (masked before storage).
- SensitiveFields — Class in namespace CNIC\CNR
CNR SensitiveFields
- SocketConfig — Class in namespace CNIC\CNR
CNR SocketConfig
- $ SocketConfig#sensitiveFields — Property 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#sensitiveFields — Property in class Response
IBS carries sensitive data under lower-/camel-case command keys. Declared once in {SensitiveFields::KEYS}, shared with {\CNIC\IBS\SocketConfig}.
- SensitiveFields — Class in namespace CNIC\IBS
IBS SensitiveFields
- SocketConfig — Class in namespace CNIC\IBS
IBS SocketConfig
- $ SocketConfig#sensitiveFields — Property in class SocketConfig
IBS carries sensitive data under lower-/camel-case command keys. Declared once in {SensitiveFields::KEYS}, shared with {\CNIC\IBS\Response}.
- SocketConfig — Class 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#transport — Property 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#ts — Property in class ApiDateTime
Unix timestamp of the instant, or
nullwhen the source value was a bare calendar date and the instant is therefore unknown.- $ ApiDateTime#tz — Property 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.
- TransportInterface — Class in namespace CNIC
Contract for the low-level HTTP transport used by {AbstractClient}.
U
- $ AbstractClient#userAgent — Property 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#url — Property 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
- UnsupportedFeatureException — Class 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
?AbstractSocketConfigto 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\SocketConfighere 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?AbstractSocketConfigonce (RSRMID-2966).- Paginator::__construct() — Method in class Paginator
- Record::__construct() — Method in class Record
Constructor e.g.