# Integrate with POS

## Introduction

This guide outlines the recommended implementation for integrating a POS system with the Loyalty Engine, covering multiple use cases including user lookup, earning and spending points, and voucher validation.

#### Articles in this guide

These articles explain how to connect your POS system with the loyalty platform to handle transactions, offers, vouchers, discounts, and point redemptions.

<table><thead><tr><th width="266.46875" valign="top">Article</th><th valign="top">Summary</th></tr></thead><tbody><tr><td valign="top"><a data-mention href="/pages/5fLh26Owy5ZvETAY58oz">/pages/5fLh26Owy5ZvETAY58oz</a></td><td valign="top">How to report completed sales to the Loyalty Engine.</td></tr><tr><td valign="top"><a data-mention href="/pages/CXglAWd8GakSbQcf3U5V">/pages/CXglAWd8GakSbQcf3U5V</a></td><td valign="top">How to identify and apply active <a href="/spaces/EFmrMvu6tg0ZiSX9SGEq/pages/qGXWHY8wh6Woi9ZWmKl3"><strong>Offers</strong></a> linked to a member’s account when their loyalty ID is scanned. </td></tr><tr><td valign="top"><a data-mention href="/pages/q0sqfssnYgrEjjBuRAj1">/pages/q0sqfssnYgrEjjBuRAj1</a></td><td valign="top">How to validate and redeem <a href="/spaces/EFmrMvu6tg0ZiSX9SGEq/pages/vDc7sswEO2MehNIsm94h"><strong>Vouchers</strong></a> issued by the Loyalty Engine at POS. </td></tr><tr><td valign="top"><a data-mention href="/pages/UHBSyPVfGHbBqDRxUswl">/pages/UHBSyPVfGHbBqDRxUswl</a></td><td valign="top">How to let members spend loyalty <a href="/spaces/EFmrMvu6tg0ZiSX9SGEq/pages/KKoGLEAJKx5LYcgH7p5F"><strong>points</strong></a> for discounts or rewards at POS.</td></tr><tr><td valign="top"><a data-mention href="/pages/kXBm8rUxnwznR9NK4Vaa">/pages/kXBm8rUxnwznR9NK4Vaa</a></td><td valign="top">How to interpret and apply the <code>discounts</code> object returned in offer or voucher responses.</td></tr></tbody></table>

{% hint style="info" %}

#### Key Loyalty Engine concepts to review

Before proceeding, we recommend reviewing key Loyalty Engine concepts in our Product Docs to understand the platform architecture:

* [Introduction](https://kbase.whitelabel-loyalty.com/product/loyalty-engine/introduction)
* [Events](https://kbase.whitelabel-loyalty.com/product/loyalty-engine/events)
* [Reactors](https://kbase.whitelabel-loyalty.com/product/loyalty-engine/reactors)
* [Rewards](https://kbase.whitelabel-loyalty.com/product/loyalty-engine/rewards-and-points/rewards)
  {% endhint %}

***

## Relevant API Endpoints

The following API endpoints are referenced in this guide. Take some time to familiarise yourself with each.

<table><thead><tr><th width="295.5703125" valign="top">Function</th><th width="140.12109375" valign="top">API</th><th valign="top">API endpoint</th></tr></thead><tbody><tr><td valign="top"><strong>Submit an order</strong><br>For reporting a transaction</td><td valign="top"><mark style="color:green;"><strong>Receipts</strong></mark></td><td valign="top"><a href="https://docs.whitelabel-loyalty.com/receipts#orders-orders-collection-post"><code>POST /orders</code></a></td></tr><tr><td valign="top"><strong>Report an event</strong><br>For reporting a transaction or spending points</td><td valign="top"><mark style="color:blue;"><strong>Rewards</strong></mark></td><td valign="top"><a href="https://docs.whitelabel-loyalty.com/rewards.html#events-events-collection-post"><code>POST /events</code></a></td></tr><tr><td valign="top"><strong>Retrieve a specific user</strong><br>For looking up a user and their <code>authIdentifier</code></td><td valign="top"><mark style="color:blue;"><strong>Rewards</strong></mark></td><td valign="top"><a href="https://docs.whitelabel-loyalty.com/rewards#users-specific-user-get"><code>GET /users/{id}</code></a></td></tr><tr><td valign="top"><strong>Retrieve a user’s wallet</strong><br>For retrieving a user's points balance and the voucher's in their wallet</td><td valign="top"><mark style="color:blue;"><strong>Rewards</strong></mark></td><td valign="top"><a href="https://docs.whitelabel-loyalty.com/rewards#users-specific-user-wallet-get"><code>GET /users/{id}/wallet</code></a></td></tr><tr><td valign="top"><strong>Retrieve a user's offers</strong><br>For retrieving a list of offers a user is eligible for.</td><td valign="top"><mark style="color:blue;"><strong>Rewards</strong></mark></td><td valign="top"><a href="https://docs.whitelabel-loyalty.com/rewards.html#rewards-rewards-collection-get"><code>GET /rewards</code></a></td></tr><tr><td valign="top"><strong>Redeem a benefit</strong><br>For redeeming a voucher</td><td valign="top"><mark style="color:blue;"><strong>Rewards</strong></mark></td><td valign="top"><a href="https://docs.whitelabel-loyalty.com/rewards#commands-benefit-redemptions-post"><code>POST /commands/redeem_benefi</code></a></td></tr><tr><td valign="top"><strong>Validate a voucher code</strong><br>For verifying or burning a voucher code</td><td valign="top"><mark style="color:blue;"><strong>Rewards</strong></mark></td><td valign="top"><a href="https://docs.whitelabel-loyalty.com/rewards#commands-voucher-validations-post"><code>POST /commands/validate_voucher</code></a></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kbase.whitelabel-loyalty.com/developer/guides/integrate-with-pos.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
