Aller au contenu principal

Développer des webhooks Optacy

Types d’événements, exemples de contenus et référence des champs pour les webhooks de demandes d’exercice de droits Optacy.

Optacy prend actuellement en charge deux événements :

privacy_request.received
privacy_request.updated

Tous deux transmettent le dernier état de la demande d’exercice de droits. Pour une demande via Toll-Free Number (messagerie vocale), vous pouvez recevoir deux événements privacy_request.updated après la réception : l’un lorsque l’enregistrement est disponible, l’autre lorsque la transcription est prête.

Exemple : privacy_request.received (formulaire 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"
  }
}

Exemple : privacy_request.updated (messagerie vocale)

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

Champs de la demande d’exercice de droits

CléDescription
event_nameChaîne, par ex. privacy_request.received
signatureObjet contenant le jeton aléatoire, l’horodatage (ms) et la signature (voir Sécurité logicielle)
idUUID de la demande d’exercice de droits
typeChaîne, par ex. Voicemail ou WebForm
primary_identifierIdentifiant principal de la demande
consumer_emailE-mail utilisé pour communiquer avec le demandeur
email_verified_atDate de vérification de l’e-mail
acknowledgedIndique si la demande a fait l’objet d’un accusé de réception
verifiedIndique si la demande est marquée comme vérifiée
categorizedIndique si la demande est catégorisée (toujours true pour un formulaire web)
completedIndique si la demande a été traitée
completed_rightsCorrespondance entre les clés de droits et { completed, completed_at }
extendedIndique si l’échéance a été prolongée
deadlineDate d’échéance calculée à partir des Jurisdiction Rules, des prolongations et des droits non traités
created_at / updated_atHorodatages de la demande
categorized_rightsVue recommandée des droits : réponses et configuration des droits
categorized_questions_dataVue recommandée des réponses au formulaire : valeurs et configuration du Form Field Set
categorized_country / categorized_stateChamps de juridiction recommandés (state vaut null hors des États-Unis)

Service Code

CléDescription
codeService Code de cette demande
nameNom d’affichage du Service Code
created_at / updated_atHorodatages du Service Code

Session d’appel (demandes via Toll-Free Number)

CléDescription
created_at / ended_atHeures de début d’appel et de raccrochage
caller_idNuméro de téléphone de l’appelant
caller_nameNom issu de la recherche CNAM
caller_stateÉtat américain déduit de l’indicatif régional, si disponible
recording_statuscompleted lorsque les octets sont disponibles, ou failed
mp3_encoded_bytesOctets MP3 encodés en Base64
transcription_statuscompleted lorsque la transcription est prête
transcription_textTexte de la transcription

Session de formulaire web

CléDescription
idUUID de la session de formulaire web
created_atDate de réception du formulaire web
remote_ipAdresse IP du demandeur
webform_questions_data / rightsPréférez plutôt categorized_questions_data et categorized_rights
country_of_residence / stateCopiés dans les champs catégorisés de pays/État