A lightweight Java client library for Qualtrics API integration. Built for Java developers who need to integrate their applications with the Qualtrics Employee Experience platform. 🚀
This API client provides type-safe Java interfaces for Qualtrics API, enabling seamless management of:
- Bulk importing contacts along with their transaction data
- Creating, managing, and sending surveys to contacts
- Tracking and managing contact history and activity
- Exporting contact data for external use
- Managing participants within Employee Experience project directories
- Creating and administering EX projects and their participants
- Retrieving project IDs for participants with incomplete project involvement
- Create, check status, and manage columns of imported data projects, as well as initiate, monitor, and download data exports
- Add, retrieve, update and delete single or multiple records in imported data projects
- Managing contacts within mailing lists
- Retrieving detailed history for contacts in mailing lists
- 💡 Type-Safe Java API - fully typed interfaces for Qualtrics API endpoints
- 🛡️ Secure authentication - API token and OAuth2 support
- 📚 Clear documentation - comprehensive examples for Java integration
- 🚀 Java 17+ support - compatibility with latest Java versions
-
✅ Contact Imports API
- Bulk import contacts
- Import transaction data for contacts
-
✅ Contacts / Directory Contacts API
- Create contacts
- Manage contacts
- Send surveys to contacts
-
✅ Contacts / Directory Contacts History API
- Manage contact history
- Track contact changes and activity
-
✅ Contacts / Contact Exports API
- Export contact data
-
✅ EX APIs / Directories
- Manage Employee Experience project participants
-
✅ EX APIs / Projects
- Manage Employee Experience projects
- Manage project participants
-
✅ EX APIs / EX Invitations
- Retrieve incomplete project IDs for participants
-
✅ Imported Data Project API
- Create imported data project
- Get imported data project status
- Add columns to imported data project
- Start an IDP export
- Get export progress
- Get export file
-
✅ Imported Data Project Records API
- Add single record
- Add records to imported data project (bulk)
- Get a record from imported data project
- Delete a record from imported data project
- Update a record in imported data project
-
✅ Mailing List Contacts API
- Create contact in mailing list
- List contacts in mailing list
- List bounced contacts in mailing list
- List opted-out contacts in mailing list
- Get contact in mailing list
- Update contact in mailing list
- Delete contact in mailing list
-
✅ Mailing List Contacts History API
- Get contact history in mailing list
⚠️ Note: This is a development version!We are actively implementing more Qualtrics API features. Contributions and feedback are welcome on GitHub!
- Current Version:
0.1.3
- Supported API Version:
v3
- Java Compatibility: Java 17+
MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files, to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the software.
The only requirement is to preserve the original author attribution in the source code and documentation.
You can add the library to your project by including the dependency from Maven Central:
<!-- https://mvnrepository.com/artifact/pl.wtx.qualtrics/qualtrics-api-client -->
<dependency>
<groupId>pl.wtx.qualtrics</groupId>
<artifactId>qualtrics-api-client</artifactId>
<version>0.1.3</version>
</dependency>
Alternatively, clone and build the library from source:
git clone https://github.com/wtx-labs/qualtrics-api-client-java.git
cd qualtrics-api-client-java
mvn clean install
Then add the locally built artifact to your project:
<dependency>
<groupId>pl.wtx.qualtrics</groupId>
<artifactId>qualtrics-api-client</artifactId>
<version>0.1.3</version>
</dependency>
Here's how to get EX directory participant data using the client:
package pl.wtx.qualtrics;
import pl.wtx.qualtrics.api.client.ExApiDirectoriesApi;
import pl.wtx.qualtrics.api.client.invoker.ApiException;
import pl.wtx.qualtrics.api.client.model.ParticipantResponse;
/**
* Qualtrics API Client - Usage Demo
*
* @author WTX Labs
* @see https://github.com/wtx-labs/qualtrics-api-client-java
* @license MIT
*/
public class QualtricsApiClientUsageDemo {
// TODO: Set your Qualtrics API base path!
private static final String API_BASE_PATH = "https://yul1.qualtrics.com/API/v3";
private static final String API_ACCESS_TOKEN = "TODO_SET_API_TOKEN";
public static void main(String[] args) {
System.out.println(">>> Start running the QualtricsApiClientUsageDemo...");
// Use QualtricsApiClient(true) if you need to log API communication messages.
QualtricsApiClient apiClient = new QualtricsApiClient();
apiClient.setBasePath(API_BASE_PATH);
apiClient.addDefaultHeader("X-API-TOKEN", API_ACCESS_TOKEN);
ExApiDirectoriesApi directoriesApi = new ExApiDirectoriesApi(apiClient);
try {
// Example request for participant with identifier eg. P_cMiJRssmeLW0Noh from the "EX" directory.
ParticipantResponse participantResponse = directoriesApi.getParticipantByIdInDirectory("EX", "P_cMiJRssmeLW0Noh");
// Example participant's first name:
System.out.println("Participant first name: " + participantResponse.getFirstName());
} catch (ApiException exception) {
System.err.println("Error occurred during API call: " + exception);
}
System.out.println("<<< The QualtricsApiClientUsageDemo has been finished.");
}
}
- ✨ Check our GitHub Issues for latest updates
- 💡 Have suggestions? Open an Issue or contribute to the project
- 🌟 Star this repository if you find it helpful!
- ⭐ Actively developed
- 🔄 Regular updates and improvements
- 👥 Open for community contributions
qualtrics java client, qualtrics ex api java, java qualtrics integration, qualtrics api v3 java, employee experience java integration, qualtrics java library, java rest api client qualtrics, qualtrics api client library for java
🚀 Happy coding! 😊
Your WTX Labs Team 🚀