Both modes keep the same books. A credit posts the same entry either way, debiting settlement and crediting the wallet, and is idempotent on the bank’s transaction id.
Ledger-only
Your code already talks to the bank, and PanoQore keeps the books.- The bank tells your code about a credit.
- Your code reports it. See Record a credit.
- PanoQore posts it, or holds it in suspense if it cannot place it.
READ_API.
Full integration
PanoQore talks to the bank for you.- The bank posts a notice to your workspace’s webhook URL.
- PanoQore asks the bank about that transaction with your credentials.
- Only what the bank confirms is credited.
- Each hour, PanoQore also pulls the bank’s history and posts anything a notice missed.
POST /v1/partners/{partner}/credits is refused with INTEGRATION_MODE_FULL, so a credit cannot arrive twice by two routes.
History access
historyAccess says how PanoQore gets each day’s statement.
In full integration, PanoQore reads the history whatever
historyAccess says.
Switching modes
An admin asks for the switch in the console, under Connections → Integration mode, with a reason. Switching changes who can move your money at that bank, so an approver signs it off before it applies. Full integration, andREAD_API history access, need credentials stored first. Read-only credentials are enough for history access, not for full integration. See Connecting a bank.
One switch can wait for approval at a time for each bank. The change is checked again when it is approved, and recorded as a partner.mode_changed event.