mailjet / mailjet-apiv3-php

[API v3] Mailjet PHP Wrapper
http://dev.mailjet.com
MIT License
263 stars 86 forks source link

Problème documentation API Mailjet #207

Closed jammye closed 3 years ago

jammye commented 3 years ago

Bonjour,

J'ai un soucis avec la doc et le SDK. Je souhaite récupérer toutes les stats d'une campagne et cela m'oblige à utiliser les routes permettant cela. Il y a un problème, la DOC est différente du SDK (Exemple : https://dev.mailjet.com/email/reference/statistics#v3_get_statistics_link-click)

La DOC :

<?php
require 'vendor/autoload.php';

use \Mailjet\Resources;
$mj = new \Mailjet\Client(getenv('MJ_APIKEY_PUBLIC'), getenv('MJ_APIKEY_PRIVATE'),true,['version' => 'v3']);
$response = $mj->get(Resources::$Statistics);
$response->success() && var_dump($response->getData());
?>

Le problème, c'est dans le SDK, la ressource Resources::$Statistics n'existe pas.

On a la place :

    public static $StatisticsLinkclick = ['statistics', 'link-click'];
    public static $StatisticsRecipientesp = ['statistics', 'recipient-esp'];

Du coup, j'invente, j'essaye :

        $response = $mj->get(Resources::$StatisticsLinkclick, [
            'CampaignID' => $id
        ]);

Pour un retour de ce style : "Unknown resource: "statistics""

Pourriez vous me dire quoi faire/comment faire pour faire fonctionner l'API proprement svp ?

uavn commented 3 years ago

@jammye Bonjour,

you're right, documentation is incorrect, here is working example:

$mj = new \Mailjet\Client(getenv('MJ_APIKEY_PUBLIC'), getenv('MJ_APIKEY_PRIVATE'), true, ['version' => 'v3']);

$response = $mj->get(Resources::$StatisticsLinkclick, [
    'filters' => [
        'CampaignID' => 1324462,// here is your Campaign ID
    ]
]);

print_r($response->getStatus());
echo ':';
print_r($response->getReasonPhrase());
echo ':';
print_r($response->getData());
die;

To pass query params you need to specify 'filters' param, like in example above.