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. See below.
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. These types must be submitted asdwid,voterbase_id,smartvan_vanid,votebuilder_vanidorav_vanidor they will be considered unsupported. - All survey response
outcomesDetailedobjects (indicated by the "survey_response"type) must includequestionIdandresponseId. These must be valid VAN survey question and response IDs and must be integers if Exchange is a Destination. - All survey response
outcomesDetailedobjects (indicated by the "survey_response"type) must includequestionTextandresponseText. These should be the full text of the question and response, respectively. - All event signup
outcomesDetailedobjects (indicated by the "event_signup"type) must includeeventIdobject
andstatusobject with validstatus.
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 | Must be an integer |
outcomesDetailed[type=survey_response].value.responseId | survey_question_response_id | Must be an integer |
Survey Response Metadata
| Interactions API | Exchange Schema | Notes |
|---|---|---|
interaction.stateCode | state_code | |
outcomesDetailed[type=survey_response].value.questionId | survey_question_id | Must be an integer |
outcomesDetailed[type=survey_response].value.questionIdText | survey_question_text | |
outcomesDetailed[type=survey_response].value.responseId | survey_question_response_id | Must be an integer |
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.
Questions about Exchange as a Destination?For questions about sending data to the DDx Exchange please reach out to us at [email protected]!
Updated 19 days ago

