CallData Service and API
Save and Access Details from a Call After It Has Ended
Parloa's CallData Service and Retrieval API offer a structured way to save and retrieve essential information from a call, even after the Parloa segment of the call has concluded. This functionality is crucial when Parloa transfers a call back to the contact center, allowing the agent to access important data from the interaction, such as recognized intent or authentication status. While data can also be transmitted back to the customer via SIP headers (if the connection is via SIP), there are limitations on the number of characters that can be sent using this method; moreover, this option is unavailable for PSTN connections. The CallData API provides an effective alternative to bypass these limitations.
Understanding the Process
Step 1: Data Storage During a Call
During a call, a bot-builder or Solution Engineer configures a Parloa Service block to write data into the CallData database. This data is stored at Parloa for up to 30 days for later retrieval, essentially through a POST request to a Parloa-hosted resource.
Step 2: Data Retrieval Post-Call
After a call has ended on Parloa, the stored data can be retrieved via a simple GET request to a specified endpoint. This makes the data accessible to agents through most enterprise contact center systems that support API integrations.
Setting Up and Using CallData with Parloa
Service Configuration
If you are new to configuring Parloa services, please first visit the Technical Configuration page. The following steps are necessary to add the CallData Service under the "Services" tab in the Parloa frontend.
Additional Service Details
The CallData service temporarily stores relevant call data in a Parloa-hosted database (for a maximum of 30 days) to allow for querying within the customer's system after the call has ended and left Parloa. This is useful for use in the agent frontend.
Usage in Parloa
Sample Configuration Using Storage Variables
As noted, users can define additional fields for the CallData
database. An example transaction might record the chosen hero and location during a call to the "SuperHero Hotline". Note that the CallData service does not return any output to the Parloa frontend; success
is indicated by the triggering of the success branch, confirming the data has been stored.
Post-Call Data Retrieval
To fetch data, you'll need two required parameters: callerID
and callId
.
The
callerid
parameter from the POST request is equivalent to thecaller
parameter in the GET request. Ensure these identifiers are available in your client system for data retrieval, even if SIP header transfer is not possible.Data retrieval requires the same
CLIENTID
andAUTHCODE
used for writing to the database, ensuring data security.
GET Request Parameters
The request can include additional optional parameters such as format
, timeLimit
, lang
, and countryCode
. These parameters allow you to narrow down results or expand your search. More details on these parameters are available in the next section.
You can find more information on these parameters in the table in the next section.
Below is an illustrative example of how a request and its corresponding response look:
Testing the API
Both the writing and the retrieval of data can be tested outside of the Parloa frontend for debugging and troubleshooting purposes.
POSTing Sample Data
To test the API endpoint, you can POST sample data directly. An example CURL could look like the following:
A more complex request might look like this:
The most common cause of failure is missing (or misnaming) one of the required input fields:
POST Request Parameters
GETing Sample Data
To check whether your sample data has written to the DB, you can GET
the sample data using the following CURL command:
Note that for the GET
request, parameters are passed in directly in the URL of the request.
In the case of conflicting entries, which are possible if the callid is a simplified custom string, the service will return the most recent one. Additional parameters can be used in the CURL to adjust the results, e.g. returning in html format.
The generalized html field names (returned for all entries, regardless of custom fields) are German by default, but can be returned in English using the lang
parameter.
There are 2 common ways that this request can fail; most often, either there is a misconfiguration in the GET
request, or the record was created outside the default time range of the service. To avoid misconfigurations (incorrect phone number, callerid
instead of caller
, etc.), check the GET
request carefully. If the time range might be the issue, it can be adjusted using the timeLimit
parameter in the request.
The service does not differentiate error types in its response and will simply say "no result found".
GET Request Parameters
Last updated