Class ProfileAPI

  • All Implemented Interfaces:
    com.cheetahdigital.corekit.rest.RestController

    public class ProfileAPI
    extends com.cheetahdigital.corekit.models.module.Controller
    Cheetah Loyalty Profile Module

    API Controller class for Profile

    • Field Summary

      • Fields inherited from class com.cheetahdigital.corekit.models.module.Controller

        STANDARD_DATE_FORMAT, TIMEZONE_DATE_FORMAT
    • Constructor Summary

      Constructors 
      Constructor Description
      ProfileAPI()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void changePassword​(ProfileParams parameters, ProfileFields fields, com.cheetahdigital.corekit.models.module.ListenerModel<com.cheetahdigital.corekit.models.BaseModel<com.cheetahdigital.corekit.models.data.BaseData>,​com.cheetahdigital.corekit.models.data.BaseData> listener)
      Change Password API.
      void connectIdentity​(java.lang.String provider, ProfileParams parameters, ProfileFields fields, com.cheetahdigital.corekit.models.module.Listener<com.cheetahdigital.corekit.models.responses.SuccessResponse> listener)
      Connects a third party identity to the member using a unique token from the 3rd party.
      void deleteAccount​(ProfileParams profileParameters, ProfileFields profileFields, com.cheetahdigital.corekit.models.module.Listener<com.cheetahdigital.corekit.models.responses.SuccessResponse> listener)
      Delete Profile Account API.
      void disconnectIdentity​(java.lang.String provider, ProfileParams parameters, ProfileFields fields, com.cheetahdigital.corekit.models.module.Listener<com.cheetahdigital.corekit.models.responses.SuccessResponse> listener)
      Disconnects the identity from the member profile.
      void getConnectedIdentities​(ProfileParams parameters, boolean clearCache, com.cheetahdigital.corekit.models.module.ListenerModel<com.cheetahdigital.corekit.models.BaseModel<java.util.List<Identity>>,​java.util.List<Identity>> listener)
      Connected Identities API.
      void getProfile​(ProfileParams profileParameters, boolean clearCache, com.cheetahdigital.corekit.models.module.Listener<Profile> listener)
      Profile API.
      void getProfileMetadata​(ProfileParams profileParameters, boolean clearCache, com.cheetahdigital.corekit.models.module.Listener<com.cheetahdigital.corekit.models.BaseGenericModel<java.util.List<Metadata>>> listener)
      Profile Metadata API.
      void requestOtpCode​(ProfileParams profileParameters, com.cheetahdigital.corekit.models.module.Listener<com.cheetahdigital.corekit.models.responses.SuccessResponse> listener)
      API to request OTP code.
      void submitReferralCode​(ProfileParams parameters, com.cheetahdigital.corekit.models.module.Listener<com.cheetahdigital.corekit.models.responses.SuccessResponse> listener)
      Submit a referral code
      void trackActive​(ProfileParams parameters, com.cheetahdigital.corekit.models.module.ListenerModel<com.cheetahdigital.corekit.models.BaseModel<com.cheetahdigital.corekit.models.data.BaseData>,​com.cheetahdigital.corekit.models.data.BaseData> listener)
      API for tracking.
      void updateAvatar​(ProfileParams parameters, okhttp3.MultipartBody.Part avatar, com.cheetahdigital.corekit.models.module.ListenerModel<com.cheetahdigital.corekit.models.BaseModel<Avatar>,​Avatar> listener)
      Update Avatar API.
      void updateProfile​(ProfileParams parameters, ProfileFields fields, com.cheetahdigital.corekit.models.module.ListenerModel<com.cheetahdigital.corekit.models.BaseModel<MemberAttributes>,​MemberAttributes> listener)
      Update Profile API.
      • Methods inherited from class com.cheetahdigital.corekit.models.module.Controller

        createCache, createHttpClient, createRetrofitInterface, evictAllCache, getGsonConfiguration, getRestAdapter, getTimeoutConnectionInSeconds, getTimeoutSocketInSeconds, initialize, removeResponsesFromCache
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ProfileAPI

        public ProfileAPI()
    • Method Detail

      • getProfileMetadata

        public void getProfileMetadata​(ProfileParams profileParameters,
                                       boolean clearCache,
                                       com.cheetahdigital.corekit.models.module.Listener<com.cheetahdigital.corekit.models.BaseGenericModel<java.util.List<Metadata>>> listener)
        Profile Metadata API. Should be called before calling the Profile API.
        Parameters:
        profileParameters - the ProfileParams for Metadata API
        clearCache - set to true if cache should be cleared, otherwise false
        listener - handler for the response
      • getProfile

        public void getProfile​(ProfileParams profileParameters,
                               boolean clearCache,
                               com.cheetahdigital.corekit.models.module.Listener<Profile> listener)
        Profile API. Retrieves the values for the member attributes / profile. Note that values will be matched from the Profile Metadata, hence, it is important that Profile Metadata is already present before using the Profile API.
        Parameters:
        profileParameters - the ProfileParams for Profile API. Accepted parameters include ProfileParams.Builder.setIncludeSegments(Boolean)
        clearCache - set to true if cache should be cleared, otherwise false
        listener - handler for the response
      • requestOtpCode

        public void requestOtpCode​(ProfileParams profileParameters,
                                   com.cheetahdigital.corekit.models.module.Listener<com.cheetahdigital.corekit.models.responses.SuccessResponse> listener)
        API to request OTP code. sent from the user email.
        Parameters:
        profileParameters - the ProfileParams for Profile API.
        listener - handler for the response
      • updateProfile

        public void updateProfile​(ProfileParams parameters,
                                  ProfileFields fields,
                                  com.cheetahdigital.corekit.models.module.ListenerModel<com.cheetahdigital.corekit.models.BaseModel<MemberAttributes>,​MemberAttributes> listener)
        Update Profile API. Updates the member attributes from the values of the ProfileFields. The keys for the profile field must be taken from the keys in the Profile metadata, if not, update profile will not be successful.
        Parameters:
        parameters - the ProfileParams for query parameters
        fields - the ProfileFields for field parameters
        listener - handler of the response
      • updateAvatar

        public void updateAvatar​(ProfileParams parameters,
                                 okhttp3.MultipartBody.Part avatar,
                                 com.cheetahdigital.corekit.models.module.ListenerModel<com.cheetahdigital.corekit.models.BaseModel<Avatar>,​Avatar> listener)
        Update Avatar API. Updates the Avatar of the member, this uploads an image using a MultipartBody.Part object.
        Parameters:
        parameters - the ProfileParams for query parameters
        avatar - the image file converted to a MultipartBody.Part object
        listener - handler of the response
      • trackActive

        public void trackActive​(ProfileParams parameters,
                                com.cheetahdigital.corekit.models.module.ListenerModel<com.cheetahdigital.corekit.models.BaseModel<com.cheetahdigital.corekit.models.data.BaseData>,​com.cheetahdigital.corekit.models.data.BaseData> listener)
        API for tracking. Updates the user last active timestamp in the server.
        Parameters:
        parameters - the ProfileParams for query parameters
        listener - handler of the response
      • getConnectedIdentities

        public void getConnectedIdentities​(ProfileParams parameters,
                                           boolean clearCache,
                                           com.cheetahdigital.corekit.models.module.ListenerModel<com.cheetahdigital.corekit.models.BaseModel<java.util.List<Identity>>,​java.util.List<Identity>> listener)
        Connected Identities API. Get all identities connected to the member
        Parameters:
        parameters - the ProfileParams for query parameters
        clearCache - set to true if cache should be cleared, otherwise false
        listener - handler of response
      • connectIdentity

        public void connectIdentity​(java.lang.String provider,
                                    ProfileParams parameters,
                                    ProfileFields fields,
                                    com.cheetahdigital.corekit.models.module.Listener<com.cheetahdigital.corekit.models.responses.SuccessResponse> listener)
        Connects a third party identity to the member using a unique token from the 3rd party.
        Parameters:
        provider - the 3rd party provider (e.g. facebook, instagram, or garmin
        parameters - the ProfileParams for query parameters
        fields - the ProfileFields for field parameters, should include values for fields ProfileFields.setIdentityToken(String); other optional fields will be based on the provider to be connected, see further documentation
        listener - handler of response
      • disconnectIdentity

        public void disconnectIdentity​(java.lang.String provider,
                                       ProfileParams parameters,
                                       ProfileFields fields,
                                       com.cheetahdigital.corekit.models.module.Listener<com.cheetahdigital.corekit.models.responses.SuccessResponse> listener)
        Disconnects the identity from the member profile.
        Parameters:
        provider - the 3rd party provider (e.g. facebook, instagram, or garmin
        parameters - the ProfileParams for query parameters
        fields - the ProfileFields for field parameters, should include value for field ProfileFields.setUID(String) other optional fields will be based on the provider to be disconnected, see further documentation
        listener - handler of response
      • submitReferralCode

        public void submitReferralCode​(ProfileParams parameters,
                                       com.cheetahdigital.corekit.models.module.Listener<com.cheetahdigital.corekit.models.responses.SuccessResponse> listener)
        Submit a referral code
        Parameters:
        parameters - the ProfileParams for query parameters
        listener - handler of response