This section of the PepperHQ Developer Documentation provides both an overview and a detailed guide for developers who are planning to implement an integration between the PepperHQ technology and a 3rd Party Point-of-Sale (PoS) system.
This document assumes the reader has an understanding of the PepperHQ offering. For a demo of the Pepper product, please contact your Pepper representative. If you don’t know who your Pepper representative is, please get in touch via firstname.lastname@example.org.
For detailed descriptions of how to integrate in the supported scenarios, please see:
In order to implement the end-user scenarios described in the guides, there are several possible points of integration between PepperHQ and the 3rd Party PoS.
The points of integration that are relevant for a specific integration are determined by the needs of the Merchant as well as the constraints of the 3rd Party PoS.
The four possible points of integration are:
- Pepper Application - running on the end-user’s smartphone.
- Pepper Platform - exposed as a REST API (at https://api.pepperhq.com/).
- PoS API - exposed over the Internet as an API for consumption by the Pepper Platform.
- PoS Application - running locally in the Merchant’s venues.
The features of the PepperHQ Platform are made available to developers via a RESTful API. Please see the Platform REST API section of this site for a complete description of the API.
In cases where the PoS API does not conform to the requirements of the Pepper Platform (as described in these guides) a Connector must be developed that bridges the gaps.
The options that are available to create a Connector are varied but are ultimately integrated into the Pepper platform as a Node.js package delivered as an npm private package.
Please see the Service Facade document for a description of the conventions and constraints that the Pepper Platform expects when consuming a 3rd Party PoS.
The pattern for the method calls' arguments for a 3rd Party PoS Connector are as follows:
methodName(identifier, data, options, callback)
- identifier is an optional string that is only necessary when the method acts upon an existing resource (e.g. an existing Order)
- data is an optional object that contains the key data required for processing (e.g. an Order basket).
- options is an optional object that contains contextual information that the PoS may need for processing, such as access keys for the PoS's own API.
- callback is a function that should be called when the request has been processed. The function takes error and result objects as parameters.