API Usage Scenarios

The Proactive Speech API offers two specific endpoints which are designed for differing scenarios.


Third-Party Independent Software Vendors (ISVS)

If you are a third-party ISV integrating directly with our solution purely as a back end speech API, start below in the ISV Overview section


BDC Central Integration

If you are using our BDC Central solution and wish to integrate an existing calling vendors recordings with BDC Central please start see the section BDC Central Integration Overview.

Proactive Speech API v1.2

1.2 - Documentation Update - Custom Request Support.

1.1 - Documentation Update / Simplified Flow / Payload Additions.

The Proactive Speech API leverages our years of experience in the industry, combining domain expertise, Artificial Intelligence (AI), Machine Learning, and Natural Language Processing (NLP) to help the automotive industry extract critical intelligence from customer calls.

Applications integrate with the Proactive Speech API using a combination of standard REST API interfaces and Webhooks to process call recordings and extract actionable data in near real-time.

Using these analytics, you can provide unique insights to your customers.

A Sample Analytics Dashboard in Proactive Dealer Solutions' BDC Central Powered by the Proactive Speech API

REST API Summary

With the REST API, call recordings are submitted, and machine learning and NLP-based analytics are returned.

The API currenty can calculate over 50 unique indicators and metrics that provide insights into customer calls; and we are adding more with each ensuing release.

Submitting your call to the API

Submitting a call to the API is done via a POST with a JSON body describing parameters and processing directives. In order to use the Proactive Speech API and leverage our custom models, redaction, and other features, this specific configuration format.

POST application/json to https://speechapi.bdccentral.com/ingest-v2

Your JSON body should look like this (Note: the "custom_search" section is optional and included here for instructional purposes). The "custom metadata" section is optional and allows you to provide arbitrary data which will be echoed in the response. This is typically used to correlate the response data with the source data in your system of record.

{
    "id": "YOUR_PROACIVE_CUSTOMER_ID",
    "media_url": "https://xyz.com/some_wav_or_mp3_file.wav",
    "speech_api_callback_url": "https://xyz.com/your_callback_handler",
    "processing_directives": {
        "customer_channel": "left",
        "agent_channel": "right"
    },
    "custom_metadata": {
        "some_custom_data": "Whatever you want",
        "another_custom_field": "example",
        "field_names_and_values_are_up_to_you": "I am a little tea cup"
        
    },
    "custom_search": [
    {
        "name": "summer promotion",
        "speaker": "agent",
        "search": "are you calling about our summer sales promotion",
        "start_time_boundary": 0,
        "end_time_boundary": 20000
    },
    {
        "name": "competitor check",
        "speaker": "caller",
        "search": "hendrick bmw, baker audi, miller acura",
        "start_time_boundary": 0,
        "end_time_boundary": 0
    }
]
}

       				

Key Configuration field: speech_api_callback_url

The Proactive APIs operates using the concept of Web Hooks. In the speech_api_callback_url field above provide a callback URL where you will process the API response. When the Proactive API processing is completed it will then POST the final results to this web hook you provide in speech_api_callback_url.

Custom Search

In this example we have also employed an optional feature of the Proactive Speech API - custom search. Custom search lets you define words or phrases spoken by either the caller or agent that you would like to scan for in the call. You can also define time boundaries (in the above example we are only looking to see if the agent mentioned the summer promotion in the first 20 seconds of the call). The Proactive Speech API callback will contain data indicating the results of these custom searches. We will explore that more when we look at the response schema.

To submit a call recording to BDC Central, make an HTTP POST to the secure endpoint at:

https://speechapi.bdccentral.com/ingestcall


This post should include a JSON body with the information below: (Note, Proactive Dealer Solutions will provide you with all the IDs listed in blue below, upon setting up your BDC Central installation.) The example below illustrates how we might pass along information pertaining to a recording stored in the popular Twilio communications platform.

{
  "url": "https://api.twilio.com/2010-04-01/Accounts/xxx/Recordings/XEb30226ac27d23c14eea3bc4062c731e0",
  "proactive": {
    "org_id": "[YOUR_PROVIDED_ORG_ID_KEY]",
    "store_id": [ID of the dealership in BDC Central. Format: 54a30dc1-116f-4987-8db3-f57f2a05e7c1],
    "tracking_number": [ Tracking Number to associate call with in BDC Central. Format: 111-222-3333]
  },
  "auth": {
    "auth_sid": "optional auth_sid",
    "auth_token": "optional auth_token",
    "auth_key": "optional auth_key"
  },
  "metadata": {
    "external_id": "Optional ID for correlation to a parent record in your system",
    "extended": {
      "sample1": "This is a sample.  You may add arbitrary metadata to this section.",
      "sample2": 42
    }
  }
}