Я использую API Workday для удаления рабочего адреса электронной почты сотрудников. Проблема в том, что для удаления мне нужен уникальный идентификатор ссылки для поля. В документах есть служба Get_Change_Work_Contact_Information_Request, которая, по их словам, отформатирована для использования в качестве входных данных для службы Change_Work_Contact_Information_Request, но у меня возникли проблемы с ее использованием в моем запросе.
Это то, что у меня есть прямо сейчас: я создаю Get_Change_Work_Contact_Information_Request как $idrequest и передаю его в «ID» в Change_Work_Contact_Information_Request. Я получаю сообщение об ошибке: «Произошла ошибка проверки. Недопустимое значение идентификатора. «Массив» не является допустимым значением идентификатора для типа = «Email_ID»»
$idrequest = [
'Get_Change_Work_Contact_Information_Request' => [
'Request_References' => [
'Person_Reference' => [
'ID' => ['_' => "{$empid}",
'type' => 'Employee_ID'
]
]
]
]
];
$params = [
'Change_Work_Contact_Information_Request' => [
'Business_Process_Parameters' => [
'Auto_Complete' => '1',
'Run_Now' => '1'
],
'Change_Work_Contact_Information_Data' => [
'Person_Reference' => [
'ID' => ['_' => "{$empid}",
'type' => 'Employee_ID'
]
],
'Event_Effective_Date' => "{$date}",
'Person_Contact_Information_Data' => [
'Person_Email_Information_Data' => [
'Email_Information_Data' => [
'Delete' => 'True',
'Email_Reference' => [
'ID' => ['_' => "{$idrequest}",
'type' => 'Email_ID'
]
],
]
]
]
]
]
];
Мне удалось найти решение, а также исправить ошибку, которую я получал. В конечном итоге я не смог вложить SOAP-запрос в одну и ту же функцию. В итоге я позвонил «Get_Change_Work_Contact_Information», проанализировал полученный массив на предмет идентификатора ссылки, а затем вызвал «Change_Work_Contact_Information», чтобы выполнить удаление.