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

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Sendinblue : lister l'activité de mes emails transactionnels avec Curl et PHP

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

par aMoN » 25 mars 2022, 01:18

Up : Résolu :D Merci encore pour ton aide.

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

par aMoN » 24 mars 2022, 12:47

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

par aMoN » 24 mars 2022, 12:39

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

par @rthur » 24 mars 2022, 12:25

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)

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

par aMoN » 24 mars 2022, 11:16

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>';
 
 
?>