Adjust and Find Rewards
Overview
Highnote supports manual reward adjustment. A manual reward adjustment is useful if reward points are redeemed outside of Highnote. With manual adjustment, you can adjust rewards in Highnote outside of the standard reward redemption flow.
You can also query reward point transfer to build a transfer feed for your account holder, or to monitor transfers for your organization.
Create reward point adjustment
Use the following mutation to create a manual reward point adjustment:
CreateRewardPointsAdjustment
Query
mutation CreateRewardPointsAdjustment(
$input: CreateRewardPointsAdjustmentInput!
) {
createRewardPointsAdjustment(input: $input) {
__typename
... on RewardPointsTransfer {
id
rewardPointsValue {
currencyCode
value
}
rewardPointsAmount {
currencyCode
value
}
createdAt
updatedAt
ledgers {
name
}
status {
... on RewardPointsTransferSuccessStatus {
status
}
... on RewardPointsTransferFailureStatus {
status
statusReasonCode
}
}
activity
memo
}
}
}
Variables
{ "input": { "financialAccountId": "FINANCIAL_ACCOUNT_ID", "activity": "DEDUCT", "pointsToAdjust": 100, "memo": "memo" } }
Result
{
"data": {
"createRewardPointsAdjustment": {
"__typename": "RewardPointsTransfer",
"activity": "DEDUCT",
"createdAt": "2022-03-12T00:00:00.000Z",
"id": "adjustmentId",
"ledgers": [
{
"id": "LEDGER_ID"
}
],
"memo": "memo",
"rewardPointsAmount": {
"currencyCode": "XHP",
"value": 1
},
"rewardPointsValue": {
"currencyCode": "USD",
"value": 1
},
"status": {
"__typename": "RewardPointsTransferSuccessStatus",
"status": "COMPLETED"
},
"updatedAt": "2022-03-12T00:00:00.000Z"
},
"extensions": {
"requestId": "REQUEST_ID"
}
}
}
Find reward point transfers
You can query for reward point transfers on a financial account to check the status of reward point transfers, or monitor reward point transfer history. Use the following query to find reward point transfers on a financial account:
FindFinancialAccountWithRewardPointsTransfers
Query
query FindFinancialAccountWithRewardPointsTransfers($id: ID!) {
node(id: $id) {
__typename
... on FinancialAccount {
id
ledgers(ledgerNames: [REWARDS_POINTS]) {
id
name
debitBalance {
value
currencyCode
}
ledgerEntries {
edges {
node {
financialEvent {
__typename
... on RewardPointsTransfer {
id
redemptionConfiguration {
id
}
rewardEarnRule {
id
}
rewardPointsAmount {
value
currencyCode
}
status {
... on RewardPointsTransferSuccessStatus {
status
}
... on RewardPointsTransferFailureStatus {
status
statusReasonCode
}
}
activity
source
memo
externalTransactionIdentifier
}
}
amount {
value
}
}
}
}
}
}
}
}
Variables
{
"id": "FINANCIAL_ACCOUNT_ID"
}
Result
{
"data": {
"node": {
"__typename": "FinancialAccount",
"id": "FINANCIAL_ACCOUNT_ID",
"ledgers": [
{
"id": "LEDGER_ID",
"name": "REWARDS_POINTS",
"debitBalance": {
"value": 500,
"currencyCode": "XHP"
},
"ledgerEntries": {
"edges": [
{
"node": {
"financialEvent": {
"__typename": "RewardPointsTransfer",
"id": "REWARD_POINTS_TRANSFER_ID",
"redemptionConfiguration": null,
"rewardEarnRule": {
"id": "REWARD_EARN_RULE_ID"
},
"rewardPointsAmount": {
"value": 500,
"currencyCode": "XHP"
},
"status": {
"status": "COMPLETED"
},
"activity": "AWARD",
"source": "CARD_TRANSACTION",
"memo": "Card transaction",
"externalTransactionIdentifier": null
},
"amount": {
"value": 500
}
}
}
]
}
}
]
}
},
"extensions": {
"requestId": "REQUEST_ID",
"rateLimit": {
"cost": 125,
"limit": 60060,
"remaining": 59935
}
}
}
View reward point balance
You can use a ledger balance query to create a reward point balance view, or transaction feed in your website or application. There are two ledgers that you can use for this purpose:
REWARDS_POINTSledgerREDEEMABLE_REWARDS_POINTSledger
Find ledger ID
To query for a rewards point ledger, you must find the ledger ID. When querying for a financial account, all ledger IDs are listed in the response.
Use the following query to find a financial account and its associated ledgers:
FindFinancialAccountLedgers
Query
query FindFinancialAccountLedgers($id: ID!) {
node(id: $id) {
__typename
... on FinancialAccount {
id
ledgers(ledgerNames: [REWARDS_POINTS]) {
id
name
debitBalance {
value
currencyCode
}
}
}
}
}
Variables
{
"id": "FINANCIAL_ACCOUNT_ID"
}
Result
{
"data": {
"node": {}
},
"extensions": {
"requestId": "REQUEST_ID",
"rateLimit": {
"cost": 9,
"limit": 100,
"remaining": 99991
}
}
}
View reward point ledger
Use the following query to view reward points balance for a financial account:
FindLedger
Query
query FindLedger($id: ID!) {
node(id: $id) {
... on Ledger {
id
name
ledgerEntries(first: 1) {
edges {
node {
__typename
id
amount {
value
}
journalEntry {
credits {
amount {
value
}
}
debits {
amount {
value
}
}
}
}
}
}
}
}
}
Variables
{
"id": "LEDGER_ID"
}
Result
{
"data": {
"node": {
"id": "LEDGER_ID",
"name": "REWARDS_POINTS",
"ledgerEntries": {
"edges": [
{
"node": {
"__typename": "CreditLedgerEntry",
"id": "LEDGER_ENTRY_ID",
"amount": {
"value": 1000
},
"journalEntry": {
"credits": [
{
"amount": {
"value": 1000
}
}
],
"debits": [
{
"amount": {
"value": 1000
}
}
]
}
}
}
]
}
}
}
}
View redeemable reward point ledger
Use the following query to view reward points balance for a financial account:
FindLedger
Query
query FindLedger($id: ID!) {
node(id: $id) {
... on Ledger {
id
name
ledgerEntries(first: 1) {
edges {
node {
__typename
id
amount {
value
}
journalEntry {
credits {
amount {
value
}
}
debits {
amount {
value
}
}
}
}
}
}
}
}
}
Variables
{
"id": "LEDGER_ID"
}
Result
{
"data": {
"node": {
"id": "LEDGER_ID",
"name": "REWARDS_POINTS",
"ledgerEntries": {
"edges": [
{
"node": {
"__typename": "CreditLedgerEntry",
"id": "LEDGER_ENTRY_ID",
"amount": {
"value": 1000
},
"journalEntry": {
"credits": [
{
"amount": {
"value": 1000
}
}
],
"debits": [
{
"amount": {
"value": 1000
}
}
]
}
}
}
]
}
}
}
}