IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

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


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de Saturos2k4
    Homme Profil pro
    Analyse système
    Inscrit en
    Juillet 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2015
    Messages : 37
    Par défaut Sendinblue : lister l'activité de mes emails transactionnels avec Curl et PHP
    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.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <?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.sendinblue.com/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>';
     
     
    ?>

  2. #2
    Membre très actif
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Par défaut
    Tu peux faire un var_dump de la variable $response pour vérifier le contenu de ta réponse API.

  3. #3
    Membre averti Avatar de Saturos2k4
    Homme Profil pro
    Analyse système
    Inscrit en
    Juillet 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2015
    Messages : 37
    Par défaut
    Merci pour la réponse

    En faisant un var_dump j'obtiens:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string(14562) "{"events":[{"email":"XXX@gmail.com","date":"2022-03-23T18:23:47.254+01:00","subject":"✅ Félicitation votre compte membre est désormais activé !","messageId":"<XXX@smtp-relay.sendinblue.com>","event":"clicks","tag":"","ip":"XXX","link":"XXX","from":"contact@XXX.com"},
    En utilisant la section de développement de sendinblue (avec une clé API) , cela donne :


  4. #4
    Membre très actif
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Par défaut
    Dans la boucle que tu as fais tu devrais parcourir le tableau "events", afin de parcourir la liste, si c'est bien ce dont tu as besoin.
    En faisant le dump tu peux repérer les clés du tableaux que tu dois parcourir pour obtenir ce que tu veux

  5. #5
    Membre averti Avatar de Saturos2k4
    Homme Profil pro
    Analyse système
    Inscrit en
    Juillet 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2015
    Messages : 37
    Par défaut
    En faisant un dump j'ai cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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":"<XXX>","event":"clicks","tag":"","ip":"154.126.12.137","link":"XXX","from":"XXX"},{"email":"XXX}, ETC....
    Que signifie string(14562)?

  6. #6
    Membre averti Avatar de Saturos2k4
    Homme Profil pro
    Analyse système
    Inscrit en
    Juillet 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2015
    Messages : 37
    Par défaut
    J'ai trouvé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $datas =  json_decode($response,true);
     
    echo "<table border='1' width='50%' align='center'>";
    foreach($datas['events'] as $data)
    {
       echo "<tr>";
       echo "<td>".$data['email']."</td>";
       echo "<td>".$data['subject']."</td>";
       echo "<td>".$data['event']."</td>";
       echo "</tr>";
     
    }
    echo "</table>";
    Ce qui me donne un super tableau avec l’e-mail, le sujet, et l'évènement !

    Merci encore pour ton aide précieuse.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer mes email ovh
    Par Reymqn13 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 07/01/2008, 14h59
  2. Restaurer mes emails supprimés ?
    Par hakim11 dans le forum Outlook Express / Windows Mail
    Réponses: 7
    Dernier message: 03/12/2007, 15h21
  3. [HTML] Je doit ajouter des 3D dans mes Email HTML
    Par Higestromm dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 22/03/2006, 17h18
  4. Mes emails restent en file d'attente sur mon serveur
    Par FredericB dans le forum Réseau
    Réponses: 3
    Dernier message: 26/10/2005, 10h04
  5. Problème avec mes emails sous postfix
    Par barbot dans le forum Réseau
    Réponses: 4
    Dernier message: 23/06/2004, 14h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo