POST
{{baseAuthURL}}/v2/accesstokens
grant_type=client_credentials&bizType=B2B

Generate OAuth 2.0 Access Token

This endpoint generates a Bearer token required for all subsequent API calls.

Authentication: HTTP Basic Auth with base64-encoded clientId:secret

Body Parameters:

  • grant_type: Always "client_credentials"
  • bizType: Always "B2B"
200 OK
Response time: 145 ms Size: 0.3 KB
{ "responseCode": "SUCCESS", "accessToken": "bed338ad-8f2a-4c5e-9b12-7f3e9c5d2a1b", "tokenType": "Bearer", "expiresIn": 85502, "scope": "default" }
POST
{{base_url}}/pdi-conexxus/rewards/get
Required
Required
Required
Required
{ "requestHeader": { "posLoyaltyInterfaceVersion": "1.1", "vendorName": "PDI", "vendorModelVersion": "1.0", "posSequenceId": "{{posSequenceId}}", "storeLocationId": "{{siteCode}}" }, "loyaltyId": { "value": "8158214490", "entryMethod": "manual" }, "transactionData": { "transactionHeader": { "trainingModeFlag": "no", "outsideSalesFlag": "yes", "registerId": "15", "cashierId": "1", "posTransactionId": "{{posTransactionId}}", "businessPeriod": { "businessDate": "{{businessDate}}" } } }, "fuelPriceData": { "fuelPrice": [ { "fuelGradeId": "001", "regularSellPrice": { "value": "2.109", "currency": "USD" } } ] } }

Get Rewards - Step 1 (Fuel Prices)

Initial request to retrieve available fuel rewards based on current fuel prices and customer loyalty status.

Use Case: When customer presents loyalty ID at pump, send current fuel prices to determine applicable discount rewards.

200 OK
Response time: 245 ms Size: 1.2 KB
{ "responseHeader": { "posLoyaltyInterfaceVersion": "1.1", "loyaltySequenceId": "020336398", "overallResult": "success" }, "loyaltyIdValidFlag": { "loyaltyIDValid": "yes" }, "rewardActions": { "prepayFuelRewards": [ { "loyaltyRewardId": "RISE-RB-2239993666", "rewardPromptTextShort": "Use $0.10/Gal Y/N?", "rewardLimit": { "value": 20 } } ] } }
POST
{{base_url}}/pdi-conexxus/rewards/get
Required
Required
{ "requestHeader": { ... }, "loyaltyId": { "value": "8158214490" }, "rewardSelectionData": { "loyaltyRewardId": "RISE-RB-2239993666", "rewardSelectionFlag": "yes", "fuelGradeSelection": "001" } }

Get Rewards - Step 2 (Apply Selection)

Follow-up after customer accepts/declines reward offer. Applies selection before pump operation.

200 OK
Response time: 189 ms Size: 1.0 KB
{ "responseHeader": { "overallResult": "success" }, "rewardConfirmation": { "discountAmount": 0.10, "appliedToFuelGrade": "001" } }
POST
{{base_url}}/pdi-conexxus/rewards/finalize
Required
Required
{ "requestHeader": { ... }, "loyaltySequenceId": "020336398", "transactionData": { "fuelLineItem": [ { "fuelGradeId": "001", "quantity": 10.5, "loyaltyDiscount": 0.10 } ] } }

Finalize Rewards

Final call after transaction complete. Commits accruals and redemptions to loyalty system.

200 OK
Response time: 312 ms Size: 0.8 KB
{ "responseHeader": { "overallResult": "success" }, "accrualConfirmation": { "pointsAdded": 52 } }
POST
{{base_url}}/pdi-conexxus/online-status
Required
Required
{ "requestHeader": { "posLoyaltyInterfaceVersion": "1.1", "vendorName": "PDI", "posSequenceId": "{{posSequenceId}}" } }

Online Status Check

Health check to verify loyalty system availability. Poll every 30-60s to enable/disable loyalty features.

200 OK
Response time: 87 ms Size: 0.2 KB
{ "responseHeader": { "overallResult": "success" }, "promptForLoyaltyFlag": "yes" }
POST
{{base_url}}/pdi-conexxus/rewards/status
Required
Required
{ "requestHeader": { ... }, "loyaltyId": { "value": "8158214490" }, "rewardStatusType": "summary" }

Get Reward Status

Retrieve customer's current loyalty account status and available rewards. Display on POS.

200 OK
Response time: 156 ms Size: 0.5 KB
{ "responseHeader": { "overallResult": "success" }, "customerSummary": { "customerName": "John Smith", "pointsAvailable": 1850 } }
POST
{{base_url}}/pdi-conexxus/rewards/cancel
Required
Required
{ "requestHeader": { ... }, "loyaltySequenceId": "020336398", "cancellationReason": "customer_request" }

Cancel Transaction

Void transaction and reverse any rewards. Used for customer change of mind or error scenarios.

200 OK
Response time: 201 ms Size: 0.2 KB
{ "responseHeader": { "overallResult": "success" } }
POST
{{base_url}}/pdi-conexxus/redemption/cancel
Required
Required
{ "requestHeader": { ... }, "loyaltyRewardIds": [ "RISE-RB-2239993666" ] }

Cancel Redemption (Decline Rewards)

Log when customer declines offered rewards for analytics.

Response: 204 No Content

204 No Content
Response time: 98 ms Size: 0 KB
(empty response)
POST
{{base_url}}/pdi-conexxus/period/end
Required
Required
{ "requestHeader": { ... }, "businessPeriod": { "businessDate": "2024-03-15" }, "periodTotals": { "loyaltySalesAmount": 12548.75, "transactionCount": 847, "discountAmount": 524.30 } }

End Period

Send period-end rollup totals for reconciliation. Called once per business day at end-of-day.

200 OK
Response time: 512 ms Size: 0.4 KB
{ "responseHeader": { "overallResult": "success" }, "loyaltyReportLocation": "https://reporting.rise-connect.com/periods/2024-03-15" }
POST
{{base_url}}/pdi-conexxus/rewards/finalize-offline
Required
Required
{ "requestHeader": { ... }, "loyaltySequenceId": "020336398", "offlineFlag": true, "transactionData": { ... } }

Finalize Rewards (Offline Mode)

Same as finalize, but queued for offline/batch processing when connection is restored.

200 OK
Response time: 234 ms Size: 0.1 KB
{ "responseHeader": { "overallResult": "success" } }