Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Il est nécessaire d’indiquer un identifiant qui permettra de relayer le formulaire à son utilisateur (user_id userid ci-dessous).

Code Block
languagephp
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” callback positionné à l’URL à appeler ainsi que iframeEventsTargetOrigin positionné à l’origine de la frame parente.

Code Block
languagehtml
<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>

...