Получение списка транзакционных шаблонов SendGrid - PullRequest
0 голосов
/ 25 января 2019

Я пытался получить список транзакционных шаблонов SendGrid с помощью API. Я использую правильный ключ API и получаю пустой массив, в то время как в моей учетной записи SendGrid существует около 5 транзакционных шаблонов. Вот ответ:

{
  "templates": []
}

Есть догадки, что может быть не так?

Ответы [ 2 ]

0 голосов
/ 06 августа 2019

Использование Api 7.3.0 PHP

require("../../sendgrid-php.php"); 
$apiKey = getenv('SENDGRID_API_KEY');
$sg = new \SendGrid($apiKey);

#Comma-delimited list specifying which generations of templates to return. Options are legacy, dynamic or legacy,dynamic
    $query_params = json_decode('{"generations": "legacy,dynamic"}');
    try {
        #$response = $sg->client->templates()->get();
        $response = $sg->client->templates()->get(null, $query_params);

        echo $response->body();
        exit;
    } catch (Exception $e) {
        echo '{"error":"Caught exception: '. $e->getMessage().'"}';

    }
0 голосов
/ 15 марта 2019

Есть догадки, что может быть не так?

Да, их документация может быть!

Я также застрял с этой проблемой и, наконец, смог ее решить, как только открыл devtools и увидел, как они запрашивают свой собственный API из пользовательского интерфейса. Короче говоря - нужно передать дополнительный generations=dynamic параметр запроса. Вот код C #, который я использую:

            var client = new SendGridClient("key");
            var response = await client.RequestAsync(
                SendGridClient.Method.GET, 
                urlPath: "/templates",
                queryParams: "{\"generations\": \"dynamic\"}");
...