Я пытаюсь использовать CURL для отправки в PANDADOCS следующих полей, но по какой-то причине я получаю сообщение об ошибке, что значения не принимаются на их стороне.Отправка Curl POSTFIELDS array
Это ошибка я получаю:
"типа": "validation_error", "деталь": { "URL": [ "Это поле обязательно для заполнения."], "Имя": [ "Это поле обязательно "]}}
Я отправляю со следующим:.
$docurl = "myurl.com/document.pdf";
$headr = array();
$headr[] = 'Content-length: 0';
$headr[] = 'Content-Type: application/json;charset=UTF-8';
$headr[] = "Authorization: Bearer $ACCESS_TOKEN";
$url = 'https://api.pandadoc.com/public/v1/documents';
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER,$headr);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
$postfields = array();
$postfields['name'] = 'PSA';
$postfields['url'] = $docurl;
$postfields['recipients'] = array ([0]=>array(
['email'] => ['[email protected]'],
['first_name'] => ['don'],
['last_name'] => ['jones'],
['role']=>['u1'] ));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query( $postfields));
$ret = curl_exec($ch); //
когда я print_r ($ postfields) я получаю Array ([имя] => PSA [URL] =>https://api.pandadoc.com/public/v1/documents [получатели] => Массив())
так что все поля arent получаются.
но, Что странно, что URL и имя в массиве, но не в других областях пока ошибка жалующихся не получает NAME и URL ..
ошеломленный и растерянный ...
* Hostname was found in DNS cache
* Trying 54.190.72.92...
* Connected to api.pandadoc.com (54.190.72.92) port 443 (#28)
* SSL connection using TLSv1.2/ECDHE-RSA-AES256-GCM-SHA384
* Server certificate:
* subject: OU=GT83522468; OU=See www.rapidssl.com/resources/cps (c)14; OU=Domain Control Validated - RapidSSL(R); CN=*.pandadoc.com
* start date: 2014-11-09 00:32:24 GMT
* expire date: 2016-10-11 09:34:58 GMT
* subjectAltName: api.pandadoc.com matched
* issuer: C=US; O=GeoTrust Inc.; CN=RapidSSL SHA256 CA - G3
* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
> POST /public/v1/documents HTTP/1.1
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.3 Safari/533.2
Host: api.pandadoc.com
Accept: */*
Content-length: 0
Content-Type: application/json;charset=UTF-8
Authorization: Bearer [ACCESS TOKEN]
* upload completely sent off: 37 out of 37 bytes
< HTTP/1.1 400 BAD REQUEST
* Server nginx/1.4.6 (Ubuntu) is not blacklisted
< Server: nginx/1.4.6 (Ubuntu)
< Date: Fri, 06 Mar 2015 19:52:53 GMT
< Content-Type: application/json
< Transfer-Encoding: chunked
< Connection: keep-alive
< Vary: Accept
< Allow: GET, POST, DELETE, HEAD, OPTIONS
<
* Connection #28 to host api.pandadoc.com left intact
'$ string' никогда не определяется в вашем публикуемую коде. – arkascha