API de données par lots intégrée et problèmes d'affichage d'un seul des éléments filtrés. L'exemple d'API est : https://developer.batchdata.com/docs/batchdata/batchdata-v1/operations/create-a-property-skip-trace
Dans cet exemple, j'ai essayé d'afficher uniquement le champ du numéro de téléphone ou de l'e-mail. Affichage des résultats complets pour que je sache que l'API fonctionne... Cependant, je ne peux pas afficher les éléments filtrés comme ceci :
<?php $email; ?> <?php echo $response->response->results->result[0]->results->persons->email;?> <?php echo $response->options->customProjection[0]->results->persons->phoneNumbers->number;?>
Voici le code complet que j'ai maintenant :
<?php $location = $entity->getSingleFieldValue('field_site_address'); $street = $location['street']; $city = $location['city']; $state = $location['province']; $email = $response->response->results->result[0]->results->persons->email; $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.batchdata.com/api/v1/property/skip-trace", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => "{\n \"requests\": [\n {\n \"propertyAddress\": { \"street\": \"$street\", \"city\": \"$city\", \"state\": \"$state\" } }\n ]\n}", CURLOPT_HTTPHEADER => [ "Authorization: Bearer xxxxxx", "Content-Type: application/json" ], ]); $data = simplexml_load_string($result); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); ?> <?php if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }?> <?php $email; ?> <?php echo $response->response->results->result[0]->results->persons->email;?> <?php echo $response->options->customProjection[0]->results->persons->phoneNumbers->number;?>
Vous devez décoder le JSON avant d'essayer d'accéder aux champs
Ajoutez ceci dans votre déclaration else
Je ne suis pas sûr de la réponse JSON exacte que vous renvoyez, mais en regardant l'exemple, vous devrez peut-être l'utiliser pour obtenir l'e-mail et le numéro de téléphone, mais je ne peux pas le confirmer sans une réponse réelle (si l'e-mail et le numéro de téléphone sont inclus, veuillez ne pas poster votre réponse réelle)