Check If Points Redeemable

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Allows redeeming active points of customers according to the redemption criteria set for the organization (Loyalty Program). For example, you could set redemption criteria as allow redemption only in multiples of 10 and a maximum of 200 points per time.

This API checks if a specific number of points can be redeemed by a customer from a selected loyalty program. The eligibility check uses only the points balance in the selected program, not the total points across all programs. If a customer has points in other programs, those balances are not considered for this check. Store-to-program mapping determines which program's balance is checked for redemption eligibility. For example, the mapping between a store and a program (such as uat.promised.points to ROOT concept) controls which program's points are used for the redemption request.

With this API, you can now issue a validation code to the customer automatically upon successful validation. This reduces the need to call the /points/validationcode API separately.

📘

If there is any problem in issuing validation code, Points Redeemable but OTP Generation failed error will be displayed (876) * if points validation itself fails, then the relevant error message will be displayed

Example request

curl --location 'https://eu.api.capillarytech.com/v1.1/points/isredeemable?mobile=9777785205&program_id=973&format=json&points=10&issue_otp=null&validation_code=true' \
--header 'Authorization: Basic bWFkaHVMjU2YQ==' \
--header 'Cookie: _cfuvid=7165ECtxDm51hFGZ_zSJYF7reiBXgk4OldF_d7_82Iw-1761202117837-0.0.1.1-604800000'

Prerequisites

  • Basic Authentication
  • Default access group

Resource information

URI/v1.1/points/isredeemable?
HTTP methodGET
AuthenticationBasic
Pagination supported?NO
Rate limitYES. Demo and testing clusters: 1000 requests per minute per API key. Other organizations: Rate limit is brand-specific.
Batch supportNO

Request Parameters

Parameter (Parameters marked in * are mandatory)TypeDescription
mobile/email/external_id/card_number/card_external_id*EnumPass any of the registered identifier type.
program_id*longUnique ID of the loyalty program from which points need to redeem.
group_redemptionbooleanPass true for group redemption - points earned in one program need to redeem in a different program of the org.
points*intNumber of points to redeem.
issue_otpbooleanPass true to issue OTP if the validation is successful.
validation_codestringOTP issued to the customer’s mobile number.
skip_validationbooleanPass true if you want to skip validation.
validation_typeEnumPreferred mode of validation.
Value: MISSED_CALL, SMS, INVALID.
Use invalid if you want to skip_validation.
user_group2_primary_user_idlongUnique user ID of the primary member of the group associated with the points to redeem.
user_group2_idintUnique ID of the group associated with the points to redeem.
user_group2_primary_user_sourceEnumSource in which the primary user’s identifier is available.
Value: FACEBOOK, WEB_ENGAGE, WECHAT, INSTORE, MARTJACK, TMALL, TAOBAO, JD, ECOMMERCE, WEBSITE, LINE, MOBILE_APP.
user_group2_primary_user_accountIdstringAccount ID of the source with multiple accounts such as WECHAT.
user_group2_primary_user_identifier_typeEnumIdentifier type used for the primary member.
Value: mobile, email, cardnumber, cardExternalId, id.
user_group2_primary_user_identifier_valuestringValue of the specified identifier type.
user_group2_external_idstringUnique external ID of the group associated with the points to redeem.
use_default_user_group2booleanPass true to associate the default group with the points to redeem.
currency_inputbooleanPass true whether the points of worth n can be redeemed. For example, you can check if points of worth $5 can be redeemed (assuming $ as the base currency). To use this, ensure that the org currency ratio is configured for the org.

Example response

{
    "response": {
        "status": {
            "success": "true",
            "code": 200,
            "message": "Success"
        },
        "points": {
            "redeemable": {
                "mobile": "919777785205",
                "email": "[email protected]",
                "external_id": "434547",
                "points": 10,
                "is_redeemable": "true",
                "points_redeem_value": 10,
                "points_redeem_local_value": 10,
                "input_type": "points",
                "points_currency_ratio": "1",
                "item_status": {
                    "success": "true",
                    "code": 800,
                    "message": "Points can be redeemed"
                }
            }
        }
    }
}

Response parameter

Parameter PathTypeDescription
responsebooleantrue if the request succeeded.
statusintegerHTTP status code (e.g., 200 for success).
-messagestringHuman-readable status message (e.g., "Success").
mobilestringCustomer’s registered mobile number (masked or full, based on configuration).
emailstringCustomer’s registered email address.
externalIdstringCustomer’s external identifier
pointsintegerPoints requested for redemption.
-is_redeemablebooleantrue if points are redeemable.
-points_redeem_valuedecimalEquivalent monetary value of redeemable points
-points_redeem_local_valuedecimalEquivalent monetary value in local currency (if conversion is enabled).
-input_typestringType of input (e.g., "points" or "currency").
points_currency_ratiostringConversion ratio between points and currency (e.g., "1").
-item_statusbooleantrue if points validation passed.
--codeintegerSub-status code for redemption checks (e.g., 800).
--messagestringDetailed message (e.g., "Points can be redeemed").

API specific error codes

Error CodeDescriptionReason
889Points processing failed, Please try again later Reason : Failed to Connect to ServiceInvalid Customer identifiers passed
1101invalid programId passedInvalid programId passed
801Trying to redeem invalid pointsInvalid points parameter passed (e.g, negative points value)
818Current points are less than points requested for redemptionThe customer's points balance in the selected program is less than the requested redemption amount. Only the balance in the selected program is checked, even if the customer has points in other programs. Store-to-program mapping determines which program's balance is used for this check.
Query Params
string

Mobile number of the customer to check whether points are redeemable.

string

Email ID of the customer to check whether points are redeemable.

string

External ID of the customer to check whether points are redeemable.

int64

Unique ID of the customer to check whether points are redeemable.

string

Card number of the customer to check whether points are redeemable.

string

Card external ID of the customer to check whether points are redeemable.

int64
required

Unique ID of the loyalty program from which points need to redeem.

boolean

Pass true for group redemption - points earned in one program need to redeem in a different program of the org.

int32
required

Number of points to redeem.

boolean

Pass true to issue OTP if the validation is successful.

string

OTP issued to the customer’s mobile number.

boolean

Pass true if you want to skip validation.

string
enum

Preferred mode for validation. Use INVALID to skip validation.

Allowed:
int64

Unique user ID of the primary member of the group associated with the points to redeem.

int32

Unique ID of the group associated with the points to redeem.

string
enum

Source in which the primary user’s identifier is available.

string

Account ID of the source with multiple accounts such as WECHAT.

string
enum

Identifier type used for the primary member.

Allowed:
string

Value of the specified identifier type.

string

Unique external ID of the group associated with the points to redeem.

boolean

Pass true to consider the default user group.

string
enum

Preferred response format.

Allowed:
boolean

Pass true whether the points of worth n can be redeemed. For example, you can check if points of worth $5 can be redeemed (assuming $ as the base currency). To use this, ensure that the org currency ratio is configured for the org.

int32

The currency amount to check. Required if currency_input=true.

Response

Language
Credentials
Basic
base64
:
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json