$loyaltyApi = $client->getLoyaltyApi();
LoyaltyApi
- Create Loyalty Account
- Search Loyalty Accounts
- Retrieve Loyalty Account
- Accumulate Loyalty Points
- Adjust Loyalty Points
- Search Loyalty Events
- List Loyalty Programs
- Retrieve Loyalty Program
- Calculate Loyalty Points
- List Loyalty Promotions
- Create Loyalty Promotion
- Retrieve Loyalty Promotion
- Cancel Loyalty Promotion
- Create Loyalty Reward
- Search Loyalty Rewards
- Delete Loyalty Reward
- Retrieve Loyalty Reward
- Redeem Loyalty Reward
Creates a loyalty account. To create a loyalty account, you must provide the program_id
and a mapping
with the phone_number
of the buyer.
function createLoyaltyAccount(CreateLoyaltyAccountRequest $body): ApiResponse
Parameter | Type | Tags | Description |
---|---|---|---|
body |
CreateLoyaltyAccountRequest |
Body, Required | An object containing the fields to POST for the request. See the corresponding object definition for field details. |
This method returns a Square\Utils\ApiResponse
instance. The getResult()
method on this instance returns the response data which is of type CreateLoyaltyAccountResponse
.
$body = CreateLoyaltyAccountRequestBuilder::init(
LoyaltyAccountBuilder::init(
'd619f755-2d17-41f3-990d-c04ecedd64dd'
)
->mapping(
LoyaltyAccountMappingBuilder::init()
->phoneNumber('+14155551234')
->build()
)
->build(),
'ec78c477-b1c3-4899-a209-a4e71337c996'
)->build();
$apiResponse = $loyaltyApi->createLoyaltyAccount($body);
if ($apiResponse->isSuccess()) {
$createLoyaltyAccountResponse = $apiResponse->getResult();
} else {
$errors = $apiResponse->getErrors();
}
// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());
Searches for loyalty accounts in a loyalty program.
You can search for a loyalty account using the phone number or customer ID associated with the account. To return all loyalty accounts, specify an empty query
object or omit it entirely.
Search results are sorted by created_at
in ascending order.
function searchLoyaltyAccounts(SearchLoyaltyAccountsRequest $body): ApiResponse
Parameter | Type | Tags | Description |
---|---|---|---|
body |
SearchLoyaltyAccountsRequest |
Body, Required | An object containing the fields to POST for the request. See the corresponding object definition for field details. |
This method returns a Square\Utils\ApiResponse
instance. The getResult()
method on this instance returns the response data which is of type SearchLoyaltyAccountsResponse
.
$body = SearchLoyaltyAccountsRequestBuilder::init()
->query(
SearchLoyaltyAccountsRequestLoyaltyAccountQueryBuilder::init()
->mappings(
[
LoyaltyAccountMappingBuilder::init()
->phoneNumber('+14155551234')
->build()
]
)
->build()
)
->limit(10)
->build();
$apiResponse = $loyaltyApi->searchLoyaltyAccounts($body);
if ($apiResponse->isSuccess()) {
$searchLoyaltyAccountsResponse = $apiResponse->getResult();
} else {
$errors = $apiResponse->getErrors();
}
// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());
Retrieves a loyalty account.
function retrieveLoyaltyAccount(string $accountId): ApiResponse
Parameter | Type | Tags | Description |
---|---|---|---|
accountId |
string |
Template, Required | The ID of the loyalty account to retrieve. |
This method returns a Square\Utils\ApiResponse
instance. The getResult()
method on this instance returns the response data which is of type RetrieveLoyaltyAccountResponse
.
$accountId = 'account_id2';
$apiResponse = $loyaltyApi->retrieveLoyaltyAccount($accountId);
if ($apiResponse->isSuccess()) {
$retrieveLoyaltyAccountResponse = $apiResponse->getResult();
} else {
$errors = $apiResponse->getErrors();
}
// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());
Adds points earned from a purchase to a loyalty account.
-
If you are using the Orders API to manage orders, provide the
order_id
. Square reads the order to compute the points earned from both the base loyalty program and an associated loyalty promotion. For purchases that qualify for multiple accrual rules, Square computes points based on the accrual rule that grants the most points. For purchases that qualify for multiple promotions, Square computes points based on the most recently created promotion. A purchase must first qualify for program points to be eligible for promotion points. -
If you are not using the Orders API to manage orders, provide
points
with the number of points to add. You must first perform a client-side computation of the points earned from the loyalty program and loyalty promotion. For spend-based and visit-based programs, you can call CalculateLoyaltyPoints to compute the points earned from the base loyalty program. For information about computing points earned from a loyalty promotion, see Calculating promotion points.
function accumulateLoyaltyPoints(string $accountId, AccumulateLoyaltyPointsRequest $body): ApiResponse
Parameter | Type | Tags | Description |
---|---|---|---|
accountId |
string |
Template, Required | The ID of the target loyalty account. |
body |
AccumulateLoyaltyPointsRequest |
Body, Required | An object containing the fields to POST for the request. See the corresponding object definition for field details. |
This method returns a Square\Utils\ApiResponse
instance. The getResult()
method on this instance returns the response data which is of type AccumulateLoyaltyPointsResponse
.
$accountId = 'account_id2';
$body = AccumulateLoyaltyPointsRequestBuilder::init(
LoyaltyEventAccumulatePointsBuilder::init()
->orderId('RFZfrdtm3mhO1oGzf5Cx7fEMsmGZY')
->build(),
'58b90739-c3e8-4b11-85f7-e636d48d72cb',
'P034NEENMD09F'
)->build();
$apiResponse = $loyaltyApi->accumulateLoyaltyPoints(
$accountId,
$body
);
if ($apiResponse->isSuccess()) {
$accumulateLoyaltyPointsResponse = $apiResponse->getResult();
} else {
$errors = $apiResponse->getErrors();
}
// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());
Adds points to or subtracts points from a buyer's account.
Use this endpoint only when you need to manually adjust points. Otherwise, in your application flow, you call AccumulateLoyaltyPoints to add points when a buyer pays for the purchase.
function adjustLoyaltyPoints(string $accountId, AdjustLoyaltyPointsRequest $body): ApiResponse
Parameter | Type | Tags | Description |
---|---|---|---|
accountId |
string |
Template, Required | The ID of the target loyalty account. |
body |
AdjustLoyaltyPointsRequest |
Body, Required | An object containing the fields to POST for the request. See the corresponding object definition for field details. |
This method returns a Square\Utils\ApiResponse
instance. The getResult()
method on this instance returns the response data which is of type AdjustLoyaltyPointsResponse
.
$accountId = 'account_id2';
$body = AdjustLoyaltyPointsRequestBuilder::init(
'bc29a517-3dc9-450e-aa76-fae39ee849d1',
LoyaltyEventAdjustPointsBuilder::init(
10
)
->reason('Complimentary points')
->build()
)->build();
$apiResponse = $loyaltyApi->adjustLoyaltyPoints(
$accountId,
$body
);
if ($apiResponse->isSuccess()) {
$adjustLoyaltyPointsResponse = $apiResponse->getResult();
} else {
$errors = $apiResponse->getErrors();
}
// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());
Searches for loyalty events.
A Square loyalty program maintains a ledger of events that occur during the lifetime of a buyer's loyalty account. Each change in the point balance (for example, points earned, points redeemed, and points expired) is recorded in the ledger. Using this endpoint, you can search the ledger for events.
Search results are sorted by created_at
in descending order.
function searchLoyaltyEvents(SearchLoyaltyEventsRequest $body): ApiResponse
Parameter | Type | Tags | Description |
---|---|---|---|
body |
SearchLoyaltyEventsRequest |
Body, Required | An object containing the fields to POST for the request. See the corresponding object definition for field details. |
This method returns a Square\Utils\ApiResponse
instance. The getResult()
method on this instance returns the response data which is of type SearchLoyaltyEventsResponse
.
$body = SearchLoyaltyEventsRequestBuilder::init()
->query(
LoyaltyEventQueryBuilder::init()
->filter(
LoyaltyEventFilterBuilder::init()
->orderFilter(
LoyaltyEventOrderFilterBuilder::init(
'PyATxhYLfsMqpVkcKJITPydgEYfZY'
)->build()
)->build()
)->build()
)
->limit(30)
->build();
$apiResponse = $loyaltyApi->searchLoyaltyEvents($body);
if ($apiResponse->isSuccess()) {
$searchLoyaltyEventsResponse = $apiResponse->getResult();
} else {
$errors = $apiResponse->getErrors();
}
// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());
This endpoint is deprecated.
Returns a list of loyalty programs in the seller's account. Loyalty programs define how buyers can earn points and redeem points for rewards. Square sellers can have only one loyalty program, which is created and managed from the Seller Dashboard. For more information, see Loyalty Program Overview.
Replaced with RetrieveLoyaltyProgram when used with the keyword main
.
function listLoyaltyPrograms(): ApiResponse
This method returns a Square\Utils\ApiResponse
instance. The getResult()
method on this instance returns the response data which is of type ListLoyaltyProgramsResponse
.
$apiResponse = $loyaltyApi->listLoyaltyPrograms();
if ($apiResponse->isSuccess()) {
$listLoyaltyProgramsResponse = $apiResponse->getResult();
} else {
$errors = $apiResponse->getErrors();
}
// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());
Retrieves the loyalty program in a seller's account, specified by the program ID or the keyword main
.
Loyalty programs define how buyers can earn points and redeem points for rewards. Square sellers can have only one loyalty program, which is created and managed from the Seller Dashboard. For more information, see Loyalty Program Overview.
function retrieveLoyaltyProgram(string $programId): ApiResponse
Parameter | Type | Tags | Description |
---|---|---|---|
programId |
string |
Template, Required | The ID of the loyalty program or the keyword main . Either value can be used to retrieve the single loyalty program that belongs to the seller. |
This method returns a Square\Utils\ApiResponse
instance. The getResult()
method on this instance returns the response data which is of type RetrieveLoyaltyProgramResponse
.
$programId = 'program_id0';
$apiResponse = $loyaltyApi->retrieveLoyaltyProgram($programId);
if ($apiResponse->isSuccess()) {
$retrieveLoyaltyProgramResponse = $apiResponse->getResult();
} else {
$errors = $apiResponse->getErrors();
}
// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());
Calculates the number of points a buyer can earn from a purchase. Applications might call this endpoint to display the points to the buyer.
-
If you are using the Orders API to manage orders, provide the
order_id
and (optional)loyalty_account_id
. Square reads the order to compute the points earned from the base loyalty program and an associated loyalty promotion. -
If you are not using the Orders API to manage orders, provide
transaction_amount_money
with the purchase amount. Square uses this amount to calculate the points earned from the base loyalty program, but not points earned from a loyalty promotion. For spend-based and visit-based programs, thetax_mode
setting of the accrual rule indicates how taxes should be treated for loyalty points accrual. If the purchase qualifies for program points, call ListLoyaltyPromotions and perform a client-side computation to calculate whether the purchase also qualifies for promotion points. For more information, see Calculating promotion points.
function calculateLoyaltyPoints(string $programId, CalculateLoyaltyPointsRequest $body): ApiResponse
Parameter | Type | Tags | Description |
---|---|---|---|
programId |
string |
Template, Required | The ID of the loyalty program, which defines the rules for accruing points. |
body |
CalculateLoyaltyPointsRequest |
Body, Required | An object containing the fields to POST for the request. See the corresponding object definition for field details. |
This method returns a Square\Utils\ApiResponse
instance. The getResult()
method on this instance returns the response data which is of type CalculateLoyaltyPointsResponse
.
$programId = 'program_id0';
$body = CalculateLoyaltyPointsRequestBuilder::init()
->orderId('RFZfrdtm3mhO1oGzf5Cx7fEMsmGZY')
->loyaltyAccountId('79b807d2-d786-46a9-933b-918028d7a8c5')
->build();
$apiResponse = $loyaltyApi->calculateLoyaltyPoints(
$programId,
$body
);
if ($apiResponse->isSuccess()) {
$calculateLoyaltyPointsResponse = $apiResponse->getResult();
} else {
$errors = $apiResponse->getErrors();
}
// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());
Lists the loyalty promotions associated with a loyalty program.
Results are sorted by the created_at
date in descending order (newest to oldest).
function listLoyaltyPromotions(
string $programId,
?string $status = null,
?string $cursor = null,
?int $limit = null
): ApiResponse
Parameter | Type | Tags | Description |
---|---|---|---|
programId |
string |
Template, Required | The ID of the base loyalty program. To get the program ID, call RetrieveLoyaltyProgram using the main keyword. |
status |
?string(LoyaltyPromotionStatus) |
Query, Optional | The status to filter the results by. If a status is provided, only loyalty promotions with the specified status are returned. Otherwise, all loyalty promotions associated with the loyalty program are returned. |
cursor |
?string |
Query, Optional | The cursor returned in the paged response from the previous call to this endpoint. Provide this cursor to retrieve the next page of results for your original request. For more information, see Pagination. |
limit |
?int |
Query, Optional | The maximum number of results to return in a single paged response. The minimum value is 1 and the maximum value is 30. The default value is 30. For more information, see Pagination. |
This method returns a Square\Utils\ApiResponse
instance. The getResult()
method on this instance returns the response data which is of type ListLoyaltyPromotionsResponse
.
$programId = 'program_id0';
$apiResponse = $loyaltyApi->listLoyaltyPromotions($programId);
if ($apiResponse->isSuccess()) {
$listLoyaltyPromotionsResponse = $apiResponse->getResult();
} else {
$errors = $apiResponse->getErrors();
}
// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());
Creates a loyalty promotion for a loyalty program. A loyalty promotion enables buyers to earn points in addition to those earned from the base loyalty program.
This endpoint sets the loyalty promotion to the ACTIVE
or SCHEDULED
status, depending on the
available_time
setting. A loyalty program can have a maximum of 10 loyalty promotions with an
ACTIVE
or SCHEDULED
status.
function createLoyaltyPromotion(string $programId, CreateLoyaltyPromotionRequest $body): ApiResponse
Parameter | Type | Tags | Description |
---|---|---|---|
programId |
string |
Template, Required | The ID of the loyalty program to associate with the promotion. To get the program ID, call RetrieveLoyaltyProgram using the main keyword. |
body |
CreateLoyaltyPromotionRequest |
Body, Required | An object containing the fields to POST for the request. See the corresponding object definition for field details. |
This method returns a Square\Utils\ApiResponse
instance. The getResult()
method on this instance returns the response data which is of type CreateLoyaltyPromotionResponse
.
$programId = 'program_id0';
$body = CreateLoyaltyPromotionRequestBuilder::init(
LoyaltyPromotionBuilder::init(
'Tuesday Happy Hour Promo',
LoyaltyPromotionIncentiveBuilder::init(
LoyaltyPromotionIncentiveType::POINTS_MULTIPLIER
)
->pointsMultiplierData(
LoyaltyPromotionIncentivePointsMultiplierDataBuilder::init()
->multiplier('3.0')
->build()
)
->build(),
LoyaltyPromotionAvailableTimeDataBuilder::init(
[
'BEGIN:VEVENT
DTSTART:20220816T160000
DURATION:PT2H
RRULE:FREQ=WEEKLY;BYDAY=TU
END:VEVENT'
]
)->build()
)
->triggerLimit(
LoyaltyPromotionTriggerLimitBuilder::init(
1
)
->interval(LoyaltyPromotionTriggerLimitInterval::DAY)
->build()
)
->minimumSpendAmountMoney(
MoneyBuilder::init()
->amount(2000)
->currency(Currency::USD)
->build()
)
->qualifyingCategoryIds(
[
'XTQPYLR3IIU9C44VRCB3XD12'
]
)
->build(),
'ec78c477-b1c3-4899-a209-a4e71337c996'
)->build();
$apiResponse = $loyaltyApi->createLoyaltyPromotion(
$programId,
$body
);
if ($apiResponse->isSuccess()) {
$createLoyaltyPromotionResponse = $apiResponse->getResult();
} else {
$errors = $apiResponse->getErrors();
}
// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());
Retrieves a loyalty promotion.
function retrieveLoyaltyPromotion(string $promotionId, string $programId): ApiResponse
Parameter | Type | Tags | Description |
---|---|---|---|
promotionId |
string |
Template, Required | The ID of the loyalty promotion to retrieve. |
programId |
string |
Template, Required | The ID of the base loyalty program. To get the program ID, call RetrieveLoyaltyProgram using the main keyword. |
This method returns a Square\Utils\ApiResponse
instance. The getResult()
method on this instance returns the response data which is of type RetrieveLoyaltyPromotionResponse
.
$promotionId = 'promotion_id0';
$programId = 'program_id0';
$apiResponse = $loyaltyApi->retrieveLoyaltyPromotion(
$promotionId,
$programId
);
if ($apiResponse->isSuccess()) {
$retrieveLoyaltyPromotionResponse = $apiResponse->getResult();
} else {
$errors = $apiResponse->getErrors();
}
// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());
Cancels a loyalty promotion. Use this endpoint to cancel an ACTIVE
promotion earlier than the
end date, cancel an ACTIVE
promotion when an end date is not specified, or cancel a SCHEDULED
promotion.
Because updating a promotion is not supported, you can also use this endpoint to cancel a promotion before
you create a new one.
This endpoint sets the loyalty promotion to the CANCELED
state
function cancelLoyaltyPromotion(string $promotionId, string $programId): ApiResponse
Parameter | Type | Tags | Description |
---|---|---|---|
promotionId |
string |
Template, Required | The ID of the loyalty promotion to cancel. You can cancel a promotion that has an ACTIVE or SCHEDULED status. |
programId |
string |
Template, Required | The ID of the base loyalty program. |
This method returns a Square\Utils\ApiResponse
instance. The getResult()
method on this instance returns the response data which is of type CancelLoyaltyPromotionResponse
.
$promotionId = 'promotion_id0';
$programId = 'program_id0';
$apiResponse = $loyaltyApi->cancelLoyaltyPromotion(
$promotionId,
$programId
);
if ($apiResponse->isSuccess()) {
$cancelLoyaltyPromotionResponse = $apiResponse->getResult();
} else {
$errors = $apiResponse->getErrors();
}
// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());
Creates a loyalty reward. In the process, the endpoint does following:
- Uses the
reward_tier_id
in the request to determine the number of points to lock for this reward. - If the request includes
order_id
, it adds the reward and related discount to the order.
After a reward is created, the points are locked and not available for the buyer to redeem another reward.
function createLoyaltyReward(CreateLoyaltyRewardRequest $body): ApiResponse
Parameter | Type | Tags | Description |
---|---|---|---|
body |
CreateLoyaltyRewardRequest |
Body, Required | An object containing the fields to POST for the request. See the corresponding object definition for field details. |
This method returns a Square\Utils\ApiResponse
instance. The getResult()
method on this instance returns the response data which is of type CreateLoyaltyRewardResponse
.
$body = CreateLoyaltyRewardRequestBuilder::init(
LoyaltyRewardBuilder::init(
'5adcb100-07f1-4ee7-b8c6-6bb9ebc474bd',
'e1b39225-9da5-43d1-a5db-782cdd8ad94f'
)
->orderId('RFZfrdtm3mhO1oGzf5Cx7fEMsmGZY')
->build(),
'18c2e5ea-a620-4b1f-ad60-7b167285e451'
)->build();
$apiResponse = $loyaltyApi->createLoyaltyReward($body);
if ($apiResponse->isSuccess()) {
$createLoyaltyRewardResponse = $apiResponse->getResult();
} else {
$errors = $apiResponse->getErrors();
}
// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());
Searches for loyalty rewards. This endpoint accepts a request with no query filters and returns results for all loyalty accounts.
If you include a query
object, loyalty_account_id
is required and status
is optional.
If you know a reward ID, use the RetrieveLoyaltyReward endpoint.
Search results are sorted by updated_at
in descending order.
function searchLoyaltyRewards(SearchLoyaltyRewardsRequest $body): ApiResponse
Parameter | Type | Tags | Description |
---|---|---|---|
body |
SearchLoyaltyRewardsRequest |
Body, Required | An object containing the fields to POST for the request. See the corresponding object definition for field details. |
This method returns a Square\Utils\ApiResponse
instance. The getResult()
method on this instance returns the response data which is of type SearchLoyaltyRewardsResponse
.
$body = SearchLoyaltyRewardsRequestBuilder::init()
->query(
SearchLoyaltyRewardsRequestLoyaltyRewardQueryBuilder::init(
'5adcb100-07f1-4ee7-b8c6-6bb9ebc474bd'
)->build()
)
->limit(10)
->build();
$apiResponse = $loyaltyApi->searchLoyaltyRewards($body);
if ($apiResponse->isSuccess()) {
$searchLoyaltyRewardsResponse = $apiResponse->getResult();
} else {
$errors = $apiResponse->getErrors();
}
// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());
Deletes a loyalty reward by doing the following:
- Returns the loyalty points back to the loyalty account.
- If an order ID was specified when the reward was created (see CreateLoyaltyReward), it updates the order by removing the reward and related discounts.
You cannot delete a reward that has reached the terminal state (REDEEMED).
function deleteLoyaltyReward(string $rewardId): ApiResponse
Parameter | Type | Tags | Description |
---|---|---|---|
rewardId |
string |
Template, Required | The ID of the loyalty reward to delete. |
This method returns a Square\Utils\ApiResponse
instance. The getResult()
method on this instance returns the response data which is of type DeleteLoyaltyRewardResponse
.
$rewardId = 'reward_id4';
$apiResponse = $loyaltyApi->deleteLoyaltyReward($rewardId);
if ($apiResponse->isSuccess()) {
$deleteLoyaltyRewardResponse = $apiResponse->getResult();
} else {
$errors = $apiResponse->getErrors();
}
// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());
Retrieves a loyalty reward.
function retrieveLoyaltyReward(string $rewardId): ApiResponse
Parameter | Type | Tags | Description |
---|---|---|---|
rewardId |
string |
Template, Required | The ID of the loyalty reward to retrieve. |
This method returns a Square\Utils\ApiResponse
instance. The getResult()
method on this instance returns the response data which is of type RetrieveLoyaltyRewardResponse
.
$rewardId = 'reward_id4';
$apiResponse = $loyaltyApi->retrieveLoyaltyReward($rewardId);
if ($apiResponse->isSuccess()) {
$retrieveLoyaltyRewardResponse = $apiResponse->getResult();
} else {
$errors = $apiResponse->getErrors();
}
// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());
Redeems a loyalty reward.
The endpoint sets the reward to the REDEEMED
terminal state.
If you are using your own order processing system (not using the Orders API), you call this endpoint after the buyer paid for the purchase.
After the reward reaches the terminal state, it cannot be deleted. In other words, points used for the reward cannot be returned to the account.
function redeemLoyaltyReward(string $rewardId, RedeemLoyaltyRewardRequest $body): ApiResponse
Parameter | Type | Tags | Description |
---|---|---|---|
rewardId |
string |
Template, Required | The ID of the loyalty reward to redeem. |
body |
RedeemLoyaltyRewardRequest |
Body, Required | An object containing the fields to POST for the request. See the corresponding object definition for field details. |
This method returns a Square\Utils\ApiResponse
instance. The getResult()
method on this instance returns the response data which is of type RedeemLoyaltyRewardResponse
.
$rewardId = 'reward_id4';
$body = RedeemLoyaltyRewardRequestBuilder::init(
'98adc7f7-6963-473b-b29c-f3c9cdd7d994',
'P034NEENMD09F'
)->build();
$apiResponse = $loyaltyApi->redeemLoyaltyReward(
$rewardId,
$body
);
if ($apiResponse->isSuccess()) {
$redeemLoyaltyRewardResponse = $apiResponse->getResult();
} else {
$errors = $apiResponse->getErrors();
}
// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());