У меня есть простой вызов API, который принимает параметры в URL и отправляет маркер носителя в заголовке. Я распечатал URL-адрес и вставил его в Postman с приложенным токеном на предъявителя, и он работает, но из PHP я получаю ошибку 400 Bad Request. Вот код:
$ch = curl_init();
$authorization = 'Authorization: Bearer oireuoijgosrhj9r9regjoregojgjoislgfjs';
$validate_url = 'https://api.mycustomapi.com/api/envelopes/validate/' . $auth_id .'/' . $content_hash . '/' . $envelope_id;
curl_setopt($ch, CURLOPT_URL, $validate_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array($authorization ));
$response = curl_exec($ch);
$json = json_decode($response, true);
$sigVer = $json['signatureVerified'];
// Check HTTP status code
if (!curl_errno($ch)) {
switch ($http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) {
case 200: # OK
echo 'response is: ', $sigVer, "\n";
break;
case 502: # server error
system_message('Received 500 Error from Server');
break;
case 400: # bad request
echo 'url is: ', $validate_url, "\n";
system_message('Simple validation must have exactly one content item');
break;
default:
echo 'Unexpected HTTP code: ', $validate_url, "\n";
}
}
curl_close($ch);
В Почтальоне я получаю ожидаемый ответ ... не уверен, почему cUrl Php действует по-другому.
'validate_url' оценивается как: https://api.myapiservice.com/api/envelopes/validate/auth0 | 5e17f7e988b0e90e9bdf2e12 / 6767b1944f523e790c8badf608de140599a424d174a2cad87859a7093aba039f7dc2baaab9f114bf371828364636ec654e1be6aff55e7f65140e24bbbf1a3a7e / 140
1010 * при использовании этого URL в почтальона я получаю следующий json ответ:
{
"errorCode": 0,
"errorMessage": null,
"envelopeId": 140,
"blockchainAddress": "0xA300991F77519B5f30552F74779eeEdE398fA59e",
"clientData": "",
"signatureVerified": true
}
Единственная установка в почтальона Я настройка - это токен авторизации, установленный на тот же токен в моем запросе cUrl. Однако в этом сообщении я не использовал свой настоящий токен или URL-адрес API.
Если я выполняю
var_dump($response);
die();
Все, что я выводю на экран, это строка
(800) «HTTP-статус 400 - неверный запрос»