Releases: VandyTheCoder/bakong-open-api-ruby
Releases · VandyTheCoder/bakong-open-api-ruby
v0.1.0 — Initial release
First release of bakong-open-api — an unofficial Ruby client for the Bakong Open API published by the National Bank of Cambodia.
⚠️ This gem is not an official SDK from the NBC or any Bakong-affiliated entity. It is an independent, community-maintained Ruby wrapper implemented against the public API documentation.
Features
- All 10 documented endpoints across 4 resources:
- `client.tokens.renew` — `POST /v1/renew_token`
- `client.accounts.exists?` — `POST /v1/check_bakong_account`
- `client.deeplinks.generate` — `POST /v1/generate_deeplink_by_qr`
- `client.transactions.{check_by_md5, check_by_hash, check_by_short_hash, check_by_instruction_ref, check_by_external_ref, check_by_md5_list, check_by_hash_list}`
- 12 domain-specific exception classes mapped from Bakong errorCodes
- 7 transport-level exception classes (Authentication, TokenExpired, NotFound, RateLimit, Server, InvalidRequest, Connection)
- Snake_case Ruby interface; camelCase ↔ snake_case conversion handled in helper
- Optional `SourceInfo` struct for deep link generation
- Pairs naturally with bakong-khqr for end-to-end KHQR payment flows
- Zero runtime gem dependencies — uses only Ruby's standard library (Net::HTTP)
- Ruby >= 3.4.1
Install
```
gem install bakong-open-api
```
Test coverage
44 RSpec examples, WebMock-stubbed for every endpoint. Live-smoke-tested against the real Bakong API during development.