Saltar al contenido principal

Desarrollo de webhooks de Optacy

Tipos de eventos, ejemplos de contenido y referencia de campos de los webhooks de solicitudes de ejercicio de derechos de Optacy.

Actualmente, Optacy admite dos eventos:

privacy_request.received
privacy_request.updated

Ambos incluyen el estado más reciente de la solicitud de ejercicio de derechos. En una solicitud por Toll-Free Number (buzón de voz), es posible que reciba dos eventos privacy_request.updated después de la recepción: uno cuando la grabación está disponible y otro cuando la transcripción está lista.

Ejemplo: privacy_request.received (formulario web)

{
  "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"
  }
}

Ejemplo: privacy_request.updated (buzón de voz)

{
  "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!"
  }
}

Campos de la solicitud de ejercicio de derechos

ClaveDescripción
event_nameCadena, p. ej. privacy_request.received
signatureObjeto con token aleatorio, marca de tiempo (ms) y firma; consulte Seguridad del software
idUUID de la solicitud
typeCadena, p. ej. Voicemail o WebForm
primary_identifierIdentificador principal de la solicitud
consumer_emailCorreo electrónico utilizado para comunicarse con el solicitante
email_verified_atCuándo se verificó el correo electrónico
acknowledgedSi se acusó recibo de la solicitud
verifiedSi la solicitud está marcada como verificada
categorizedSi la solicitud está categorizada (siempre true en formularios web)
completedSi la solicitud se completó
completed_rightsMapa de claves de derechos a { completed, completed_at }
extendedSi se amplió el plazo
deadlineFecha de vencimiento según las Jurisdiction Rules, las ampliaciones y los derechos pendientes
created_at / updated_atMarcas de tiempo de la solicitud
categorized_rightsVista preferida de los derechos: respuestas más la configuración de cada derecho
categorized_questions_dataVista preferida de las respuestas del formulario: valores más la configuración del Form Field Set
categorized_country / categorized_stateCampos de jurisdicción preferidos (state es null fuera de EE. UU.)

Service Code

ClaveDescripción
codeService Code de esta solicitud
nameNombre visible del Service Code
created_at / updated_atMarcas de tiempo del Service Code

Sesión de llamada (solicitudes por Toll-Free Number)

ClaveDescripción
created_at / ended_atHora de inicio y de fin de la llamada
caller_idNúmero de teléfono del llamante
caller_nameNombre obtenido mediante consulta CNAM
caller_stateEstado de EE. UU. según el código de área, cuando está disponible
recording_statuscompleted cuando los bytes están disponibles, o failed
mp3_encoded_bytesBytes MP3 codificados en Base64
transcription_statuscompleted cuando la transcripción está lista
transcription_textTexto de la transcripción

Sesión de formulario web

ClaveDescripción
idUUID de la sesión de formulario web
created_atCuándo se recibió el formulario web
remote_ipDirección IP del solicitante
webform_questions_data / rightsEs preferible usar categorized_questions_data y categorized_rights
country_of_residence / stateSe copian en los campos categorizados de país/estado