Я пытаюсь создать случай в динамике CRM, используя php. Для этого я вижу, что требуется название, описание и клиент. Так что я попробовал ниже код:
$authHeader = 'Authorization:' . $type.' '.$access_token;
//Request for incidents
$data = array("title"=>"api_incident_title",
"description" =>"api_incident_description",
"primaryContactid" =>"https://vonageholdings.crm.dynamics.com/api/data/v8.0/accounts(ebaf25a6-f131-e611-80f8-c4346bac3990)");
//URL
$url ='https://vonageholdings.crm.dynamics.com/api/data/v8.0/incidents';
//request for incidents
$data_string = json_encode($data);
$curl = curl_init();
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_VERBOSE, 1);
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, array($authHeader,
'Content-Type:application/json','Accept:application/json;'));
Это показывает «code»: «», «message»: «Вы должны указать родительский контакт или учетную запись.» Я пытаюсь использовать свойство навигации. Но я не могу найти точное property
отправлять customerId
,
Я пробовал со следующими ссылками:
link1link2link3
Я пытаюсь долго. Это слишком расстроено.
После того, как я попробовал комментарий @Alex, я сослался создавать инциденты со следующим запросом,
$data = array('[email protected]' =>"https://xxxx.crm.dynamics.com/api/data/v8.0/contacts(4bafdfb0-08d7-e511-80eb-c4346bac3990)",
'incident_customer_accounts'=>array("title"=>"case_account","description" =>"case")
);
Это показывает A node of type 'StartObject' was read from the JSON reader when trying to read the contents of the navigation property 'incident_customer_accounts'; however, a 'StartArray' node was expected.
эта ошибка.
Теперь я думаю, что наш запрос правильный, но формат не соответствует.
И наконец, создайте файл, используя приведенный ниже запрос в php.
$data = array("title"=>"test",
"description" =>"case",
"[email protected]" =>"/contacts(c18df8d6-74d9-e511-80eb-c4346bac3990)");
$url ='https://yyyyy.crm.dynamics.com/api/data/v8.0/incidents';
Я ничего не знаю о PHP, за исключением того, что многие его используют. Вы проверили Alexa CRM? У них есть набор инструментов php для простого подключения и взаимодействия с CRM и PHP.
Ассоциированные объекты при создании
Чтобы связать новые сущности с существующими сущностями при их создании, вы должны установить значение однозначных навигационных свойств, используя @odata.bind
аннотаций.
Следующее тело запроса, размещенное в наборе сущностей учетных записей, создаст новую учетную запись, связанную с существующим контактом, со значением contactctid 00000000-0000-0000-0000-000000000001.
Запрос
POST [Organization URI]/api/data/v8.2/accounts HTTP/1.1
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
Accept: application/json
{
"name":"Sample Account",
"[email protected]":"/contacts(00000000-0000-0000-0000-000000000001)"}
отклик
HTTP/1.1 204 No Content
OData-Version: 4.0
OData-EntityId: [Organization URI]/api/data/v8.2/accounts(00000000-0000-0000-0000-000000000002)
Создайте объект, используя ссылку WebAPI — MSDN