Page 1 sur 1

Sendinblue : lister l'activité de mes emails transactionnels avec Curl et PHP

Posté : 24 mars 2022, 11:16
par aMoN
Bonjour,

Je souhaiterai lister l'activité de mes emails transactionnels avec l'api sendinblue (Méthode CURL), en sorant les résultats avec un tableau et des colonnes : Email , Sujet, événements (délivré, cliqué etc.)

Actuellement, je ne peux afficher que la première ligne, je ne sais pas pourquoi.

Toute aide est la bienvenue,

Merci d'avance.
<?php
 
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
 
$curl = curl_init();
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt_array($curl, array(
    CURLOPT_URL => "https://api.send!nblue.c0m/v3/smtp/statistics/events?limit=50&offset=0&sort=desc",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => array(
        "accept: application/json",
        "api-key: XXX",
        "content-type: application/json"
    ),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
 
$data =  json_decode($response);
 
echo '<table>';
        foreach($data as $result){
          echo '<tr>';
            echo '<td>'.$result[0]->email.'</td>';
            echo '<td>'.$result[0]->subject.'</td>';
          echo '</tr>';
        }
        echo '</table>';
 
 
?>

Re: Sendinblue : lister l'activité de mes emails transactionnels avec Curl et PHP

Posté : 24 mars 2022, 12:25
par @rthur
Il faut que tu avances dans ton debugage :
- que te renvoie l'API ?
- que te donne var_dump($data);

Si ton appel à l'API ne te donne pas les données attendues, mon conseil est d'utiliser Postman pour faire tes tests d'API et une fois que tu as ce qu'il faut tu intègre celà dans ton code PHP (Postman permet aussi de générer le code PHP/Curl directement pour faire l'appel)

Re: Sendinblue : lister l'activité de mes emails transactionnels avec Curl et PHP

Posté : 24 mars 2022, 12:39
par aMoN
Merci pour la réponse.

En faisant un var_dump j'obtiens:

Code : Tout sélectionner

string(14562) "{"events":[{"email":"XXX","date":"2022-03-23T18:23:47.254+01:00","subject":"✅ Félicitation votre compte membre est désormais activé !","messageId":"<[email protected]!nblue.c0m>","event":"clicks","tag":"","ip":"XXX","link":"XXX","from":"XXX"},
En utilisant la section de développement de sendinblue (avec une clé API) , cela donne :

Voici l'aperçu : https://i.imgur(dot)com/TTupfGg.png (remplacer (dot) par .)

Re: Sendinblue : lister l'activité de mes emails transactionnels avec Curl et PHP

Posté : 24 mars 2022, 12:47
par aMoN
Il faut que tu avances dans ton debugage :
- que te renvoie l'API ?
- que te donne var_dump($data);

Si ton appel à l'API ne te donne pas les données attendues, mon conseil est d'utiliser Postman pour faire tes tests d'API et une fois que tu as ce qu'il faut tu intègre celà dans ton code PHP (Postman permet aussi de générer le code PHP/Curl directement pour faire l'appel)
Sur postman j'en suis à ce niveau : https://i.imgur(dot)com/3e534xP.png

Re: Sendinblue : lister l'activité de mes emails transactionnels avec Curl et PHP

Posté : 25 mars 2022, 01:18
par aMoN
Up : Résolu :D Merci encore pour ton aide.