-1

제외하고 고유 필드를 사용하여 업데이트 필드는 내가 HttpClient을 사용 PATCH/PUT 사용 Contact 기업의 firstname 필드를 업데이트하려고합니다.역학 CRM 365 - GUID 필드

연락처 GUID과 함께 PATCH을 사용하여 이것을 시도했습니다. 하지만 URL 다음과 같은 시도하는 경우 :

base을/연락처 (myorg_contactnumber = '113')

base을/연락처 ('113')

base을/연락처 (myorg_contactnumber = "(113) ")

그러나 이것은 Bad Request 오류를 던지고 있습니다.

+0

당신은 설정 대체 키에 필요한 연락처 개체에 있습니다. –

+0

이 요청을 작성하는 코드를 포함하십시오. –

답변

0

코드를 보지 않고 Jatin이 말한 것처럼 - 아마도 누락 된 부분은 Alternate key setup 일 수 있습니다.

이 기본적으로 존재하는 경우가 기록를 업데이트하거나 존재하지 않는 경우는 기록을 만들 것입니다 같은 PATCH 요청과 좋은 점.

url: /api/data/v8.2/contacts(new_alternatekey='12345') 
method: PATCH 
body: { 
    "name": "Alternate key contact updated" 
} 

은 또한 당신은 C#을 태그, 그래서 this 같은 시도 : 수, 및 연락처 레코드를 참조하는 키 이름을 사용하는

JObject contact1Add = new JObject(); 
    contact1Add.Add("firstname", "Jack"); 

    HttpRequestMessage updateRequest1 = new HttpRequestMessage(
     new HttpMethod("PATCH"), contact1Uri); 
    updateRequest1.Content = new StringContent(contact1Add.ToString(), 
     Encoding.UTF8, "application/json"); 
    HttpResponseMessage updateResponse1 = 
     await httpClient.SendAsync(updateRequest1); 
    if (updateResponse1.StatusCode == HttpStatusCode.NoContent) //204 
    { 
    Console.WriteLine("Contact '{0} {1}' updated with " + 
     "firstname", contact1.GetValue("firstname"), 
     contact1.GetValue("lastname")); 
    } 
    else 
    { 
    Console.WriteLine("Failed to update contact for reason: {0}", 
     updateResponse1.ReasonPhrase); 
    throw new CrmHttpResponseException(updateResponse1.Content); 
    }