Based on this data, ClearLine identifies the customer and executes business rules to process it and apply Loyalty Program logic (calculate points, stamps, change user’s tier, grant rewards, etc.).

- ClearLine retrieves its configuration from POS system using Get POS Settings
- POS system initializes a session with Start POS Interaction
- ClearLine sends a webhook with customer details (loyalty card, email, phone, name) for customer check-in
- POS system posts transaction data into ClearLine using the Transaction endpoint; ClearLine applies loyalty logic (points, stamps, tier changes, rewards)
- POS system can fetch customer coupons using couponCode/search
- POS system can validate a coupon against a transaction using Validate Coupon by Transaction
1. Transaction
1. Get POS Settings
Endpoint:GET /v2/pos/{posSystemId}/settings/lookup
Description:Retrieves POS system settings.
If the integration works only with one POS provider (Cova, Clover, or Pax), the response will contain settings only for that provider. Path Parameters:
posSystemId(string, required) – POS system identifier.
Responses
200 (Success)Response parameters
| Field name | Description |
|---|---|
| data | Data Block |
| companySettings | Data Block |
| isCheckInMenuEnabled | Identifies if CheckIn menu is enabled |
| isTransactionsEnabled | Identifies if transaction synchronization enabled on this account |
| isPosRulesEnabled | Identifies if automatic POS Rules enabled on this account |
| isReceiptPromotionEnabled | Identifies if QR code generation enabled to print it on receipts on this account |
| isCouponsEnabled | Identifies if Coupons are enabled |
| isProductsImportEnabled | Identifies if automatic Product Catalog import enabled on this account |
| notificationSettings | Data Block |
| status | Status of notifications [Enabled, Disabled] |
| channel | Identifies the notification channel [None, Webhook, PubNub] |
| configuration | Data Block (PubSub sample) |
| publishKey | Publish key |
| subscribeKey | Subscribe key |
| terminalChannel | Terminal channel, used to send messages to a specific terminal |
| broadcastChannel | Broadcast channel, used to send messages to all terminals on the account |
2. Start POS Interaction
Endpoint:POST /Pos/{posSystemId}/startInteraction
Description:Initializes a POS session with ClearLine. Path Parameters:
posSystemId(string, required) – POS system identifier.
Example Request
Example Response (200 Success)
StartInteractionRequestDtoterminalId(string, required) – Terminal identifierposLocationId(string, required) – POS Location identifier
3. Submit Transaction
Endpoint:POST /Pos/{posSystemId}/transaction
Description:Sends transaction data from POS to ClearLine.
Requires
sessionId obtained from /startInteraction.
Path Parameters:
posSystemId(string, required) – POS system identifier.
Example Request
Example Response (200 Success)
NewPosTransactionRequestDtosessionId(string, required) – Session identifiercustomer(PosTransactionCustomerDto, optional) – Customer infosalesPerson(PosTransactionSalesPersonDto, optional) – Sales person infopurchaseName,purchaseId,purchaseQuantity,purchasePricetransactionId(string, required) – Transaction identifiertransactionType(enum, optional)transactionAmount(number, optional)transactionDate(datetime, required)terminalId,posLocationId(string, required)products[](PosTransactionProductDto, optional)loyalty(PosTransactionLoyaltyProgramDto, optional) – Loyalty card number
NewPosTransactionResponseDtoApiResponseid(string, optional) – Transaction IdqrCodeWidget(WidgetMessageResultDto) – QR code & notification detailscfsTemplate(CfsTemplateMessageResultDto) – CFS campaign template dataposStatus(enum: Accepted, Disabled, NotAvailable)loyalty(PosTransactionLoyaltyResponseDto) – Loyalty program reward details
- **Description **– Loyalty details such as the updated customer balance and the number of points earned
- QR Code – An image URL linking to the Loyalty Program
- **Primary & Secondary Text **– Brief information about the Loyalty Program or additional promotional details
2. Customer Check-In & Loyalty Card retrieval
1. Get a Webhook with the Customer Details
Once a customer is checked in via CFS or CMC, Clearline sends a webhook notification with the following customer details:- Loyalty Card Number
- Loyalty User ID
- Phone
- First Name
- Last Name
- SentAd
2. Get Loyalty Card details
Endpoint:GET /v2/pos//loyaltyCard/lookup
Retrieve loyalty card details for a specific location. Path Parameters:posSystemId(string, required) – POS system identifier.
Request
Responses
Code 200 – successSchema
LoyaltyCardid(string, nullable) – Loyalty card unique identifiername(string, nullable) – Loyalty card nametitle(string, nullable) – Loyalty card titledescription(string, nullable) – Loyalty card descriptionfrontImage(string, nullable) – Front image URL
id(string, nullable) – Location unique identifiername(string, nullable) – Location name
3. Coupon validation
1. Get customer coupons
Endpoint:POST /pos/{posSystemId}/coupon/couponCode/search
Description:Returns customer coupons by search parameters Path Parameters:
posSystemId(string, required) – POS system identifier.
Example Request
code(string, nullable) – Filter by coupon codeemail(string, nullable) – Filter by customer emailphone(string, nullable) – Filter by customer phone numberposLocationId(string, nullable) – POS location identifier
Responses
200 (Success)Represents the response containing a list of coupon codes available to the POS system.
data(array of CouponCodeDisplayDto, nullable) – List of coupon codespage(PageModel) – Pagination metadataposStatus(enum: Accepted, Disabled, NotAvailable) – POS response status
Represents coupon code display data.
rewardProvider(enum: TwoReward, PJM) – Reward provider typecode(string, nullable) – Coupon codename(string, nullable) – Coupon nametitle(string, nullable) – Coupon titlepictureUrl(string, nullable) – URL to the coupon imageavailableUntil(string, date-time, nullable) – Expiration date of the couponstatus(enum: Issued, Redeemed, Cancelled, Expired) – Coupon statusinfo(array of CouponCodeDisplayInfoDto, nullable) – Additional coupon information
Represents an additional information section for a coupon.
title(string, nullable) – Section titleitems(object, nullable) – Key-value data for the section
page(integer) – Current pagepageSize(integer) – Number of items per pagetotal(integer) – Total number of items
2. Validate coupon
Endpoint:POST /pos/{posSystemId}/coupon/validate/byTransaction
Description:Validates customer coupon by transaction Requires
sessionId obtained from /startInteraction.
Path Parameters:
posSystemId(string, required) – POS system identifier.
Example Request
Responses
200 (Success)Represents the response returned when validating a coupon session.
posStatus(enum: Accepted, Disabled, NotAvailable) – POS response statusdata(ValidateCouponSessionDto) – Coupon session validation result
Represents the result of a coupon session validation.
externalSessionId(string, nullable) – External coupon session identifierstatus(string, nullable) – Validation status of the couponvalidationDate(string, date-time, nullable) – Date and time of validationerrorMessage(string, nullable) – Error message if validation fails