Integrating a POS

Before we start, it is highly recommended for POS providers to give Alpine IQ access to their own REST API in order to integrate. Our typical POS integration time is sub 4 hours and there are many layers to our top POS partner setups that cannot be achieved via 3rd parties calling our REST API.

Option 1 (Highly Preferred): Provide Alpine IQ with REST API endpoints to:

  • Get transactions & customer records by time range
  • Get live waiting room queues (If US based/ scan ID's)
  • It is preferred to make sure that we have inventory stock/ margin/ cost within those calls in order to calculate advanced analytics + facilitate automated recommendations of products to customers/ budtenders

After we integrate those features all POS systems have the premium option to integrate our loyalty wallet and redemptions of discounts directly within the POS native UI. You can see an example of these endpoints in action both within Dutchie & LeafLogix (videos on page):

Tier 3 integration for POS systems:

Tier 3 integration has been completed by almost every major market POS due to its severe value uplift for mutual clients.

  • Prevent fraud (points theft, budtender attack vectors, etc.)
  • Speed up avg. transaction time for the retail op
  • Enables advanced loyalty ledger reporting required by most publicly traded entities (Discounts, Points, redemptions, gifts, boosts, points multipliers, expirations, etc)

To complete a Tier 3 integration, please reach out to us for a sandbox setup and credentials. You will use the link above for support when building your integration. However, in short you will:

  1. Have a page within your POS to insert an Alpine IQ customer API key. Enabling the integration for the mutual client.
  2. When a budtender is creating a ticket, have a UI button to "Add an AIQ reward to this transaction". Alternatively you could simply show a "Additional Rewards" section anywhere you wish within your UI.
  3. To obtain those rewards you simply call our API endpoint /verify/wallet with the customers phone, email or both: { "phone": "##########", "email": "something@site.com" }
  4. We will then send them a pin code to their phone, email. We also have a master pin code a retailer can use in bad reception locations AND customers with loyalty apps can access a pin that resets every 10 minutes within their app. ALL of these pins will unlock the customers rewards. Please note: if you do not wish to protect wallets, you can bypass this and proceed to the next endpoing below. In order to bypass it, please reach out to our team to assist.
  5. Now pass /view/wallet the pin code the customer provided the budtender. You will then get a response containing all discounts this customer can utilize at that given time. You will display these discounts within your UI and you can apply them to your cart by depleting the cost to the consumer using the dollar or percentage value fields. However, our clients can place the ID of a discount they've already created in your system within the "posDiscountID" when creating a discount within our UI. If they do so, we will pass that discount ID back to you within this object. You can simply apply your discount ID to the cart when the customer clicks redeem on a discount and therefor leverage our endpoints in order to tell you what discounts that customer is eligible for at that time. When a customer redeems, simply call our redemptionURL given for each discount and append the transaction ID as a paramater so that we can match it for audit reporting. { "phone": "##########", "email": "something@site.com", "code": "1707" }
JSON





Option 2: (If you do not have a REST API) Send data at your leisure into AIQ using the endpoints below

Get a cake by its ID
GET
Code examples
Params
JSON
200
404



Get a cake by its ID
GET
Code examples
Params
JS
200
404



Get a cake by its ID
GET
Code examples
Params
JS
200
404