Using Siebel Loyalty Business Components

Siebel CRM REST API services offers the following lightweight business components for Siebel Loyalty users:

  • LWA Member

  • LWA Transaction

During REST API calls, these business components exclude calculated fields, and seldom-used fields, resulting in quicker response times for API calls performed against loyalty members and transactions.

Processing Accrual Transactions

You use the business service method ProcessAccrualTransaction with the lightweight business component Base LWA Transaction to process an accrual transaction.

The ProcessAccrualTransaction business service method is described below.

  • Business Service. LOY Accrual Service

  • Business Service Method Arguments:

    • Base LWA LOY Transaction. Integration Object
    • OrderNumber. Required. The transaction order number.
    • RequestMode. Required. This processes or simulates the transaction. Valid values are Process, or Simulate.
    • Total Points. The total points of the accrual transaction.
    • TotalLines. Required. The total number of transactions.

This API internally calls the ProcessExternalOrderTxn business service method, which then processes an accrual transaction for the Transaction business component. You can query for a Siebel CRM child business component that returns its child links, that is, links to grandchildren, by sending a HTTP GET request to the resource's URI. For more information, see Querying for a Siebel CRM Business Component To Return Child Links for Multiple Child Business Components.

The following request processes transactions for an order:

  • URI: http://ServerName:port/siebel/v1.0/service/LOY Accrual Service/ProcessAccrualTransaction?OrderNumber=1804&TotalLines=2&RequestMode=Process

  • HTTP Method: POST

  • Content-Type: application/json

  • Authorization: Basic

  • Request body:
    {
        "body": {
            "Base LWA LOY Transaction": {
                "IntObjectName": "Base LWA LOY Transaction",
                "IntObjectFormat": "Siebel Hierarchical",
                "ListOfBase LWA LOY Transaction": {
                    "LWA LOY Transaction": [
                        {
                            "Member Number": "296-183479719",
                            "Transaction Date": "04/01/2022",
                            "Order Number": "1804",
                            "Partner Id": "88-15JV6",
                            "Point Id": "88-19ZR5",
                            "Amount": 10,
                            "Points": 300,
                            "Product Id": "88-1ARHO",
                            "Product Name": "MSR Regular Accrual",
                            "Program Id": "88-19ZQZ",
                            "Qualifying Flag": "Y",
                            "Transaction Sub Type": "Product",
                            "Transaction Type": "Accrual"
                        },
    
                        {
                            "Member Number": "296-183430719",
                            "Transaction Date": "04/02/2022",
                            "Order Number": "1804",
                            "Partner Id": "88-15JV6",
                            "Point Id": "88-19ZR5",
                            "Amount": 1000,
                            "Points": 350,
                            "Product Id": "88-1ARHO",
                            "Product Name": "MSR Regular Accrual",
                            "Program Id": "88-19ZQZ",
                            "Qualifying Flag": "Y",
                            "Transaction Sub Type": "Product",
                            "Transaction Type": "Accrual"
                        }
                    ]
                }
            }
        }
    }

Here are the response details for a successful request:

  • HTTP Code: 200

  • Content-Type: application/json

  • Response body:
    {
        "Total Points": "650",
        "Base LWA LOY Transaction": {
            "IntObjectFormat": "Siebel Hierarchical",
            "IntObjectName": "Base LWA LOY Transaction",
            "MessageType": "Integration Object",
            "LWA LOY Transaction": [
                {
                    "Status": "Processed",
                    "Transaction Id": "88-318UDI",
                    "Points": "350",
                    "Transaction Number": "296-183490758",
                    "Sub Status": "Success",
                    "Processing Log": "Admin - Accruals\r\n  Got Applied. 350 The Qualifying. Regular\r\n  Issued Voucher  296-183490768 Expiry Date: 04/01/2022 05:29:34\r\nNot satisfy the filter.\r\n 1-> Admin - Cancellation;\r\n 1-> Admin - Gift;\r\n 1-> Admin - Gift Points;\r\n 1-> Admin - Loan;\r\n 1-> Admin - Lounge purchase;\r\n 1-> Admin - Membership Renewal;\r\n 1-> Admin - Point Reactivation;\r\n 1-> Admin - Points Purchase;\r\n 1-> Admin - Promotion Enrolment;\r\n 1-> Admin - Redemptions;\r\n 1-> Admin - Voucher;\r\n 1-> Admin - Voucher Reissue;\r\n 1-> Admin – Point Transfer;\r\n 1-> Batch Redemption;\r\n 1-> CT Accruals;\r\n 1-> CT Debits;\r\n 1-> Program - Transfer Points;\r\n 1-> Program-Enrolment;\r\n;Not within start/end dates.\r\n 1-> Special Points based on Product Line;\r\n;No rules were satisfied.\r\n 1-> Capture Base for Accrual Reward - Distance (PR-A1);\r\n 1-> Recurring Rewards on Primary Member Txn;\r\n;",
                    "LOY Transaction Accrual Item": {
                        "Accrualed Value": "350",
                        "Promotion Name": "Admin - Accruals",
                        "Point Block Name": "Indigo Points",
                        "Point Sub Type": ""
                    }
                },
                {
                    "Status": "Processed",
                    "Transaction Id": "88-318UDG",
                    "Points": "300",
                    "Transaction Number": "296-183490756",
                    "Sub Status": "Success",
                    "Processing Log": "Admin - Accruals\r\n  Got Applied. 300 The Qualifying. Regular\r\n  Issued Voucher  296-183490772 Expiry Date: 04/01/2022 05:29:35\r\nNot satisfy the filter.\r\n 1-> Admin - Cancellation;\r\n 1-> Admin - Gift;\r\n 1-> Admin - Gift Points;\r\n 1-> Admin - Loan;\r\n 1-> Admin - Lounge purchase;\r\n 1-> Admin - Membership Renewal;\r\n 1-> Admin - Point Reactivation;\r\n 1-> Admin - Points Purchase;\r\n 1-> Admin - Promotion Enrolment;\r\n 1-> Admin - Redemptions;\r\n 1-> Admin - Voucher;\r\n 1-> Admin - Voucher Reissue;\r\n 1-> Admin – Point Transfer;\r\n 1-> Batch Redemption;\r\n 1-> CT Accruals;\r\n 1-> CT Debits;\r\n 1-> Program - Transfer Points;\r\n 1-> Program-Enrolment;\r\n;Not within start/end dates.\r\n 1-> Special Points based on Product Line;\r\n;No rules were satisfied.\r\n 1-> Capture Base for Accrual Reward - Distance (PR-A1);\r\n 1-> Recurring Rewards on Primary Member Txn;\r\n;",
                    "LOY Transaction Accrual Item": {
                        "Accrualed Value": "300",
                        "Promotion Name": "Admin - Accruals",
                        "Point Block Name": "Indigo Points",
                        "Point Sub Type": ""
                    }
                }
            ]
        }
    }

Processing Redemption Transactions

You use the business service method ProcessRedemptionTransaction with the lightweight business component Base LWA Transaction to process a redemption transaction. This business service method removes the dependency on processing the transaction order number, therefore improving response times.

This API creates and processes a single redemption transaction, however it also handles loans if points are required when a redemption falls short, and the member is eligible for a loan.

The integration object Base LWA LOY Transaction uses the U2 User Key to pass the date and time fields to assess the transaction date. It ensures that users can redeem the same product for a loyalty member at different times on the same day. If the user tries to redeem the same product for a member at the same time of the day then the following error message is displayed:

Duplicate Transaction exists for attributes Member Number, Product Name and Transaction Date.(SBL-LTY-50015)'. 

The user can update the Qty to 2 if the user is trying to redeem the same product for a member on the same date time.

The following request processes transactions for an order:

  • URI: http://ServerName:port/siebel/v1.0/service/LOY Redemption Web Service/ProcessRedemptionTransaction

  • HTTP Method: POST

  • Content-Type: application/json

  • Authorization: Basic

  • Request body:
    {
        "body": {
            "Base LWA LOY Transaction": {
                "IntObjectName": "Base LWA LOY Transaction",
                "IntObjectFormat": "Siebel Hierarchical",
                "ListOfBase LWA LOY Transaction": {
                    "LWA LOY Transaction": [
                        {
                            "Member Number": "296-183479719",
                            "Transaction Date": "04/03/2022 05:30:50",
                            "Partner Id": "88-15JV6",
                            "Point Id": "88-19ZR5",
                            "Amount": 1000,
                            "Points": "350",
                            "Product Id": "88-1ASW8",
                            "Product Name": "MSR Regular Accrual",
                            "Program Id": "88-19ZQZ",
                            "Qualifying Flag": "Y",
                            "Transaction Sub Type": "Product",
                            "Transaction Type": "Redemption"
                        }
                    ]
                }
            }
        }
    }

Here are the response details for a successful request:

  • HTTP Code: 200

  • Content-Type: application/json

  • Response body:
    {
        "Base LWA LOY Transaction": {
            "IntObjectFormat": "Siebel Hierarchical",
            "IntObjectName": "Base LWA LOY Transaction",
            "MessageType": "Integration Object",
            "LWA LOY Transaction": {
                "Status": "Processed",
                "Transaction Id": "88-318UCF",
                "Points": "350",
                "Transaction Number": "296-183490719",
                "Sub Status": "Success",
                "Processing Log": "Admin - Redemptions\r\n  Got Redeemed. 50 Regular\r\n  Got Redeemed. 300 Regular\r\nNot satisfy the filter.\r\n 1-> Admin - Accruals;\r\n 1-> Admin - Cancellation;\r\n 1-> Admin - Gift;\r\n 1-> Admin - Gift Points;\r\n 1-> Admin - Loan;\r\n 1-> Admin - Lounge purchase;\r\n 1-> Admin - Membership Renewal;\r\n 1-> Admin - Point Reactivation;\r\n 1-> Admin - Points Purchase;\r\n 1-> Admin - Promotion Enrolment;\r\n 1-> Admin - Voucher;\r\n 1-> Admin - Voucher Reissue;\r\n 1-> Admin – Point Transfer;\r\n 1-> Batch Redemption;\r\n 1-> CT Accruals;\r\n 1-> CT Debits;\r\n 1-> Program - Transfer Points;\r\n 1-> Program-Enrolment;\r\n 1-> Recurring Rewards on Primary Member Txn;\r\n 1-> Special Points based on Product Line;\r\n;Not within start/end dates.\r\n 1-> Special Points based on Product Line;\r\n;",
                "LOY Transaction Redemption Item": [
                    {
                        "Point Type": "Regular",
                        "Promotion Name": "Admin - Redemptions",
                        "Redeemed Value": "50",
                        "Accrual Item Id": "88-318S1A"
                    },
                    {
                        "Point Type": "Regular",
                        "Promotion Name": "Admin - Redemptions",
                        "Redeemed Value": "300",
                        "Accrual Item Id": "88-318JJQ"
                    }
                ]
            }
        }
    }
  • Here are the response details for a successful request when a loan is issued to a loyalty member:

    • HTTP Code: 200

    • Content-Type: application/json

    • Response body:
      {
          "Base LWA LOY Transaction": {
              "IntObjectFormat": "Siebel Hierarchical",
              "IntObjectName": "Base LWA LOY Transaction",
              "MessageType": "Integration Object",
              "LWA LOY Transaction": [
                  {
                      "Status": "Processed",
                      "Transaction Id": "88-318UD8",
                      "Points": "100",
                      "Transaction Number": "296-183490748",
                      "Sub Status": "Success",
                      "Processing Log": "Admin - Loan\r\n  Got Applied. 100 Non Qualifying. Regular\r\nNot satisfy the filter.\r\n 1-> Admin - Accruals;\r\n 1-> Admin - Cancellation;\r\n 1-> Admin - Gift;\r\n 1-> Admin - Gift Points;\r\n 1-> Admin - Lounge purchase;\r\n 1-> Admin - Membership Renewal;\r\n 1-> Admin - Point Reactivation;\r\n 1-> Admin - Points Purchase;\r\n 1-> Admin - Promotion Enrolment;\r\n 1-> Admin - Redemptions;\r\n 1-> Admin - Voucher;\r\n 1-> Admin - Voucher Reissue;\r\n 1-> Admin – Point Transfer;\r\n 1-> Batch Redemption;\r\n 1-> CT Accruals;\r\n 1-> CT Debits;\r\n 1-> Program - Transfer Points;\r\n 1-> Program-Enrolment;\r\n 1-> Recurring Rewards on Primary Member Txn;\r\n 1-> Special Points based on Product Line;\r\n;Not within start/end dates.\r\n 1-> Special Points based on Product Line;\r\n;",
                      "LOY Transaction Accrual Item": {
                          "Point Type": "Regular",
                          "Accrualed Value": "100",
                          "Promotion Name": "Admin - Loan",
                          "Point Block Name": "Indigo Points",
                          "": {}
                      }
                  },
                  {
                      "Status": "Processed",
                      "Transaction Id": "88-318UD3",
                      "Points": "350",
                      "Transaction Number": "296-183490743",
                      "Sub Status": "Success",
                      "Processing Log": "Admin - Redemptions\r\n  Got Redeemed. 100 Regular\r\n  Got Redeemed. 250 Regular\r\nNot satisfy the filter.\r\n 1-> Admin - Accruals;\r\n 1-> Admin - Cancellation;\r\n 1-> Admin - Gift;\r\n 1-> Admin - Gift Points;\r\n 1-> Admin - Loan;\r\n 1-> Admin - Lounge purchase;\r\n 1-> Admin - Membership Renewal;\r\n 1-> Admin - Point Reactivation;\r\n 1-> Admin - Points Purchase;\r\n 1-> Admin - Promotion Enrolment;\r\n 1-> Admin - Voucher;\r\n 1-> Admin - Voucher Reissue;\r\n 1-> Admin – Point Transfer;\r\n 1-> Batch Redemption;\r\n 1-> CT Accruals;\r\n 1-> CT Debits;\r\n 1-> Program - Transfer Points;\r\n 1-> Program-Enrolment;\r\n 1-> Recurring Rewards on Primary Member Txn;\r\n 1-> Special Points based on Product Line;\r\n;Not within start/end dates.\r\n 1-> Special Points based on Product Line;\r\n;",
                      "LOY Transaction Redemption Item": [
                          {
                              "Point Type": "Regular",
                              "Promotion Name": "Admin - Redemptions",
                              "Redeemed Value": "100",
                              "Accrual Item Id": "88-318UDC"
                          },
                          {
                              "Point Type": "Regular",
                              "Promotion Name": "Admin - Redemptions",
                              "Redeemed Value": "250",
                              "Accrual Item Id": "88-318UDC"
                          }
                      ]
                  }
              ]
          }
      }