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
string
string
int64
string
string
int64
required
boolean
int32
required
boolean
string
boolean
string
enum
Allowed:
int64
int32
string
enum
string
string
enum
Allowed:
string
string
boolean
string
enum
Allowed:
boolean
int32
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