Repository navigation
Releases: B-Jones-RFD/qualtrics-api-tasks
Releases · B-Jones-RFD/qualtrics-api-tasks
Release list
v2.0.0
Major Changes
-
d742380: 2.0: richer workflow results, deprecations removed
distributeSurveysresolves toDistributionResult—{ mailingListId, import, distributionId, reminderId }— instead of only the reminder's id.testConnectionresolves to the/whoamipayload (WhoAmI:userId,brandId,userName,accountType,firstName,lastName,email,datacenter) instead of'Connection successful'.- New types:
DistributionResult,WhoAmI. - README gains a "Low-level helpers" section documenting the remaining public utilities and a "Migrating to 2.0" section.
Breaking changes
distributeSurveys: useres.data.reminderIdwhere you usedres.data.testConnection: branch onres.success;res.datais now an object.- Removed
getContactsImportSummaryandGetContactsImportSummaryOptions(Qualtrics deprecated the endpoint;getContactsImportStatusandimportContactsreturn the same fields). - Removed the
exportResponseDataalias; useexportResponses. - No longer exported:
toFailure,validateConnectionOptions,parseQualtricsError,parseRetryAfter(internal helpers).createConnectionstill validates options and throwsTypeError.
v1.1.0
Minor Changes
-
2c12723: Alignment with the Qualtrics API docs, incremental exports and poll options
importContactsno longer calls the summary endpoint. Qualtrics has deprecatedGET …/transactioncontacts/{importId}/summary(unsupported after 2026-06-30); the workflow now returns the final status response, which carries the samecontacts.count,transactions.count,invalidEmailsandstatus.getContactsImportSummaryis deprecated and will be removed in 2.0.- New
exportResponsesWithProgressresolves to{ data, progress }so thecontinuationTokenof an export started withallowContinuationcan be kept for incremental exports. New typeResponseExportResult. - Per-call
poll: { intervalMs?, maxAttempts? }onimportContacts,exportResponses,exportResponsesWithProgressanddistributeSurveys(defaults unchanged: 1 s, 300 attempts). New typePollOptions. - Options relaxed to match the API:
startDate/endDate(exports),sendStartDate/sendEndDate(list distributions),ownerId(create mailing list, distribute surveys),Contact.emailandmailingListIdoncreateDistribution(givetransactionBatchIdinstead) are now optional; absent values are omitted from the request. - Options added:
includeWaveWeights(exports),recipients.directoryId(createDistribution),Contact.phoneandContact.id; embedded and transaction data values may bestring | number | boolean(EmbeddedDataValue). ContactsImportStatusResponsegainsinvalidEmails?;ContactsImportSummaryResponseis now that type withinvalidEmailsrequired.- TSDoc on every option and response type; README documents
Contact, the new actions and the json/ndjson restrictions.
v1.0.1
Patch Changes
-
6570ac4: Response export fixes and documentation corrections
exportResponsesnow waits forstatus === 'complete'instead ofpercentComplete === 100, as the Qualtrics docs require (percentCompleteis a convenience field andfileIdisnulluntil the export completes).- A failed export's reason is no longer lost: the
Failuremessage includes the job'scode: messageanddetailscarries them aserrorCode/errorMessage. getResponseExportFilealways returns the body as aBuffer; an uncompressedjsonexport (compress: false) was being parsed by content type and failed withUnexpected file response format.FileProgressResponse.fileIdis typedstring | nulland the newerrorfield (ResponseExportJobError) andResponseExportStatustype describe what Qualtrics returns.safeParseFileProgressResponseno longer rejects a progress response withoutfileId.- Corrected the
@seelinks oncreateDistribution,createReminderandgetDistribution(the old pages 404) and pointed the contact-import and export step actions at their endpoint pages.
v1.0.0
Major Changes
-
6410296: Breaking changes
-
exportResponses resolves to the decoded export — a string for csv/tsv/json/ndjson/xml, a Buffer for spss — instead of the raw downloaded file. Remove any unzip step; use getResponseExportFile for raw bytes. exportResponseData is now a deprecated alias.
-
testConnection(bearerToken: string) removed; call testConnection({ bearerToken }).
-
v0.7.0
Minor Changes
- 55d8625: Paging helpers and decoded response exports. listAllDistributions / listAllLibraryMessages collect every page, iterateDistributions / iterateLibraryMessages yield one page per request, and getNextDistributionsPage / getNextLibraryMessagesPage follow a nextPage link (same datacenter host only); all accept maxPages. exportResponseData returns the export’s contents decoded (string for text formats, Buffer for spss) using the new exported decodeResponseExport and readZip. exportResponses still returns the raw file and will return decoded contents in 1.0. Full TSDoc on the Connection type. New types: GetNextPageOptions, ListAllOptions, PagedIterator, ResponseExportData, ZipEntry
v0.6.0
Minor Changes
- 197e474: Managed OAuth token and opt-in retry. Pass oauth: { clientId, clientSecret, scope } to createConnection and the connection fetches, caches, refreshes and re-fetches the bearer token for you; a per-call bearerToken still wins. retry: { retries, baseDelayMs, maxDelayMs, retryOn } retries read actions on NETWORK/TIMEOUT/429/502/503/504 with jittered backoff and honours Retry-After; writes are never retried. Action factories accept an optional ConnectionContext to share a token between standalone actions. New exports: createConnectionContext, withRetry, isTransientFailure, ManagedTokenError, and types OAuthOptions, RetryOptions, TokenCache, ConnectionContext, BearerTokenResponse.
v0.5.0
Minor Changes
- d2942cf: Structured failures, request cancellation and startup validation. Failure now carries code, status, details and retryAfterMs — branch on code instead of matching error text (code that builds Failure objects by hand must add code). Every action accepts RequestOptions (bearerToken, timeout, signal). createConnection throws TypeError for malformed options. New exports: QualtricsApiError, parseQualtricsError, parseRetryAfter, toFailure, validateConnectionOptions, and named Options / response types. testConnection(string) is deprecated in favour of testConnection({ bearerToken }).
v0.3.6
Patch Changes
- 3bb9e4f: Revert list distributions params change
v0.3.5
Patch Changes
- 6d085dc: Update list distribution to make survey id optional
v0.3.4
Patch Changes
- da8c841: Update required props listDistributions