Tech Partners: DDx Exchange as a Destination
Overview
This section covers information about Interactions API requests with the DDx Exchange's endpoint as a destination for Interactions API data.
Interactions App
Check out our Set Up for Sources section if you do not already have an Interactions API App required for sending data to the DDx Exchange.
Validating DDx API Key configuration
The /v1/auth/me endpoint enables two things:
- Confirmation that you're using your API key correctly and can authenticate to the API
- The ability to confirm the API Key's associated Workspace, Source and Destination details.
Additional API Request Validation
Interactions API requests using an API key configured with DDx Exchange as a Destination are subjected to additional validation. This includes:
- To be assessed for credits, currently the
personarray must include at least one object withtypeofdwid,voterbase_id,smartvan_vanid,votebuilder_vanidorav_vanid. - All survey response
outcomesDetailedobjects (indicated by the "survey_response"type) must includequestionIdandresponseId. These must be valid VAN survey question and response IDs. - All survey response
outcomesDetailedobjects (indicated by the "survey_response"type) must includequestionTextandresponseText. These should be the full text of the question and response, respectively.
An example of a valid request can be found on the API Examples page (Scenario 3).
How is data mapped to the DDx Exchange schema?
The table below describes how data on the Interactions API request is mapped to the format accepted by the DDx Exchange. Currently, language and is_cell fields are not supported and will always be reported to the Exchange as null.
Dispositions
| Interactions API | Exchange Schema | Notes |
|---|---|---|
interaction.person.id | person_id | Exchange-accepted values: TargetSmart |
interaction.person.type | person_id_type | Accepted values: dwid, voterbase_id, smartvan_vanid, votebuilder_vanid, or av_vanid |
interaction.method | contact_type_name | |
interaction.outcome | contact_result_name | |
interaction.attemptDateTime | datetime_canvassed | |
interaction.stateCode | state_code | |
interaction.channel.value | phone_number | Only populated when channel.type = "phone_number" |
outcomesDetailed[type=notes].value | notes |
Survey Responses
| Interactions API | Exchange Schema | Notes |
|---|---|---|
interaction.person.id | person_id | Exchange-accepted values: TargetSmart |
interaction.person.type | person_id_type | Accepted values: dwid, voterbase_id, smartvan_vanid, votebuilder_vanid, or av_vanid |
interaction.method | contact_type_name | |
interaction.outcome | contact_result_name | |
interaction.attemptDateTime | datetime_canvassed | |
interaction.stateCode | state_code | |
interaction.channel.value | phone_number | Only populated when channel.type = "phone_number" |
outcomesDetailed[type=survey_response].value.questionId | survey_question_id | |
outcomesDetailed[type=survey_response].value.responseId | survey_question_response_id |
Survey Response Metadata
| Interactions API | Exchange Schema | Notes |
|---|---|---|
interaction.stateCode | state_code | |
outcomesDetailed[type=survey_response].value.questionId | survey_question_id | |
outcomesDetailed[type=survey_response].value.questionIdText | survey_question_text | |
outcomesDetailed[type=survey_response].value.responseId | survey_question_response_id | |
outcomesDetailed[type=survey_response].value.responseIdText | survey_question_response_text |
Fetching DDx Exchange transactional logs
Status and logs regarding integration with the DDx Exchange can be fetched two ways:
- By date, using the endpoint described here.
- By
interactionId, which can be found in successfulPOST /interactionsresponses, using the endpoint described here.
For questions about sending data to the DDx Exchange please reach out to us at [email protected]!
Updated 7 days ago
