Local Terminal API

Viva's Local Terminal API enables network-agnostic, peer-to-peer communication between EFT POS (card terminal) devices and ECR systems. This protocol empowers seamless interaction, allowing you to initiate sales, refunds, and other transactions across devices within the same network.

Overview

Viva’s peer-to-peer communication relies on the HTTP protocol and REST API for transaction initiation and data exchange between the client and the host (the terminal/device with Viva.com Terminal application) in the same network. The client device can be any device capable of sending HTTP requests to the terminal’s local IP address.

Supported Devices

Viva’s REST API (EFT POS) functionality is supported by:

Peer-to-peer communication with REST API is not supported for Paydroid (PAX) devices

Process Flow

The below diagram outlines the relationship and process flow between the systems involved in peer-to-peer communication communication:

sequenceDiagram participant ECR/ePOS participant Viva POS participant Viva Host ECR/ePOS->>Viva POS:1. Sends HTTP request to the POS's local IP Viva POS-->>ECR/ePOS:2. Response of the state loop X times ECR/ePOS -> Viva POS: Starts polling the status from POS end Note over Viva POS,Viva POS:POS waits for
customer input Viva POS -> Viva POS: Customer completes the input Viva POS-->>Viva Host:4. Transaction request Viva Host->>Viva POS:5. Transaction response Note over Viva POS,Viva POS:POS shows the result ECR/ePOS->>Viva POS:7. Polling the transaction status Viva POS-->>ECR/ePOS:6. Transaction details

The steps of the above process flow are explained below:

  1. The Electronic Cash Register (ECR) initiates a transaction by sending a request to the targeted EFT POS device’s IP address.

  2. The POS responds to the ECR, indicating whether the transaction is accepted and in progress or not.

  3. Upon receiving a “PROCESSING” response, the ECR enters a polling state, regularly querying the POS IP address to check the status of the initial request.

  4. Once the end customer completes the transaction and the POS operation concludes, the POS displays the transaction outcome.

  5. Subsequent polling request from the ECR to the POS retrieves the full transaction details.

API Documentation

Please see our Local Terminal API Documentation

Get Support

If you would like to integrate with Viva, or if you have any queries about our products and solutions, please see our Contact & Support page to see how we can help!