Transcend Docs

New DSR job

Transcend sends notifications to your server in the event of a DSR (if you have a custom integration set up in your Integrations).

You will get a webhook notification for each identifier Transcend is using to search for this user (e.g. one for their email address; another for their phone number). The identifiers sent are configured in your integration's DSR Automation settings.

When it's time for your server to process a DSR, such as an access or erasure request, Transcend will send a webhook to the URL you specify in your custom integration's settings.

We recommend listening on a path such as /webhooks/transcend/dsr-job.

Header Parameters

x-sombra-token*string

A token used for webhook authentication, containing a JSON Web Token (JWT) asymetrically signed with the ES384 algorithm.

x-transcend-nonce*string

A reusable token sent in Transcend's webhook for this job, and returned by you when uploading the result of this job back to Transcend. Called a 'nonce' for legacy reasons, but is actually reusable.

Request Body

application/json
  1. body
coreIdentifier*
type*string

The type of DSR received. Only the request types you enable in Transcend will be sent. If your system does not need to perform the operation, you can configure the workflow such that the webhook is never sent for a particular request type in the Manager Datapoints on the Integrations page.

Length1 <= length
Value in"ACCESS""ERASURE""RECTIFICATION""RESTRICTION""BUSINESS_PURPOSE""PLACE_ON_LEGAL_HOLD""REMOVE_FROM_LEGAL_HOLD""AUTOMATED_DECISION_MAKING_OPT_OUT""USE_OF_SENSITIVE_INFORMATION_OPT_OUT""CONTACT_OPT_OUT""SALE_OPT_OUT""TRACKING_OPT_OUT""CUSTOM_OPT_OUT""AUTOMATED_DECISION_MAKING_OPT_IN""USE_OF_SENSITIVE_INFORMATION_OPT_IN""SALE_OPT_IN""TRACKING_OPT_IN""CONTACT_OPT_IN""CUSTOM_OPT_IN"
dataSubject*

Information about the data subject making this request.

isTest*boolean

Whether or not the request is flagged as a test request in the platform. Your normally don't need to worry about this parameter.

extras*

Response Body

The webhook was received successfully. No response body is required. Typically, your job will run async, so the output of your job can be reported through a separate API request from your system to Transcend. In this case, Transcend will expect a follow up API request at some point in the future. If no job is received after some time, the webhook will be retried. The retry rate is variable but normally within 24 hours. You can optionally include a status in the response body, which transitions the request to that state. Note: if you want to specify an email template, you will have to follow up using one of the asynchronous routes.

application/json
  1. response
status?string

If your preflight check can respond immediately, you can respond directly to this webhook to either cancel the request entirely or place the request on hold and pause further processing. If your preflight check is async, then omit this field, and instead follow up asynchronously through a separate API request.

Length1 <= length
Value in"CANCELED""ON_HOLD"
Example Requests
POST//webhook/new-privacy-request-job
Request Body
application/json
{  "type": "ACCESS",  "dataSubject": {    "type": "customer"  },  "isTest": false,  "extras": {    "profile": {      "identifier": "jane.doe@example.com",      "type": "email",      "id": "bd955664-611f-4d62-adfe-aa14d4a77608",      "RequestDataSiloId": "1aeb5dbd-5003-4880-9db6-c9ab3e408f74"    },    "dataSilo": {      "id": "12dd1fd8-b310-4712-ba6b-0e2e29ecd2ac",      "title": "My Custom Integration",      "description": "Our production application backend. Calls a function that exports or deletes a user from our service.",      "link": "https://app.transcend.io/infrastructure/connected-services/configuration/12dd1fd8-b310-4712-ba6b-0e2e29ecd2ac"    },    "request": {      "details": "",      "id": "303b8129-70d9-47b9-b408-aa5ddca398e4",      "link": "https://app.transcend.io/request/303b8129-70d9-47b9-b408-aa5ddca398e4",      "createdAt": "2022-03-04T02:50:42.257Z",      "locale": "fr-FR",      "origin": "PRIVACY_CENTER",      "country": "US",      "countrySubDivision": "US-CA",      "attributes": []    },    "organization": {      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "uri": "e-shop-it",      "name": "eShopIt"    }  },  "coreIdentifier": {    "value": "jane.doe@example.com"  }}
Header Parameters
{  "x-sombra-token": "string",  "x-transcend-nonce": "string"}