Skip to main content
When a registered subscriber wants to make a transaction at the cashier, integrating system must first find the customer by calling find a customer endpoint. This endpoint returns a populated Subscriber object.

Subscriber Data

A Subscriber object is a collection of personal information — which is provided by the registration process, digital cards, usable coupons and a representation of transaction generated values called Collectables of that subscriber.

Data

All the subscriber generated data during registration process can be found here. Most probably, subscriber’s “fullname” will be here. — There are some organizations who do not require their subscribers to give their full name. Be aware that subscribers can update their information, so storing this data and depending on this for future use may end up in expired data.

Collectables

When a subscriber collects stamps, earn points, buy airtime etc. the collected values are stored in Collectable objects. These objects contain the current value, total accumulated value and more about the collectable. You can use the label attribute, for example. If the organization configured their digital cards to collect stamps and named it “Coffee”, you can find the word “Coffee” here.

Cards

You can find subscriber’s cards here. Each card has a name, status, barcode and options. Barcode is unique organization-wide. Most of the time barcode numbers are numerical but some organizations can change this property to alphanumerical. If you find your customer using barcode, number exactly one card will return with the Subscriber object.
If you search with barcode, you will get exactly the one subscriber card that you are looking for, subscriber’s other cards will not be in the response.
Options of the card gives you information about how this digital card’s default campaign settings work.

Coupons

Coupons are the main tool of BrandWallet to reward the subscribers. You can find active — usable, not expired, not redeemed — coupons of the subscriber in coupons attribute of Subscriber object. Each coupon has a name, issuedAt — the issue time —, type, codeand status attribute. Coupons can be used for discount or for freeproduct. This setting can be found in type attribute.

Free Product Coupons

If a coupon is for free product, you can find the free product settings in products attribute. The products for which the coupon can be used for is listed in the products.productIds attribute. The ids found in the list are integrating system’s ids. You can freely use these ids to lookup the products from your side. When a subscriber wants to use their coupon for free products, it is the integrating system’s responsibility to present the proper means for the cashier — or subscriber in case of a shopping kiosk — to select which products they want to redeem their coupon for.
When a subscriber wants to use their coupon for free products, it is the integrating system’s responsibility to present the proper means to select which product they want to redeem their coupon for.
Some coupons may be redeemed for more than one product. You can find this setting in products.quantity attribute.

Discount Coupons

If the coupon is for discount, it will have discountAmount, isPercent and maxDiscountAmount attributes. There are two types of discount coupons. First one is for percent discount. For a percent discount coupon isPercent attribute is set to true and when this flag is true discountAmount attribute holds the percentage of discount this coupon will apply to check total. The second type is for amount discounts. For an amount discount coupon isPercent attribute is set to false and when this flag is false discountAmount attribute holds ney amount of discount this coupon will apply to check total. You should always take maxDiscountAmount attribute into consideration while you are applying coupons to your check. If this attribute has a value, the net amount of discount you calculate from the coupon settings should never exceed this value.

Expiring Coupons

Some coupons can have an expiresAt property. This expiration date is set while issuing the coupon. You can use this date to warn the subscriber that their coupon will expire soon and they should take action. But be aware that the expiration date of subscriber coupons are subject to change so use this property accordingly.

Get Subscriber Coupons

In some use cases, you may want to fetch a fresh list of coupons a subscriber have without fetching all of the subscriber’s data. In this case you can use the Get subscriber coupons endpoint.

Subscribers with multiple cards

Some organizations may issue more than one digital cards and their customers can subscribe more than once. BrandWallet creates only one subscriber with the same information — uniqueness can be achieved by phone number or email — but each subscriber can have many cards. While finding a customer with email or phone number, be aware that all of their cards will be returned. It is the integrating system’s responsibility to present proper means to the subscriber to enable them to select which of their cards they want to use. If you search with barcode, you will get exactly the one subscriber card that you are looking for, subscriber’s other cards will not be in the response.
While finding a customer with email or phone number, be aware that all of their cards will be returned. It is the integrating system’s responsibility to present proper means to the subscriber to enable them to select which of their cards they want to use.
If you search with barcode, you will get exactly the one subscriber card that you are looking for, subscriber’s other cards will not be in the response.
Last modified on August 14, 2026