使用 Laravel http 客户端请求发送多维数组作为键

Sending multidimensional array as key with Laravel http client request

我想使用 HelloSign API 让用户通过我们的 Laravel 应用程序签署合同。为了进行 API 调用,我使用了 Laravel 的 Http 客户端,它是围绕 Guzzle Http 客户端构建的。

为了将签名者分配给 HelloSign 交易,API 需要以下参数:

signers[Agent][name]

现在当我在邮递员中运行这个。它就像一个魅力。但是当我在 Laravel 的 HTTP 客户端中使用这样的参数时,我收到以下错误消息:Invalid parameter: signers[Agent][name]。但是当我使用 cURL 使用完全相同的结构时,它就像一个魅力。

HTTP 客户端:

Http::withBasicAuth($key, '')->post($url, [
            'test_mode' => '1',
            'template_id' => $template_id,
            'signers[Agent][name]' => 'John Doe',
            'signers[Agent][email_address]' => 'dummy@test.com'
        ]);

卷曲:

    CURLOPT_POSTFIELDS => array(
            'test_mode' => '1',
            'template_id' => $template_id,
            'signers[Agent][name]' => 'John Doe',
            'signers[Agent][email_address]' => 'dummy@test.com'
        ),

如何使 HTTP 客户端工作?

尝试使用多维数组:

Http::withBasicAuth($key, '')->post($url, [
    'test_mode' => '1',
    'template_id' => $template_id,
    'signers' => [
        'Agent' => [
            'name' => 'John Doe',
            'email_address' => 'dummy@test.com'
        ]
    ]
]);