...
Il est nécessaire d’indiquer un identifiant qui permettra de relayer le formulaire à son utilisateur (user_id
userid
ci-dessous).
Code Block | ||
---|---|---|
| ||
function getFormgetFormUrl($token) { $api_url = "https://core.fairandsmart.com/api"; $organisation_id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"; $model_id_or_alias = "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY"; $user_id =$context = [ "userid" => "test fns";, $callback"callback" => "https://www.fairandsmart.com";, $iframe_event_target_origin// "country" => "http://localhost:8080";FR", $body"language" => "fr";, $body = $body .// "optoutEmail"userid => " . $user_id;foo@bar.com", // $body"receipt" = $body . "&callback=" . $callback;> true, "iframe" => true, $body = $body . "&iframe-events-target-origin=" . $iframe_event_target_origin;iframeEventsTargetOrigin" => "http://localhost:8080", ]; $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => $api_url . "/organisations/" . $organisation_id . "/consents/" . $model_id_or_alias . "/endpoint", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => $bodyjson_encode($context), CURLOPT_HTTPHEADER => array( "Authorization: Bearer $token", "Content-Type: application/x-www-form-urlencodedjson", ), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { $url = json_decode($response)->endpoint; } return $url; } |
...
Cet exemple ne couvre pas les variantes de l’appel ; les champs suivants peuvent être renseignés selon l’usage souhaité :
callback
: URL vers laquelle l’utilisateur sera redirigé à l’issue de la saisie ;optoutEmail
: adresse email à laquelle une reçu de consentement sera transmis ;receipt
: booléen indiquant si un reçu de consentement doit être présenté à l’issue de la saisie ;iframe
: autorise l’injection de la librairie iframe-resizer dans le formulaire.iframeEventsTargetOrigin
: active la transmission d'évènements entre l’iframe et la frame parente et indique quelle doit être l'origine de cette dernière (voir Déclencher un rechargement de la frame parente).
Se reporter à https://core.fairandsmart.com/doc/api.html#operation/getConsentEndointJson pour plus d’information et une liste exhaustive des paramètres possibles (langue du formulaire, pays de résidence etc …).
...
Note |
---|
dans ce cas l’appel HTTP de génération de l’URL du formulaire doit contenir le paramètre “callback” |
Code Block | ||
---|---|---|
| ||
<html> <body> <script type="application/javascript"> window.addEventListener("message", messageListener, false); function messageListener(event) { console.log(event); if (event.data.startsWith('consent-callback/')) { const urlback = event.data.replace('consent-callback/', ''); window.location.assign(urlback); } } </script> <iframe width="700" height="500" src="<?php echo getForm(getToken()) ?>"></iframe> </body> </html> |
...
documentation de l’API : https://core.fairandsmart.com/doc/api.html
iframeresizer : https://github.com/davidjbradshaw/iframe-resizer
communication inter-domaine : https://developer.mozilla.org/fr/docs/Web/API/Window/postMessage