API Workday для удаления контактной информации

Я использую 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'
                                    ]
                                ],
                            ]
                        ]
                    ]
                ]
            ]
        ];

63
1

Ответ:

Решено

Мне удалось найти решение, а также исправить ошибку, которую я получал. В конечном итоге я не смог вложить SOAP-запрос в одну и ту же функцию. В итоге я позвонил «Get_Change_Work_Contact_Information», проанализировал полученный массив на предмет идентификатора ссылки, а затем вызвал «Change_Work_Contact_Information», чтобы выполнить удаление.