TapTalk.io Documentation
  • Introduction
  • OneTalk Omnichannel Documentation
    • Getting Started with OneTalk
      • Team Members
      • Add Topic
      • Assign Agent to Topic
      • Paid Proactive Chat
    • Channel Integration
      • Telegram Integration
      • WhatsApp SME Integration
      • Instagram DM Integration
      • Facebook Messenger Integration
      • Live Chat Integration (iOS, Android, Web)
        • OneTalk Live Chat for Android
          • Get Started
          • Event Listener
          • Authentication
          • Case & Topic
          • Navigate Live Chat UI
          • Customize UI Appearance
        • OneTalk Live Chat for iOS
          • Get Started
          • Background Process in TapTalk.io Omnichannel iOS
          • Event Delegate
          • Authentication
          • Case & Topic
          • Navigate Live Chat UI
          • Customize UI Appearance
        • OneTalk Live Chat for Web
          • Get Started
          • Callback
          • Method
        • OneTalk Live Chat for React Native
          • Get Started - Android
          • Authentication - Android
          • Get Started - iOS
          • Authentication - iOS
        • OneTalk Live Chat for Flutter
          • Get Started - Android
          • Get Started - iOS
      • Google Business Messages Integration
      • Google Business Profile Integration
      • Tokopedia Integration
    • Integration API
      • Inbox API
      • User/Contact API
    • Live Chat Widget Callback Function
    • Social Channel Button
    • Custom Chatbot Integration
      • Get Started
      • Edit or Delete Chatbot
      • Development
    • QnA via API
    • Webhook
  • PowerTalk Chat SDK Documentation
    • Getting Started with PowerTalk
    • PowerTalk Android
      • Get Started
      • Enable Chat Features
      • Authentication
      • TapUI and TapCore
      • Background Process in TapTalk.io
      • Connection
      • Event Listener
      • Push Notification
      • General
      • User
      • Room List
        • Room List - TapUI
        • Room List - TapCore
      • Chat Room and Messages
        • Chat Room and Messages - TapUI
        • Chat Room and Messages - TapCore
      • Contact
      • Message Type
      • Customize UI Appearance
      • Customize Chat Features
      • Customize Chat Message Bubble
      • Customize Navigation Bar
      • Deep Linking
      • Error Codes
    • PowerTalk iOS
      • Get Started
      • TapUI and TapCore
      • Background Process in TapTalk.io
      • Implement Application Delegate
      • Authentication
      • Connection
      • Event Delegate
      • Push Notification
      • General
      • User
      • Room List
        • Room List - TapUI
        • Room List - TapCore
      • Chat Room and Messages
        • Chat Room and Messages - TapUI
        • Chat Room and Messages - TapCore
      • Contact
      • Message Type
      • Customize UI Appearance
      • Customize Chat Features
      • Customize Chat Message Bubble
      • Customize Navigation Bar
      • Deep Linking
      • Error Codes
    • PowerTalk React Native
      • Get Started - Android
      • Get Started - iOS
    • PowerTalk Flutter
      • Get Started - Android
      • Get Started - iOS
    • Javascript SDK
      • Get Started
      • Authentication
      • Connection
      • General
      • Event Listener
      • User
      • Room List
      • Chat Room
      • Messages
      • Contact
      • Message Type
    • Server API
      • Get Started
      • Base URL
      • Authentication
      • User
      • Contact
      • Message
      • Room
    • Webhook
      • Get Started
      • Webhook Payload
  • MeetTalk SDK Documentation
    • Getting Started with MeetTalk
    • MeetTalk Android
      • Get Started
      • Event Listener
    • MeetTalk iOS
      • Get Started
      • Implement Application Delegate
      • Event Delegate
  • SendTalk API Documentation
    • Introduction
    • Whatsapp Verification
Powered by GitBook
On this page
  • Get All User Contacts
  • Fetch All User Contacts from Server
  • Get Contact Detail Info with TapTalk User ID
  • Get Contact Detail Info with Client User ID
  • Add User to Contact with User ID
  • Add User to Contact with Phone Number
  • Remove User from Contact
  • Save User Data
  • Search Local Contact
  • Report User
  • Report Message
  • Block User
  • Unblock User
  • Get Blocked User List
  • Get Blocked User IDs
  • Get Groups in Common

Was this helpful?

  1. PowerTalk Chat SDK Documentation
  2. PowerTalk Android

Contact

If your application is using the core implementation type, you can use the TapCoreContactManager class to manage your user's contacts.

TapTalk Contact Method

Description

Get all of the user's contact data from local storage

Fetch the user's latest contact data from TapTalk.io server

Get a detailed contact info with selected TapTalk.io user ID

Get a detailed contact info with selected Client user ID (xcUserID)

Add a user with selected TapTalk.io user ID to the active user's contacts

Add a user with selected phone number to the active user's contacts

Remove a user with selected TapTalk.io user ID from the active user's contacts

Save or update existing user data to local cache

Search the active user's contacts from the device's local storage with a keyword

Submit a report for a selected user.

Submit a report for a selected message.

Block a user from sending or receiving messages.

Unblock a blocked user.

Retrieve a list of blocked users.

Retrieve a list of IDs from blocked users.

Retrieve the list of groups in common with another user.

Get All User Contacts

Get all of the user's contact data from TapTalk.io.

import io.taptalk.TapTalk.Manager.TapCoreContactManager;
import io.taptalk.TapTalk.Listener.TapCoreGetMultipleContactListener;
import io.taptalk.TapTalk.Model.TAPUserModel;

...

TapCoreContactManager.getInstance().getAllUserContacts(new TapCoreGetMultipleContactListener() {
    @Override
    public void onSuccess(List<TAPUserModel> users) {
        // Returns a list of the active user's TapTalk.io contacts
    }

    @Override
    public void onError(String errorCode, String errorMessage) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreContactManager
import io.taptalk.TapTalk.Listener.TapCoreGetMultipleContactListener
import io.taptalk.TapTalk.Model.TAPUserModel

...

TapCoreContactManager.getInstance().getAllUserContacts(object : TapCoreGetMultipleContactListener() {
    override fun onSuccess(users: List<TAPUserModel>?) {
        // Returns a list of the active user's TapTalk.io contacts
    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }
})

Fetch All User Contacts from Server

Calling fetchAllUserContactsFromServer will fetch the user's latest contact data from TapTalk.io server and syncs it to the device's local storage.

import io.taptalk.TapTalk.Manager.TapCoreContactManager;
import io.taptalk.TapTalk.Listener.TapCoreGetMultipleContactListener;
import io.taptalk.TapTalk.Model.TAPUserModel;

...

TapCoreContactManager.getInstance().fetchAllUserContactsFromServer(new TapCoreGetMultipleContactListener() {
    @Override
    public void onSuccess(List<TAPUserModel> users) {
        // Returns a list of the active user's TapTalk.io contacts
    }

    @Override
    public void onError(String errorCode, String errorMessage) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreContactManager
import io.taptalk.TapTalk.Listener.TapCoreGetMultipleContactListener
import io.taptalk.TapTalk.Model.TAPUserModel

...

TapCoreContactManager.getInstance().fetchAllUserContactsFromServer(object : TapCoreGetMultipleContactListener() {
    override fun onSuccess(users: List<TAPUserModel>?) {
        // Returns a list of the active user's TapTalk.io contacts
    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }
})

Get Contact Detail Info with TapTalk User ID

Get a detailed contact info with selected TapTalk.io user ID.

import io.taptalk.TapTalk.Manager.TapCoreContactManager;
import io.taptalk.TapTalk.Listener.TapCoreGetContactListener;
import io.taptalk.TapTalk.Model.TAPUserModel;

...

TapCoreContactManager.getInstance().getUserDataWithUserID(USER_ID, new TapCoreGetContactListener() {
    @Override
    public void onSuccess(TAPUserModel user) {
        // Returns detailed user info
    }

    @Override
    public void onError(String errorCode, String errorMessage) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreContactManager
import io.taptalk.TapTalk.Listener.TapCoreGetContactListener
import io.taptalk.TapTalk.Model.TAPUserModel

...

TapCoreContactManager.getInstance().getUserDataWithUserID(USER_ID, object : TapCoreGetContactListener() {
    override fun onSuccess(user: TAPUserModel?) {
        // Returns detailed user info
    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }
})

Parameters USER_ID: (String) Taptalk.io User ID of the selected user

Get Contact Detail Info with Client User ID

Get a detailed contact info with selected Client user ID (XCUserID).

import io.taptalk.TapTalk.Manager.TapCoreContactManager;
import io.taptalk.TapTalk.Listener.TapCoreGetContactListener;
import io.taptalk.TapTalk.Model.TAPUserModel;

...

TapCoreContactManager.getInstance().getUserDataWithXCUserID(XC_USER_ID, new TapCoreGetContactListener() {
    @Override
    public void onSuccess(TAPUserModel user) {
        // Returns detailed user info
    }

    @Override
    public void onError(String errorCode, String errorMessage) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreContactManager
import io.taptalk.TapTalk.Listener.TapCoreGetContactListener
import io.taptalk.TapTalk.Model.TAPUserModel

...

TapCoreContactManager.getInstance().getUserDataWithXCUserID(XC_USER_ID, object : TapCoreGetContactListener() {
    override fun onSuccess(user: TAPUserModel?) {
        // Returns detailed user info
    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }
})

Parameters XC_USER_ID: (String) Client User ID of the selected user

Add User to Contact with User ID

Add a user with selected TapTalk.io user ID to the active user's contacts.

import io.taptalk.TapTalk.Manager.TapCoreContactManager;
import io.taptalk.TapTalk.Listener.TapCoreGetContactListener;
import io.taptalk.TapTalk.Model.TAPUserModel;

...

TapCoreContactManager.getInstance().addToTapTalkContactsWithUserID(USER_ID, new TapCoreGetContactListener() {
    @Override
    public void onSuccess(TAPUserModel user) {
        // Added to contacts successfully
    }

    @Override
    public void onError(String errorCode, String errorMessage) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreContactManager
import io.taptalk.TapTalk.Listener.TapCoreGetContactListener
import io.taptalk.TapTalk.Model.TAPUserModel

...

TapCoreContactManager.getInstance().addToTapTalkContactsWithUserID(USER_ID, object : TapCoreGetContactListener() {
    override fun onSuccess(user: TAPUserModel?) {
        // Added to contacts successfully
    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }
})

Parameters USER_ID: (String) Taptalk.io User ID of the contact to be added

Add User to Contact with Phone Number

Add a user with selected phone number to the active user's contacts.

import io.taptalk.TapTalk.Manager.TapCoreContactManager;
import io.taptalk.TapTalk.Listener.TapCoreGetContactListener;
import io.taptalk.TapTalk.Model.TAPUserModel;

...

TapCoreContactManager.getInstance().addToTapTalkContactsWithPhoneNumber(PHONE_NUMBER, new TapCoreGetContactListener() {
    @Override
    public void onSuccess(TAPUserModel user) {
        // Added to contacts successfully
    }

    @Override
    public void onError(String errorCode, String errorMessage) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreContactManager
import io.taptalk.TapTalk.Listener.TapCoreGetContactListener
import io.taptalk.TapTalk.Model.TAPUserModel

...

TapCoreContactManager.getInstance().addToTapTalkContactsWithPhoneNumber(PHONE_NUMBER, object : TapCoreGetContactListener() {
    override fun onSuccess(user: TAPUserModel?) {
        // Added to contacts successfully
    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }
})

Parameters PHONE_NUMBER: (String) phone number of the contact to be added

Remove User from Contact

Remove a user with selected TapTalk.io user ID from the active user's contacts.

import io.taptalk.TapTalk.Manager.TapCoreContactManager;
import io.taptalk.TapTalk.Listener.TapCommonListener;

...

TapCoreContactManager.getInstance().removeFromTapTalkContacts(USER_ID, new TapCommonListener() {
    @Override
    public void onSuccess(String successMessage) {
        // Removed from contacts successfully
    }

    @Override
    public void onError(String errorCode, String errorMessage) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreContactManager
import io.taptalk.TapTalk.Listener.TapCommonListener

...

TapCoreContactManager.getInstance().removeFromTapTalkContacts(USER_ID, object : TapCommonListener() {
    override fun onSuccess(successMessage: String?) {
        // Removed from contacts successfully
    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }
})

Parameters USER_ID: (String) Taptalk.io User ID of the contact to remove

Save User Data

Save or update existing user data to local cache.

import io.taptalk.TapTalk.Manager.TapCoreContactManager;
import io.taptalk.TapTalk.Model.TAPUserModel;

...

TapCoreContactManager.getInstance().saveUserData(USER);
import io.taptalk.TapTalk.Manager.TapCoreContactManager
import io.taptalk.TapTalk.Model.TAPUserModel

...

TapCoreContactManager.getInstance().saveUserData(USER)

Parameters USER: (TAPUserModel) the user data model to be saved

Search Local Contact

Call this method to search the active user's contacts from the device's local storage with a keyword. Provided keyword will be used to filter the contacts' full name in the search result.

import io.taptalk.TapTalk.Manager.TapCoreContactManager;
import io.taptalk.TapTalk.Listener.TapCoreGetMultipleContactListener;
import io.taptalk.TapTalk.Model.TAPUserModel;

...

TapCoreContactManager.getInstance().searchLocalContactByName(KEYWORD, new TapCoreGetMultipleContactListener() {
    @Override
    public void onSuccess(List<TAPUserModel> users) {
        // Returns filtered contacts
    }

    @Override
    public void onError(String errorCode, String errorMessage) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreContactManager
import io.taptalk.TapTalk.Listener.TapCoreGetMultipleContactListener
import io.taptalk.TapTalk.Model.TAPUserModel

...

TapCoreContactManager.getInstance().searchLocalContactByName(KEYWORD, object : TapCoreGetMultipleContactListener() {
    override fun onSuccess(users: List<TAPUserModel>?) {
        // Returns filtered contacts
    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }
})

Parameters KEYWORD: (String) search keyword to filter full name

Report User

You may call this method to submit a report for a selected user. Submitted reports can then be viewed through the dashboard.

import io.taptalk.TapTalk.Manager.TapCoreContactManager;
import io.taptalk.TapTalk.Listener.TapCommonListener;

...

TapCoreContactManager.getInstance().reportUser(
    USER_ID,
    CATEGORY,
    IS_OTHER_CATEGORY,
    REASON,
    new TapCommonListener() {
        @Override
        public void onSuccess(String successMessage) {
            // Successfully reported user
        }
    
        @Override
        public void onError(String errorCode, String errorMessage) {
    
        }
    }
);
import io.taptalk.TapTalk.Manager.TapCoreContactManager
import io.taptalk.TapTalk.Listener.TapCommonListener

...

TapCoreContactManager.getInstance().reportUser(
    USER_ID,
    IS_OTHER_CATEGORY,
    REASON,
    object : TapCommonListener() {
        override fun onSuccess(successMessage: String?) {
            // Successfully reported user
        }
    
        override fun onError(errorCode: String?, errorMessage: String?) {
    
        }
    }
)

Parameters USER_ID: (String) ID of the user to report CATEGORY: (String) Category of the violation. max length is 100 characters IS_OTHER_CATEGORY: (Boolean) If the category is other than the predefined categories REASON: (String) reason why the user is reported

Report Message

You may call this method to submit a report for a selected message. Submitted reports can then be viewed through the dashboard.

import io.taptalk.TapTalk.Manager.TapCoreContactManager;
import io.taptalk.TapTalk.Listener.TapCommonListener;

...

TapCoreContactManager.getInstance().reportMessage(
    MESSAGE_ID,
    ROOM_ID,
    CATEGORY,
    IS_OTHER_CATEGORY,
    REASON,
    new TapCommonListener() {
        @Override
        public void onSuccess(String successMessage) {
            // Successfully reported message
        }
    
        @Override
        public void onError(String errorCode, String errorMessage) {
    
        }
    }
);
import io.taptalk.TapTalk.Manager.TapCoreContactManager
import io.taptalk.TapTalk.Listener.TapCommonListener

...

TapCoreContactManager.getInstance().reportMessage(
    MESSAGE_ID,
    ROOM_ID,
    IS_OTHER_CATEGORY,
    REASON,
    object : TapCommonListener() {
        override fun onSuccess(successMessage: String?) {
            // Successfully reported message
        }
    
        override fun onError(errorCode: String?, errorMessage: String?) {
    
        }
    }
)

Parameters MESSAGE_ID: (String) unique server ID of the message to report ROOM_ID: (String) ID of the room where the message belongs to CATEGORY: (String) Category of the violation. max length is 100 characters IS_OTHER_CATEGORY: (Boolean) If the category is other than the predefined categories REASON: (String) reason why the message is reported

Block User

You may block a user to stop conversation flow with the blocked user. Blocked users will not be able to send and receive message, or retrieve profile info from the active user.

import io.taptalk.TapTalk.Manager.TapCoreContactManager;
import io.taptalk.TapTalk.Listener.TapCoreGetContactListener;
import io.taptalk.TapTalk.Model.TAPUserModel;

...

TapCoreContactManager.getInstance().blockUser(USER_ID, new TapCoreGetContactListener() {
    @Override
    public void onSuccess(TAPUserModel user) {
        // Successfully blocked user
    }

    @Override
    public void onError(String errorCode, String errorMessage) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreContactManager
import io.taptalk.TapTalk.Listener.TapCoreGetContactListener
import io.taptalk.TapTalk.Model.TAPUserModel

...

TapCoreContactManager.getInstance().blockUser(USER_ID, object : TapCoreGetContactListener() {
    override fun onSuccess(user: TAPUserModel?) {
        // Successfully blocked user
    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }
})

Parameters USER_ID: (String) ID of the user to block

Unblock User

You may unblock a blocked user to let them send and receive message from the active user.

import io.taptalk.TapTalk.Manager.TapCoreContactManager;
import io.taptalk.TapTalk.Listener.TapCoreGetContactListener;
import io.taptalk.TapTalk.Model.TAPUserModel;

...

TapCoreContactManager.getInstance().unblockUser(USER_ID, new TapCoreGetContactListener() {
    @Override
    public void onSuccess(TAPUserModel user) {
        // Successfully unblocked user
    }

    @Override
    public void onError(String errorCode, String errorMessage) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreContactManager
import io.taptalk.TapTalk.Listener.TapCoreGetContactListener
import io.taptalk.TapTalk.Model.TAPUserModel

...

TapCoreContactManager.getInstance().unblockUser(USER_ID, object : TapCoreGetContactListener() {
    override fun onSuccess(user: TAPUserModel?) {
        // Successfully unblocked user
    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }
})

Parameters USER_ID: (String) ID of the user to unblock

Get Blocked User List

You may call this method to retrieve a list of blocked users.

import io.taptalk.TapTalk.Manager.TapCoreContactManager;
import io.taptalk.TapTalk.Listener.TapCoreGetMultipleContactListener;
import io.taptalk.TapTalk.Model.TAPUserModel;

...

TapCoreContactManager.getInstance().getBlockedUserList(new TapCoreGetMultipleContactListener() {
    @Override
    public void onSuccess(List<TAPUserModel> blockedUsers) {
         // Successfully retrieved blocked users
    }

    @Override
    public void onError(String errorCode, String errorMessage) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreContactManager
import io.taptalk.TapTalk.Listener.TapCoreGetMultipleContactListener
import io.taptalk.TapTalk.Model.TAPUserModel

...

TapCoreContactManager.getInstance().getBlockedUserList(object : TapCoreGetMultipleContactListener() {
    override fun onSuccess(blockedUsers: List<TAPUserModel>) {
         // Successfully retrieved blocked users
    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }
})

Get Blocked User IDs

You may call this method to retrieve a list of IDs from blocked users.

import io.taptalk.TapTalk.Manager.TapCoreContactManager;
import io.taptalk.TapTalk.Listener.TapCoreGetStringArrayListener;

...

TapCoreContactManager.getInstance().getBlockedUserIDs(new TapCoreGetStringArrayListener() {
    @Override
    public void onSuccess(ArrayList<String> blockedUserIDs) {
         // Successfully retrieved blocked user IDs
    }

    @Override
    public void onError(String errorCode, String errorMessage) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreContactManager
import io.taptalk.TapTalk.Listener.TapCoreGetStringArrayListener

...

TapCoreContactManager.getInstance().getBlockedUserIDs(object : TapCoreGetStringArrayListener() {
    override fun onSuccess(blockedUserIDs: ArrayList<String>) {
        // Successfully retrieved blocked user IDs
    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }
})

Get Groups in Common

You may use getGroupsInCommon method to retrieve the list of groups in common with another user.

import io.taptalk.TapTalk.Manager.TapCoreContactManager;
import io.taptalk.TapTalk.Listener.TapCoreGetRoomArrayListener;
import io.taptalk.TapTalk.Model.TAPRoomModel;

...

TapCoreContactManager.getInstance().getGroupsInCommon(USER_ID, new TapCoreGetRoomArrayListener() {
    @Override
    public void onSuccess(ArrayList<TAPRoomModel> rooms) {
        // Successfully retrieved rooms
    }

    @Override
    public void onError(String errorCode, String errorMessage) {

    }
});
import io.taptalk.TapTalk.Manager.TapCoreContactManager
import io.taptalk.TapTalk.Listener.TapCoreGetRoomArrayListener
import io.taptalk.TapTalk.Model.TAPRoomModel

...

TapCoreContactManager.getInstance().getGroupsInCommon(USER_ID, object : TapCoreGetRoomArrayListener() {
    override fun onSuccess(rooms: ArrayList<TAPRoomModel>) {
        // Successfully retrieved rooms
    }

    override fun onError(errorCode: String?, errorMessage: String?) {

    }
})

Parameters USER_ID: (String) ID of the other user

PreviousChat Room and Messages - TapCoreNextMessage Type

Last updated 1 month ago

Was this helpful?

Get All User Contacts
Fetch All User Contacts from Server
Get Contact Detail Info with TapTalk User ID
Get Contact Detail Info with Client User ID
Add User to Contact with User ID
Add User to Contact with Phone Number
Remove User from Contact
Save User Data
Search Local Contact
Report User
Report Message
Block User
Unblock User
Get Blocked User List
Get Blocked User IDs
Get Groups in Common