Contact

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

Note: Please add #import <TapTalk/TapCoreContactManager.h> before using these methods.

TapTalk Contact Method

Description

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

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 Contact List

Create a new group Get all of the user's contact data from TapTalk.io.

//import TapTalk Contact Manager
#import <TapTalk/TapCoreContactManager.h>

[[TAPCoreContactManager sharedManager] getAllUserContactsWithSuccess:^(NSArray<TAPUserModel *> * _Nonnull userArray) {
    //Success get contact list data
} failure:^(NSError * _Nonnull error) {
    //Failed to get contact list data
}];

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 TapTalk Contact Manager
#import <TapTalk/TapCoreContactManager.h>

[[TAPCoreContactManager sharedManager] fetchAllUserContactsFromServerWithSuccess:^(NSArray<TAPUserModel *> * _Nonnull userArray) {
    //Success get contact list data
} failure:^(NSError * _Nonnull error) {
    //Failed to get contact list data
}];

Get Contact Detail Info with TapTalk User ID

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

//import TapTalk Contact Manager
#import <TapTalk/TapCoreContactManager.h>

[[TAPCoreContactManager sharedManager] getUserDataWithUserID:USER_ID success:^(TAPUserModel * _Nonnull user) {
    //Success get contact detail data
} failure:^(NSError * _Nonnull error) {
    //Failed to get contact detail data
}];

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 TapTalk Contact Manager
#import <TapTalk/TapCoreContactManager.h>

[[TAPCoreContactManager sharedManager] getUserDataWithXCUserID:XC_USER_ID success:^(TAPUserModel * _Nonnull user) {
    //Success get contact detail data
} failure:^(NSError * _Nonnull error) {
    //Failed to get contact detail data
}];

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 TapTalk Contact Manager
#import <TapTalk/TapCoreContactManager.h>

[[TAPCoreContactManager sharedManager] addToTapTalkContactsWithUserID:USER_ID success:^{
    //Success add to contact
} failure:^(NSError * _Nonnull error) {
    //Failed add to contact
}];

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 TapTalk Contact Manager
#import <TapTalk/TapCoreContactManager.h>

[[TAPCoreContactManager sharedManager] getUserDataWithUserID:USER_ID success:^(TAPUserModel * _Nonnull user) {
    //Success get contact detail data
} failure:^(NSError * _Nonnull error) {
    //Failed to get contact detail data
}];

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 TapTalk Contact Manager
#import <TapTalk/TapCoreContactManager.h>

[[TAPCoreContactManager sharedManager] removeFromTapTalkContactsWithUserID:USER_ID success:^(NSString * _Nonnull successMessage) {
    //Success remove from contact
} failure:^(NSError * _Nonnull error) {
    //Failed remove from contact
}];

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 TapTalk Contact Manager
#import <TapTalk/TapCoreContactManager.h>

[[TAPCoreContactManager sharedManager] 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 TapTalk Contact Manager
#import <TapTalk/TapCoreContactManager.h>

[[TAPCoreContactManager sharedManager] searchLocalContactsByName:KEYWORD success:^(NSArray<TAPUserModel *> * _Nonnull userArray) {
    // Returns filtered contacts
} failure:^(NSError * _Nonnull error) {
    // Failed to get contact list data
}];

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 TapTalk Contact Manager
#import <TapTalk/TapCoreContactManager.h>

[[TAPCoreContactManager sharedManager] reportUser:USER_ID 
                                         category:CATEGORY
                                  isOtherCategory:IS_OTHER_CATEGORY
                                           reason:REASON
success:^(BOOL isSuccess) {
    // Successfully reported user
} failure:^(NSError * _Nonnull error) {

}];

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 TapTalk Contact Manager
#import <TapTalk/TapCoreContactManager.h>

[[TAPCoreContactManager sharedManager] reportMessage:MESSAGE_ID 
                                              roomID:ROOM_ID
                                            category:CATEGORY
                                     isOtherCategory:IS_OTHER_CATEGORY
                                              reason:REASON
success:^(BOOL isSuccess) {
    // Successfully reported message
} failure:^(NSError * _Nonnull error) {

}];

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 TapTalk Contact Manager
#import <TapTalk/TapCoreContactManager.h>

[[TAPCoreContactManager sharedManager] blockUserWithUserID:USER_ID 
success:^(TAPUserModel *blockedUser) {
    // Successfully blocked user
} failure:^(NSError * _Nonnull error) {

}];

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 TapTalk Contact Manager
#import <TapTalk/TapCoreContactManager.h>

[[TAPCoreContactManager sharedManager] unblockUserWithUserID:USER_ID 
success:^(BOOL isSuccess) {
    // Successfully unblocked user
} failure:^(NSError * _Nonnull error) {

}];

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 TapTalk Contact Manager
#import <TapTalk/TapCoreContactManager.h>

[[TAPCoreContactManager sharedManager] getBlockedUserList:^(NSArray<TAPUserModel *> *blockedUserList) 
    // Successfully retrieved blocked users
} failure:^(NSError * _Nonnull error) {

}];

Get Blocked User IDs

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

//import TapTalk Contact Manager
#import <TapTalk/TapCoreContactManager.h>

[[TAPCoreContactManager sharedManager] getBlockedUserIDs:^(NSArray<NSString *> *blockedUserIDs) 
    // Successfully retrieved blocked user IDs
} failure:^(NSError * _Nonnull error) {

}];

Get Groups in Common

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

//import TapTalk Contact Manager
#import <TapTalk/TapCoreContactManager.h>

[[TAPCoreContactManager sharedManager] getGroupsInCommon:USER_ID 
success:^(NSArray<TAPRoomModel *> *groupRooms) {
    // Successfully retrieved rooms
} failure:^(NSError * _Nonnull error) {

}];

Parameters USER_ID: (String) ID of the other user

Last updated

#621:

Change request updated