Загрузка форм гравитации в SOAP API сторонних производителей - поля не заполняются - PullRequest
0 голосов
/ 16 ноября 2018

Надеюсь, что кто-то может помочь, когда я бьюсь головой о стену.

У нас настроен API-интерфейс SOAP, который при запуске запускается с использованием этого кода

add_action('gform_post_submission', 'post_to_third_party', 10, 2);
function post_to_third_party( $entry, $form) {
$client = new SoapClient('http://test.com/wslib.asmx?wsdl');
$add_client_payload = array(
"ctcmiddlename" => "abc",
"ctcjobtitle" => "abc",
"ctclastname" => "abc",
"ctcAddress1" => "abc",
"ctcAddress2" => "abc",
"ctcAddress3" => "",
"ctccity" => "abc",
);
$add_client_response = $client->AddClientKYC($add_client_payload);
}

И это прекрасно работает. Использование «gform_post_submission» вместо «gform_after_submission» в качестве после отправки создает ошибку 500. После заполнения формы код запускается из файла functions.php и загружается во внешнюю базу данных с жестко закодированными значениями в массиве.

НО ... когда я пытаюсь отобразить поля Gravity Forms в массив, код попадает в мой массив и останавливается и не загружается на сервер.

Я попробовал следующие методы, но ни один из них не работает.

$add_client_payload = array(
"ctcfirstname" => rgar( $entry, '89.3' ),
"ctcmiddlename" => rgar( $entry, '89.4' ),
"ctcjobtitle" => rgar( $entry, '201' ),
"ctclastname" => rgar( $entry, '89.6' ),

Также

"ctcfirstname" => $entry['89.3'],
"ctcmiddlename" => $entry['89.4'],
"ctcjobtitle" => $entry['201'],
"ctclastname" => $entry['89.6'],

Серьезно в растерянности, кто-то может помочь?

Нет проблем с вызовом и отправкой сообщения третьему лицу, просто есть правильный способ извлечения полей из формы.

Заранее спасибо!

...