ICRTouch's developer interfaces explained: XML socket, JSON remote interface, ETAL
Dave Lyons, Founder, RED EPOS · 2026-09-23
Why this is worth knowing about
Most EPOS software keeps its edges closed — you get the features the vendor built, and that’s what you install. ICRTouch’s TouchPoint till is unusual: alongside the finished software, it publishes three separate ways for another piece of code to talk to it directly — an XML socket interface, a JSON remote interface, and an event-driven scripting engine called ETAL. None of this is something most business owners will ever touch directly. It matters because it’s what lets an integrator build a connection ICRTouch doesn’t sell off the shelf, without waiting for ICRTouch to build it first.
Of the till software we fit, this is specifically an ICRTouch strength: CES Software publishes no equivalent developer API, webhook set or scripting surface, so a bespoke connection to it has to be built a different way, usually against whatever export or database access the software allows rather than a documented interface. If a business is choosing between systems partly on how far a custom integration can go, that’s worth knowing before you commit to one.
The XML socket and JSON remote interface
TouchPoint runs a remote socket that a separate application can connect to and exchange structured messages with — historically in XML, and now also over JSON, which ICRTouch’s own TouchPoint product page confirms third-party software can use to talk to that socket. In practice, this is how another system reads what’s happening on the till or tells it to do something: check a product’s stock level, register a sale, print a ticket, or settle a table, all without anyone touching the touchscreen. A payment terminal link or a kitchen display is typically built on exactly this kind of connection — the till and the other device stay in sync because they’re both talking the same structured language, not because someone’s copying numbers between two screens by hand.
ETAL: the scripting engine
ETAL is a different layer again. Where the socket interface lets an external application talk to TouchPoint, ETAL runs inside it. ICRTouch describes it as an event-driven scripting engine that lets a partner write and add custom logic to the till itself, tested and deployed without changing TouchPoint’s own core software. The kinds of things it’s been used for, by ICRTouch’s own account, include automating a repeated sequence of button presses, applying a custom promotion or upsell prompt, restricting certain payment methods on specific terminals, and connecting the till to a third-party voucher or ticketing system so a code bought online can be redeemed at the counter. Because ETAL scripts run in a sandboxed way, a custom feature built this way shouldn’t put the rest of the till’s stability at risk — the difference between “we can technically hack this in” and “this is a supported way to extend the system”.
In short: the socket interfaces are how the till talks to the outside world; ETAL is how you change what happens inside it.
EHP: the embedded web server
The third piece is EHP — an embedded web server built into TouchPoint that can serve content generated by an ETAL script. In effect, it gives a custom ETAL feature a way to present a proper web-style screen on the till, rather than being limited to the till’s native button layouts. That’s useful for anything that benefits from a richer interface than a grid of buttons — a loyalty sign-up screen or a QR code display, for example.
What this looks like as a real integration
None of these three interfaces tends to be used on its own — a real custom integration usually combines them. Take a business that wants online-bought vouchers redeemable at the till: ETAL handles checking the voucher’s validity and applying it to the sale, the socket interface is how that check reaches the voucher provider’s own system, and EHP can display the redemption confirmation on screen. To the person behind the counter, the result looks like a single button that “just works” — the three interfaces are what make that possible underneath. This is also, broadly, how several of ICRTouch’s own listed partner integrations are built, from ticketing systems to loyalty schemes.
Where AI coding agents come in
Writing and testing ETAL scripts, and code that talks to TouchPoint’s socket interface, used to be specialist work that only a handful of ICRTouch partners had time to take on. AI coding agents haven’t changed what these interfaces can do, but they’ve changed how quickly a small integrator can write, review and test that code against a real till setup — which is the subject of our article on AI coding agents and small integrators. If you’re weighing up whether a given connection should run live or sync on a schedule, our article on webhooks, polling and file drops covers that decision, and what an EPOS integration actually is is the place to start if this is your first time reading about any of it.
What we build with it at RED EPOS
This is the toolkit behind most of the custom ICRTouch work we take on — connections that don’t exist as a standard product, built and tested against your own TouchPoint setup rather than a demo till. If you’re running ICRTouch and want something specific joined up, see what we already connect to and how we approach custom builds on our integrations and AI page, or browse the integrations directory directly.
Sources
- ICRTouch, TouchPoint product page — XML socket, JSON remote interface, EHP embedded web server
- ICRTouch, “TouchPoint, the only EPoS system in the world with ETAL”
- ICRTouch, “Services” integration category