Helpshift APIs

Helpshift provides a way to use each functional element of the SDK separately based on your requirements. You can call only specific screens from the SDK based on the functionality you want to expose in your app.

Helpshift provides a way to use each functional element of the SDK separately based on your requirements. You can call specific screens from the SDK based on the functionality you want to expose in your app.

There are 4 ways to call Helpshift in your app:

  1. showConversation
  2. showFAQs
  3. showFAQSection
  4. showSingleFAQ

showConversation

You can use the api call [showConversationWithOptions:] to allow a user to directly send feedback or start a new conversation without having to first view FAQs. Once, a user starts a new conversation, this API call will show the conversation screen. The conversation will continue until it is resolved or rejected by the agent.

Definition
showConversationWithOptions:
Example Code
[HelpshiftSupport showConversationWithOptions:nil];
Use with
"Contact Us" or "Send Feedback" button

To configure this API further refer to these API options API Options.

As a measure to avoid users from filing tickets that don’t make sense (read, empty tickets, tickets that just say “hi” or “help” etc.), the SDK checks the content of the users question before he is allowed to file it. There is a minimum character limit for filing a ticket. This value comes from the localisation file of the current SDK language. This allows each language to have its own minimum character limit defined.

The localisation file contains a key value pair:

"IssueDescriptionMinimumCharacterLength" = 5;

The value for the key needs to be an unsigned integer value that represents a minimum limit character count for each language.

In case of a invalid value for this key or in case this key is missing from your localisation, a fallback value will be used by the SDK.

showFAQs

You can use the api call [showFAQsWithOptions:] to show FAQs in your app. This is the easiest approach to enable help in your app as it bundles all the capabilities of the Helpshift SDK in a simple and intuitive interface. Users can browse FAQs, search for an FAQ, and file issues with Support.

Definition
showFAQsWithOptions:
Example Code
[HelpshiftSupport showFAQsWithOptions:nil];
Use with
"Help" or "Support" button

To configure this API further refer to these API options API Options.

FAQ Filtering by tags

The goal FAQ Filtering is to help the end user see focused & related content e.g. on basis of the user demographic or device profiles, developers can now choose the new capability for FAQ filtering and showing a focused FAQ list to the right audience.

Typical cases why you would want to use FAQ filtering are :

  • You want to show specific FAQs for specific audience. E.g. if you may categorize the users as ‘beginner’, ‘intermediate’ or ‘expert’ based on your business logic.

FAQ filtering is a 2 step approach :

  1. FAQs need to be classified using the field on the dashboard e.g. tags beginner & expert. show me
  2. Once the FAQs are tagged, they can be filtered at the SDK using the filter options described here.

Helpshift has 2 types of tags mainly ‘Issue Tags’ & ‘Search Tags’.

  • Issue tags are used to filter the FAQ list on the SDK with the filter rules.
  • Search tags (a.k.a Search Keywords) When performing in-app search, Helpshift SDK gives preference to these keywords. You can also use this to add alternative keywords that users might search for, but which may not exist in the FAQ title or the content.

How to use FAQ filtering

This will be a config option which will be supported by the showFAQs and showFAQSection APIs.

Usage :

NSDictionary * optionsDictionary = @{ @"withTagsMatching" : @{@"operator" : @"and/or/not",
                                                              @"tags" : @[@"tag1",@"tag2",...]}
                                    };

The withTagsMatching option will be a dictionary containing 2 keys

  • operator : one of and, or, not which will serve as conditional operators for the given tags.
  • tags : the actual tags in the query

The withTagsMatching option will be should be added as an object against key “withTagsMatching ” in the dictionary optionsDictionary that is taken by showFAQs and showFAQSection APIs.

Example :

//If the developer wants to show all FAQs with tags beginner or expert
NSDictionary * optionsDictionary = @{ @"withTagsMatching" : @{ @"operator" : @"or",
                                                               @"tags" : @[@"beginner",@"expert"]}
                                    };
[HelpshiftSupport showFAQsWithOptions:optionsDictionary];

showFAQSection

You can use the api call [showFAQSection:withOptions:] to show faqs from a particular FAQ section. This feature works like a permalink for displaying specific FAQ sections as context sensitive help in your app. For example, if your app requires the user to log in using email, facebook and twitter, you could wire a help action on the login screen that can link to the Helpshift FAQ section called "Login help" which has several questions related to login methods.

You will need the Section Publish ID from the FAQ tab of Helpshift Dashboard:

Definition
showFAQSection:withOptions:
Example Code
[HelpshiftSupport showFAQSection:@"120" withOptions:nil]
Use with
"Login Help" or other category-specific sections

To configure this API further refer to these API options API Options.

English translation will be used for non-localized FAQs.

showSingleFAQ

You can use the api call [showSingleFAQ:withOptions:] to show a single faq question.

You will need the FAQ Publish ID from the FAQ tab of the Helpshift Dashboard:

Definition
showSingleFAQ:withOptions:
Example Code
[HelpshiftSupport showSingleFAQ:@"200" withOptions:nil];
Use with
a '?' button when your user is performing a specific action

To configure this API further refer to these API options API Options.

English translation will be used for non-localized FAQs