Я использую Prefer:return=representation
для получения определенных полей при создании учетных записей
URL API https://xxxxxx-xxxx-xxxxx-xxxx/api/data/v9.0/accounts?$select=accountid,name,telephone1
.
Запрос
$params['firstname'] = $first_name;
$params['lastname'] = $last_name;
$authHeader = 'Authorization: Bearer ' . $access_token;
$headers = array (
$authHeader,
'Content-Type:application/json',
'Prefer:return=representation', //NEWLY ADDED TO GET SPECIFIC
FIELDS
'Accept:application/json;'
);
$data_string = json_encode ( $params );
$custom_vars [CURLOPT_VERBOSE] = true;
$custom_vars [CURLOPT_HEADER] = true;
customLogs('case_create.log',print_r($data_string,true),3);
$result = gUnifyCURLCall ( $url, 'POST', $data_string, $headers, true, false, $custom_vars );
function gUnifyCURLCall($url, $method_type = 'GET', $data_string = null, $header = null, $ssl_verify = true,
$tls_version = false, $custom_vars = array()) {
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, TRUE );
curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, $method_type );
if ($data_string != null) {
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data_string );
}
if ($header != null) {
curl_setopt ( $ch, CURLOPT_HTTPHEADER, $header );
}
if(!empty($custom_vars)) {
foreach ( $custom_vars as $key=>$val) {
curl_setopt($ch, trim($key), 1);
}
}
$result = curl_exec ( $ch );
curl_close ( $ch );
return $result;
} Я хочу получить код ошибки сервера, а также ответ, поэтому я передаю CURLOPT_VERBOSE:TRUE
, CURLOPT_HEADER:TRUE
в заголовке.Он возвращает следующий ответ от MS Dynamics.
HTTP / 1.1 201 Создан Cache-Control: no-cache Разрешить: OPTIONS, GET, HEAD, POST Content-Type: application / json;odata.metadata = минимальный Истекает: -1 Сервер: x-ms-service-request-id: 85aed055-abff-42b0-a9bd-a4ad617638b1 REQ_ID: 85aed055-abff-42b0-a9bd-a4ad617638b1 AuthActivityId: xxxxx Приближение: xxxxxпредставление x-ms-ratelimit-burst-оставшихся-xrm-запросов: 5995 x-ms-ratelimit-оставшихся-времени-xrm-запросов: 1,199.79 OData-Version: 4.0 Public: OPTIONS, GET, HEAD, POST Set-Cookie: ApplicationGatewayAffinity= 69ed338020af0cda5b08cef8314523419f00ed630d46bde35fe61b31f28285cf; Path = /; Domain = xxxxxxxx.xxxxxxx.dynamics.com Дата: среда, 10 июля 2019 10:43:48 GMT Длина контента: 244 {"@ odata.conte"1021 *)
ранее мы работали только с кодом ответа в заголовке, чтобы получить entity_id, теперь веб-интерфейс MS Dynamics обновлен, поэтому теперь мы хотим получить код ответа из заголовка итакже ответ с использованием PHP