Authentication FAQs
Does the SDK make the call to authenticate or does it come from Contact Center AI Platform (CCAI Platform) service?
CCAI Platform provides company_id
and company_secret
to the host
app server. These are found in the administrator portal under Settings >
developer.
When the end-user signs into the host app, CCAI Platform asks to the
host app to sign the payload. The host app signs the payload using the
company_secret
and generates a signed JWT that is used by
CCAI Platform to authenticate the end-user. POST /auth/end_user
CCAI Platform verifies signed JWT and issues the auth token for the
end-user. If the end-user of an identifier doesn't exist in
CCAI Platform DB, create it. If the device of device_token
doesn't
exist, create it.
How do we generate a push token for CCAI Platform if the user isn't logged in?
Push tokens aren't required for user authentication.
Can CCAI Platform consume my company's generated tokens for authentication rather than using the service callback to authenticate?
Yes, you can use your own authentication system and you're encouraged to do so. The end-user identification should be in the payload. How this works is the end user authenticates and this is recognized on your server. Then your server sends this info to CCAI Platform. If your server doesn't know who the end user is, we'll think it's anonymous and show it as such—for example, "Web user" vs. the customer's actual name.
Is it possible to run initialize chat client as a standalone activity?
Currently, it isn't possible to run initialize chat client as a standalone activity.
iOS or Android integration FAQ
How do I set up on iOS without using cocoapods?
You'll need to install the file ManualInstallationGuide.md
to set up the iOS
without using cocoapods. You can find this in the iOS SDK.
TBD: Where in the iOS SDK? What about for Android?
Web SDK integration FAQ
Is there a way to move the CCAI Platform chat bubble icon so that it isn't being covered up by other elements of my webpage?
If implemented, the web SDK styling might have a lower z-index than your other elements that are covering it, or they may have the same z index but coded after these other items, making it hide behind it.
API FAQs
How long will my company's data be available via the API?
APIs can be accessed historically with no time limit.
What is the interval in which I can access current information?
Our APIs can be accessed in real-time as the data is compiled at the time it's called.
What is the recommended interval to poll data?
Since the APIs are GETs, best practice is to poll every 7 mins or 15 minutes.
What is the rate limit?
Up to 10 calls per second.
Data FAQs
Is the SLA of the call or chat available or does that need to be calculated based on the metrics in the response?
SLA isn't in the response. It is something that will need to be identified and calculated.
Can we report on the number of times, or the duration of time, that a specific agent puts a caller on hold?
In the participants
object of the response there is an entry for
end_user
(the consumer) with a hold_duration
value. That is the total
hold duration the end-user experienced while on the call.
Can we distinguish between warm and cold transfers?
Not at this time.
Why is the call duration at the top of the response different from the call duration reported for the end_user
under participants
?
The current call_duration
is represented as the difference of the
call connected_at
value and finished_at
value. It isn't a value that
currently represents the actual handle duration. Handle Duration can be
obtained from the handle_durations
object of the response. The sum of
call_duration
in each of those response objects plus the
acw_duration
would represent the total handle time of the call.
General FAQ
What is the limit to the size or time length of a video?
CRMs like Zendesk have a video size limitation that caps at 20MB. If the video is larger than this, the end user is alerted that their file is too big.