Skip to content

Releases: B-Jones-RFD/qualtrics-api-tasks

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 22:45
41f3d74

Major Changes

  • d742380: 2.0: richer workflow results, deprecations removed

    • distributeSurveys resolves to DistributionResult — { mailingListId, import, distributionId, reminderId } — instead of only the reminder's id.
    • testConnection resolves to the /whoami payload (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: use res.data.reminderId where you used res.data.
    • testConnection: branch on res.success; res.data is now an object.
    • Removed getContactsImportSummary and GetContactsImportSummaryOptions (Qualtrics deprecated the endpoint; getContactsImportStatus and importContacts return the same fields).
    • Removed the exportResponseData alias; use exportResponses.
    • No longer exported: toFailure, validateConnectionOptions, parseQualtricsError, parseRetryAfter (internal helpers). createConnection still validates options and throws TypeError.

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 22:35
48448a4

Minor Changes

  • 2c12723: Alignment with the Qualtrics API docs, incremental exports and poll options

    • importContacts no longer calls the summary endpoint. Qualtrics has deprecated GET …/transactioncontacts/{importId}/summary (unsupported after 2026-06-30); the workflow now returns the final status response, which carries the same contacts.count, transactions.count, invalidEmails and status. getContactsImportSummary is deprecated and will be removed in 2.0.
    • New exportResponsesWithProgress resolves to { data, progress } so the continuationToken of an export started with allowContinuation can be kept for incremental exports. New type ResponseExportResult.
    • Per-call poll: { intervalMs?, maxAttempts? } on importContacts, exportResponses, exportResponsesWithProgress and distributeSurveys (defaults unchanged: 1 s, 300 attempts). New type PollOptions.
    • Options relaxed to match the API: startDate/endDate (exports), sendStartDate/sendEndDate (list distributions), ownerId (create mailing list, distribute surveys), Contact.email and mailingListId on createDistribution (give transactionBatchId instead) are now optional; absent values are omitted from the request.
    • Options added: includeWaveWeights (exports), recipients.directoryId (createDistribution), Contact.phone and Contact.id; embedded and transaction data values may be string | number | boolean (EmbeddedDataValue).
    • ContactsImportStatusResponse gains invalidEmails?; ContactsImportSummaryResponse is now that type with invalidEmails required.
    • TSDoc on every option and response type; README documents Contact, the new actions and the json/ndjson restrictions.

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 14 Oct 22:19
9a15a23

Patch Changes

  • 6570ac4: Response export fixes and documentation corrections

    • exportResponses now waits for status === 'complete' instead of percentComplete === 100, as the Qualtrics docs require (percentComplete is a convenience field and fileId is null until the export completes).
    • A failed export's reason is no longer lost: the Failure message includes the job's code: message and details carries them as errorCode/errorMessage.
    • getResponseExportFile always returns the body as a Buffer; an uncompressed json export (compress: false) was being parsed by content type and failed with Unexpected file response format.
    • FileProgressResponse.fileId is typed string | null and the new error field (ResponseExportJobError) and ResponseExportStatus type describe what Qualtrics returns. safeParseFileProgressResponse no longer rejects a progress response without fileId.
    • Corrected the @see links on createDistribution, createReminder and getDistribution (the old pages 404) and pointed the contact-import and export step actions at their endpoint pages.

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 21:51
515803b

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

Choose a tag to compare

@github-actions github-actions released this 14 Oct 21:40
f76aa30

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

Choose a tag to compare

@github-actions github-actions released this 14 Oct 21:28
9373a9c

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

Choose a tag to compare

@github-actions github-actions released this 14 Oct 21:10

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

Choose a tag to compare

@github-actions github-actions released this 11 Sep 01:44
9371bf2

Patch Changes

  • 3bb9e4f: Revert list distributions params change

v0.3.5

Choose a tag to compare

@github-actions github-actions released this 11 Sep 01:26
8c2f6f2

Patch Changes

  • 6d085dc: Update list distribution to make survey id optional

v0.3.4

Choose a tag to compare

@github-actions github-actions released this 30 Mar 12:35
bb1fc97

Patch Changes

  • da8c841: Update required props listDistributions