User Guide
API Integrations
Technical reference for connecting an external system — API keys and limits, every endpoint with fields, examples and errors, the Microsoft Dynamics flow and field map, Pusher live push, audit and security, and a Postman collection.
Pages in this section
-
Integration surface — overview for integrators
Three ways to connect: REST endpoints with an API key, the Microsoft Dynamics flow that prepares a cheque and hands printing to an employee, and live push via Pusher — all from one Integration screen and one master switch.
-
API keys — creation, transport and limits
The key is the only credential for a third party — 40 hex characters shown once and stored as a hash. It has a name, a company, an optional expiry and a per-minute limit. Send it in a header; rotate by creating a new one and deleting the old.
-
Banks & templates — GET /api/banks and /api/bank-templates
Before creating any cheque you need the bank and template IDs as the app knows them. Three read endpoints — banks that have templates, all templates, and one bank’s templates — with their literal response keys and caveats.
-
Create a cheque directly — POST /api/cheque-log/external
One endpoint records an externally printed cheque from your system with no screen and no preview. Its fields with literal rules, the guards that raise 422, the 201 response, and what to know about duplicates and images.
-
Microsoft Dynamics integration — the flow from prepare to callback
Dynamics does not print: it prepares the cheque by API and receives a link a logged-in employee opens to print; on completion the row is created and the result plus image go back to Dynamics. Eight steps, three endpoints, three duplicate guards.
-
Dynamics — field map and template selection
Prepare accepts the usual Dynamics names (payee_name · net_amount · issue_date · document_no · memo) through ordered fallback chains and picks the template by a decision tree. The full map, what the server stamps, and what is not in the contract.
-
Receive stats — POST /api/receive-stats
An endpoint that accepts operational numbers from an external app and records the call. In the current release the payload is written to the audit log and the numbers are not stored in any table — do not build reports on it until storage is announced.
-
Pusher — live notification push
With Pusher the bell badge increments live in an open tab when a reminder or action notification arrives. Without it nothing breaks — the bell and email still work. Configured from the Pusher tab; one private channel per user.
-
Audit log & security
Every successful write call is logged with its payload after secrets and images are stripped, readable from the API log tab. And, plainly: key scope and company isolation, what is not logged, and what a security officer should do.
-
Error reference
Every status you can get from any endpoint, its literal body, and what to do. 503 before everything, then the key ladder, then 422 in the Laravel shape with Arabic messages, and 500 with the exception text.
-
Quick start & Postman collection
From a key to a cheque in eight steps, and a ready Postman collection downloaded from the Integration screen with two variables. The direct path in four calls, and the full Dynamics flow.
-
Connecting SAP
SAP needs no special integration — an outbound HTTP call from the payment run to the direct-create endpoint with an API key. Via Integration Suite with an iFlow, or from ABAP through an RFC destination, with the F110 field map and the date conversion.
-
Connecting Oracle
E-Business Suite, Fusion ERP Cloud and NetSuite all reach the same endpoint — REST to direct cheque creation with an API key. Via Integration Cloud, PL/SQL with APEX_WEB_SERVICE, or SuiteScript — and the field the short examples forget is bank_name.
-
Connecting Odoo
From the Odoo server on payment confirmation — an automated action with a short Python snippet, or a custom module overriding action_post. The key lives in ir.config_parameter, not in code, and bank_name comes from the bank journal.