Pardot API - возвращать JSON вместо XML - PullRequest
1 голос
/ 15 мая 2019

Я использую GuzzleHttp для отправки запросов в Pardots API.

class PardotIntegration {

    private $client;

    private $apikey;



    public function __construct() {
        $this->client  = new \GuzzleHttp\Client();
    }

    public function authenticate() {
        $params = [
            'email' => 'abc@example.com',
            'user_key'   => '3487328947239478927',
            'password' => 'password'
        ];

        $res = $this->client->post('https://pi.pardot.com/api/login/version/3', [

            'form_params' => $params
        ]);

        echo $res->getBody();


    }


}

$pardot = new PardotIntegration;

$pardot->authenticate();

В документации говорится, что вы можете вернуть либо XML, либо JSON из запроса: http://developer.pardot.com/#changing-the-api-response-format

Однако яне знаю, как вернуть JSON вместо XML, который используется по умолчанию.

Я пытался добавить

$res = $this->client->post('https://pi.pardot.com/api/login/version/3', [
            'headers' => [
                'Accept' => 'application/json'
            ],
            'form_params' => $params
        ]);

, но это все равно возвращает XML.

1 Ответ

2 голосов
/ 15 мая 2019

У них плохая документация.

Я обнаружил, что скрыт по конкретному запросу, который нужно добавить в параметры тела:

'format' => 'json'

...