Zum Hauptinhalt springen

Optacy-Webhooks entwickeln

Event-Typen, Beispiel-Payloads und Feldreferenz für Optacy-Webhooks zu Datenschutzanfragen.

Optacy unterstützt derzeit zwei Events:

privacy_request.received
privacy_request.updated

Beide enthalten den neuesten Stand der Datenschutzanfrage. Bei einer Anfrage über die Toll-Free Number (Voicemail) erhalten Sie nach dem Eingang möglicherweise zwei privacy_request.updated-Events: eines, wenn die Aufnahme verfügbar ist, und ein weiteres, wenn die Transkription bereitsteht.

Beispiel: privacy_request.received (Webformular)

{
  "event_name": "privacy_request.received",
  "signature": {
    "random_token": "b39a5c7ac85ec479f921cdfaae4b4eee",
    "timestamp": "1584300477293",
    "signature": "599a40fb2d25f995a40dc43f725a57be4e8df90"
  },
  "id": "4e2c7dcd-8277-40bb-1082-66c7cb417df2",
  "type": "WebForm",
  "primary_identifier": "john@doe.com",
  "consumer_email": "john@doe.com",
  "email_verified_at": "2025-01-01",
  "acknowledged": true,
  "categorized": false,
  "verified": false,
  "extended": false,
  "completed": false,
  "completed_rights": {
    "data_categories_request": { "completed": false, "completed_at": null },
    "do_not_sell": { "completed": true, "completed_at": "2025-01-01" },
    "erase_my_information": { "completed": false, "completed_at": null },
    "send_me_a_copy_of_information": { "completed": false, "completed_at": null },
    "other": { "completed": false, "completed_at": null }
  },
  "deadline": "2025-07-02",
  "created_at": "2025-05-18T17:36:44.399Z",
  "updated_at": "2025-05-18T17:36:45.187Z",
  "categorized_country": "USA",
  "categorized_state": "California",
  "service_code": {
    "code": 1,
    "name": "Example Brand",
    "created_at": "2024-07-16T20:31:24.915Z",
    "updated_at": "2025-05-18T16:40:19.894Z"
  },
  "jurisdiction_rule": {
    "name": "USA only",
    "description": "Description of applied Jurisdiction Rule",
    "created_at": "2025-05-17T18:48:59.391Z",
    "days_to_process": 45,
    "notes": "Available in the Jurisdictions tab in the dashboard."
  },
  "web_form_session": {
    "id": "904c1b30-2ba8-49cf-a349-46f7c6b29e70",
    "created_at": "2025-05-18T17:36:44.394Z",
    "remote_ip": "24.102.96.226"
  }
}

Beispiel: privacy_request.updated (Voicemail)

{
  "event_name": "privacy_request.updated",
  "signature": {
    "random_token": "a021778c09cdae8897859340d3f0b32f",
    "timestamp": "1584305606907",
    "signature": "201de4703b7ce1eb33878fa29d77d8572ddeb2af"
  },
  "id": "abf78bbb-a152-4f09-90ad-5802f53721d7",
  "type": "Voicemail",
  "primary_identifier": "john@doe.com",
  "consumer_email": "john@doe.com",
  "acknowledged": false,
  "categorized": false,
  "verified": true,
  "extended": false,
  "completed": true,
  "deadline": "2019-11-05",
  "created_at": "2019-09-21 16:31:11 UTC",
  "updated_at": "2020-03-15 20:48:05 UTC",
  "categorized_country": "USA",
  "categorized_state": "California",
  "service_code": {
    "code": "2",
    "name": "test",
    "created_at": "2019-09-21 16:31:11 UTC",
    "updated_at": "2020-01-26 05:59:40 UTC"
  },
  "call_session": {
    "created_at": "2019-09-21 16:31:11 UTC",
    "ended_at": "2019-09-21 16:33:11 UTC",
    "caller_id": "+15555555555",
    "caller_name": "John Smith",
    "caller_state": "CA",
    "recording_status": "completed",
    "mp3_encoded_bytes": "",
    "transcription_status": "completed",
    "transcription_text": "Hello world!"
  }
}

Felder der Datenschutzanfrage

SchlüsselBeschreibung
event_nameString, z. B. privacy_request.received
signatureObjekt mit zufälligem Token, Zeitstempel (ms) und Signatur (siehe Softwaresicherheit)
idUUID der Datenschutzanfrage
typeString, z. B. Voicemail oder WebForm
primary_identifierPrimärer Identifikator der Anfrage
consumer_emailE-Mail-Adresse für die Kommunikation mit der anfragenden Person
email_verified_atZeitpunkt, zu dem die E-Mail-Adresse verifiziert wurde
acknowledgedOb der Eingang der Anfrage bestätigt wurde
verifiedOb die Anfrage als verifiziert markiert ist
categorizedOb die Anfrage kategorisiert ist (bei Webformularen immer true)
completedOb die Anfrage abgeschlossen wurde
completed_rightsZuordnung von Rechte-Schlüsseln zu { completed, completed_at }
extendedOb die Frist verlängert wurde
deadlineFälligkeitsdatum aus Jurisdiction Rules, Verlängerungen und noch nicht erfüllten Rechten
created_at / updated_atZeitstempel der Anfrage
categorized_rightsBevorzugte Ansicht der Rechte: Antworten plus Konfiguration der Rechte
categorized_questions_dataBevorzugte Ansicht der Formularantworten: Werte plus Konfiguration des Form Field Sets
categorized_country / categorized_stateBevorzugte Felder für die Jurisdiktion (state ist außerhalb der USA null)

Service Code

SchlüsselBeschreibung
codeService Code dieser Anfrage
nameAnzeigename des Service Codes
created_at / updated_atZeitstempel des Service Codes

Call Session (Anfragen über die Toll-Free Number)

SchlüsselBeschreibung
created_at / ended_atBeginn des Anrufs und Zeitpunkt des Auflegens
caller_idTelefonnummer des Anrufers
caller_nameName aus der CNAM-Abfrage
caller_stateUS-Bundesstaat anhand der Vorwahl, sofern verfügbar
recording_statuscompleted, wenn die Bytes verfügbar sind, oder failed
mp3_encoded_bytesBase64-codierte MP3-Bytes
transcription_statuscompleted, wenn die Transkription bereitsteht
transcription_textText der Transkription

Web Form Session

SchlüsselBeschreibung
idUUID der Web Form Session
created_atZeitpunkt, zu dem das Webformular eingegangen ist
remote_ipIP-Adresse der anfragenden Person
webform_questions_data / rightsVerwenden Sie stattdessen bevorzugt categorized_questions_data und categorized_rights
country_of_residence / stateWerden in die kategorisierten Felder für Land/Bundesstaat übernommen