Module: Bakong::OpenApi

Defined in:
lib/bakong/open_api.rb,
lib/bakong/open_api/error.rb,
lib/bakong/open_api/client.rb,
lib/bakong/open_api/version.rb,
lib/bakong/open_api/connection.rb,
lib/bakong/open_api/source_info.rb,
lib/bakong/open_api/configuration.rb,
lib/bakong/open_api/resources/base.rb,
lib/bakong/open_api/resources/tokens.rb,
lib/bakong/open_api/resources/accounts.rb,
lib/bakong/open_api/helpers/case_helper.rb,
lib/bakong/open_api/resources/deeplinks.rb,
lib/bakong/open_api/resources/transactions.rb

Overview

Unofficial Ruby client for the Bakong Open API (National Bank of Cambodia). This gem is not an official SDK from the NBC — it is implemented against the public API documentation at api-bakong.nbc.gov.kh/document.

Defined Under Namespace

Modules: Helpers, Resources Classes: AccountInvalidError, AccountNotFoundError, AuthenticationError, BakongUnreachableError, Client, Configuration, Connection, ConnectionError, DeeplinkProviderError, EmailAlreadyRegisteredError, EmailServerDownError, Error, InvalidRequestError, MissingFieldsError, NotFoundError, NotRegisteredError, RateLimitError, ServerError, SourceInfo, StaticQrNotSupportedError, TokenExpiredError, TransactionFailedError, TransactionNotFoundError, UnauthorizedError

Constant Summary collapse

DOMAIN_ERROR_CLASSES =

Mapping from Bakong’s numeric errorCode (in the response body) to a specific error class. Used by resources that want to translate domain failures into Ruby exceptions instead of returning the raw envelope.

{
  1  => TransactionNotFoundError,
  2  => StaticQrNotSupportedError,
  3  => TransactionFailedError,
  4  => DeeplinkProviderError,
  5  => MissingFieldsError,
  6  => UnauthorizedError,
  7  => EmailServerDownError,
  8  => EmailAlreadyRegisteredError,
  9  => BakongUnreachableError,
  10 => NotRegisteredError,
  11 => AccountNotFoundError,
  12 => AccountInvalidError
}.freeze
VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.client(**kwargs) ⇒ Object

Convenience constructor: ‘Bakong::OpenApi.client(token: “…”)`.



17
18
19
# File 'lib/bakong/open_api.rb', line 17

def client(**kwargs)
  Client.new(**kwargs)
end