LoyaltyAPIInterface

The LoyaltyApiInterface class defines the interface for creating, formatting, and sending REST requests to the Salesforce service. This class stores REST API call definitions for all Loyalty API.

LoyaltyAPIInterface

1public interface LoyaltyApiInterface

Method Summary 

Modifier and TypeMethodMethod DetailDescription
abstract Result<EnrollmentResponse>postEnrollment(@Url() String url, @Body() EnrollmentRequest json)postEnrollmentCreates a POST request for an individual enrollment for the loyalty program.
abstract Result<MemberProfileResponse>getMemberProfile(@Url() String url, @Query(value = "memberId") String memberId, @Query(value = "membershipNumber") String membershipNumber, @Query(value = "programCurrencyName") String programCurrencyName)getMemberProfileRetrieves profile details related to the member ID.
abstract Result<MemberBenefitsResponse>getMemberBenefits(@Url() String url, @Query(value = "membershipNumber") String membershipNumber)getMemberBenefitsRetrieves benefits related to the member ID.
abstract Result<TransactionsResponse>getTransactions(@Url() String url, @Query(value = "pageNumber") Integer pageNumber, @Query(value = "journalTypeName") String journalTypeName, @Query(value = "journalSubTypeName") String journalSubTypeName, @Query(value = "periodStartDate") String periodStartDate, @Query(value = "periodEndDate") String periodEndDate)getTransactionsRetrieves transactions related to the member.
abstract Result<PromotionsResponse>getEligiblePromotions(@Url() String url, @Body() PromotionsRequest requestBody)getEligiblePromotionsRetrieves promotions that a promotion is eligible to enroll for.
abstract Result<EnrollPromotionsResponse>enrollInPromotion(@Url() String url, @Body() PromotionsRequest requestBody)enrollInPromotionEnrolls member in a promotion.
abstract Result<UnenrollPromotionResponse>unenrollPromotion(@Url() String url, @Body() PromotionsRequest requestBody)unenrollPromotionOpts out a member from an available promotion.
abstract Result<VoucherResult>getVouchers(@Url() String url, @Query(value = "voucherStatus") String voucherStatus, @Query(value = "pageNumber") Integer pageNumber, @Query(value = "productId") String productId, @Query(value = "productCategoryId") String productCategoryId, @Query(value = "productName") String productName, @Query(value = "productCategoryName") String productCategoryName)getVouchersRetrieves vouchers that are available to the program member.

Example postEnrollment:

1@POST() abstract Result<EnrollmentResponse> postEnrollment(@Url() String url, @Body() EnrollmentRequest json)

Example getMemberProfile:

1@GET() abstract Result<MemberProfileResponse> getMemberProfile(@Url() String url, @Query(value = "memberId") String memberId, @Query(value = "membershipNumber") String membershipNumber, @Query(value = "programCurrencyName") String programCurrencyName)

Example getMemberBenefits:

1@GET() abstract Result<MemberBenefitsResponse> getMemberBenefits(@Url() String url, @Query(value = "membershipNumber") String membershipNumber)

Example getTransactions:

1@GET() abstract Result<TransactionsResponse> getTransactions(@Url() String url, @Query(value = "pageNumber") Integer pageNumber, @Query(value = "journalTypeName") String journalTypeName, @Query(value = "journalSubTypeName") String journalSubTypeName, @Query(value = "periodStartDate") String periodStartDate, @Query(value = "periodEndDate") String periodEndDate)

Example getEligiblePromotions:

1@POST() abstract Result<PromotionsResponse> getEligiblePromotions(@Url() String url, @Body() PromotionsRequest requestBody)

Example enrollInPromotion:

1@POST() abstract Result<EnrollPromotionsResponse> enrollInPromotion(@Url() String url, @Body() PromotionsRequest requestBody)

Example unenrollPromotion:

1@POST() abstract Result<UnenrollPromotionResponse> unenrollPromotion(@Url() String url, @Body() PromotionsRequest requestBody)

Example getVouchers:

1@GET() abstract Result<VoucherResult> getVouchers(@Url() String url, @Query(value = "voucherStatus") String voucherStatus, @Query(value = "pageNumber") Integer pageNumber, @Query(value = "productId") String productId, @Query(value = "productCategoryId") String productCategoryId, @Query(value = "productName") String productName, @Query(value = "productCategoryName") String productCategoryName)