Я пытаюсь сделать запрос PUT в узле JS, чтобы обновить поле «значение». Вот мой код:
var identityJson = {};
identityJson.identity = {};
identityJson.identity.value = "+61111111111";
var url = "https://[Zendeskdomain].zendesk.com/api/v2/users/[user ID]/identities/[Identity ID].json";
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if (this.readyState==4 )
{
console.log(this.status)
console.log(this.responseText);
}
}
request.open('PUT', url, true);
request.setRequestHeader("Authorization", "Bearer " + token);
request.setRequestHeader('Content-type', 'application/json');
request.send(JSON.stringify(identityJson));
Этот скрипт возвращает 200 в качестве статуса и печатает идентичность, как это было раньше. В этом случае значение по-прежнему равно «+37011111111»
200
{"identity":{"url":"https://[Zendeskdomain].zendesk.com/api/v2/users/[user ID]/identities/[Identity ID].json","id":[Identity ID],"user_id":[user ID],"type":"phone_number","value":"+37011111111","verified":true,"primary":true,"created_at":"2018-09-07T12:24:02Z","updated_at":"2018-09-07T12:24:02Z"}}
Если я отправлю тот же запрос на стороне клиента (поместив сценарий на простую веб-страницу), значение изменится, поэтому кажется, что введенная информация правильно отформатирована.
У кого-нибудь были подобные проблемы (в Zendesk или нет) при отправке запроса PUT от Node JS, и он может указать мне правильное направление?
Примечание: [Zendeskdomain], [ID пользователя] & [Identity ID] не имеют к этому отношения, поэтому я удалил их, однако они правильно введены в сценарий.
Спасибо!