Third Party Integration Steps (ALPHA)

Steps

  • The loyalty provider will develop an API, hosted at a static base URL, which conforms to the API specifications provided in this document.
  • The loyalty provider will be given a static name, which cannot be changed, by the VenueNext engineering team.
  • The loyalty provider will provide VenueNext a base URL which will be configured in our VNConfig service.
  • The loyalty provider will provide VenueNext an API key which will be configured in our VNConfig service
  • The VenueNext engineering team will add the base URL and API key to the provider’s configuration in the VNConfig service.

Required Endpoints

There should be five endpoints provided via the static base URL. The names of these paths are non-negotiable. These endpoints must provide “real-time” data. That is, the VenueNext system will not continue to poll these endpoints; it is expected that, at the time of the API call, the data is up-to-date.

  • POST /credit - an endpoint for crediting an amount to a user’s account; see the credit specifications section for more information
  • POST /debit - an endpoint for debiting an amount from a user’s account; see the debit specifications section for more information
  • GET /balance - an endpoint for retrieving a particular user’s account information, in particular the current balance; see the balance specifications section for more information
  • GET /balances - an endpoint for retrieving all user’s account information, in particular balances; see the balances specifications section for more information
  • GET /transactions - an endpoint for retrieving all user’s transactions, in particular; see the transactions specifications section for more information

Endpoint Specifications

Credit

POST /credit

Parameters

  • Account ID (userId) : String - The provider’s account ID for this user.
  • Scope [OPTIONAL] (scope) : String - An optional scope for this user’s account if the provider is recycling account IDs across different scopes.
  • Amount in Cents (amount) : Integer - The integral amount in cents for this transaction.
  • Comment / Type [OPTIONAL] (note) : String - An optional comment for this transaction.

Debit

POST /debit

Parameters

  • Account ID (userId) : String - The provider’s account ID for this user.
  • Scope [OPTIONAL] (scope) : String - An optional scope for this user’s account if the provider is recycling account IDs across different scopes.
  • Amount in Cents (amount) : Integer - The integral amount in cents for this transaction.
  • Comment / Type [OPTIONAL] (note) : String - An optional comment for this transaction.

Balance

GET /balance

Parameters

  • Account ID (userId) : String - The provider’s account ID for this user.
  • Scope [OPTIONAL] (scope) : String - An optional scope for this user’s account if the provider is recycling account IDs across different scopes.

Balances

GET /balances

Parameters

  • Scope [OPTIONAL] (scope) : String - An optional scope for this user’s account if the provider is recycling account IDs across different scopes.

Transactions

GET /transactions

Parameters

  • Account ID (userId) : String - The provider’s account ID for this user.
  • Scope [OPTIONAL] (scope) : String - An optional scope for this user’s account if the provider is recycling account IDs across different scopes.