PowerEPOS Data Extraction Service Overview

Vocabulary

Before proceeding it will be good to familiarise yourself with the vocabulary used by this API

  • Template - A customisable piece of logic for managing the creation of output data.
  • Job - Derived from a template, specific to an organisation. Contains metadata/configuration specific to the template.
  • Run - A single execution of a job (possibly with custom parameters). Contains all input/output data.

Overview

The data extraction service (DES) is an API/Service for allowing third parties to extract PowerEPOS sales data using what's known as data templates. Each data template can be either prefabricated with simple customisation options or completely custom.

DES has two main ways of managing the job/run lifecycle.

  1. Through the web interface (for authorised users): https://des.powerepos.cloud/
  2. Through the REST API which this documentation will cover

Typically an authorised user will create and configure jobs for a specific template via the web interface for their organisation. Once created jobs can be used to create runs that will actually perform the data extraction. These runs can be either managed via the web interface OR through the REST API.

REST API Endpoints

Please see our onboarding documentation for getting setup with credentials.

  • QueryJobs - How to discover what jobs have been configured for your organisation
  • StartJob - How to manually create and start the execution of new run for an existing Job
  • QueryRunStatus - How to query the status of a running/finished run
  • GetRunFiles - How to download the output files from a successful run

Templates

Templates represent a way to extract PowerEPOS data into some external format. They can be as simple as collating sales data into a large JSON dump or as complex as providing an integration into third party software for ingesting sales/configuration data.

Each template will define a set of (possibly optional) parameters that must be supplied when starting a job run and a set of expected output file names.

It will be up to authorised users of the web interface to decide what templates will be used within an organisation.