2016-07-12 2 views
1

В настоящее время я пытаюсь отправить информацию от Gravity Froms стороннему API. Я понимаю, что в Gravity Forms есть крючок gform_after_submission, чтобы отправить информацию стороннему API.Отправить записи о гравитации в сторонний API

add_action('gform_after_submission', 'post_to_third_party', 10, 2); 
function post_to_third_party($entry, $form) { 

    $post_url = 'http://thirdparty.com'; 
    $body = array(
     'first_name' => rgar($entry, '1.3'), 
     'last_name' => rgar($entry, '1.6'), 
     'message' => rgar($entry, '3'), 
    ); 
    GFCommon::log_debug('gform_after_submission: body => ' . print_r($body, true)); 

    $request = new WP_Http(); 
    $response = $request->post($post_url, array('body' => $body)); 
    GFCommon::log_debug('gform_after_submission: response => ' . print_r($response, true)); 
} 

Я пытаюсь использовать это, но мне также необходимо отправить информацию на основе различных методов, предоставляемых API. В этом случае я создаю форму для того, чтобы пользователи либо вводили новую карточку вознаграждения, либо переносили карту. В основном я должен посмотреть на свою форму и отправить вызов методу проверки старого номера карты, отправить вызов для добавления/обновления клиента, так далее и т. Д.

Теперь, используя Gravity Forms gform_after_submission, как я могу достичь всего, что мне нужно, чтобы ввести информацию в правильный метод API. Пожалуйста, поймите, что это будет первый раз, когда я отправляю информацию из Gravity Forms в API вроде этого.

ответ

1
function post_to_third_party($entry, $form) { 

//To fetch input inserted into your gravity form// 
$old_card = rgpost('input_6'); 
$new_card = rgpost('input_3'); 

///to send that fetched data to third-party api/// 
$post_url = 'http://thirdparty.com/{APi request}'; 
$body = array(
     'old_card' => $old_card, 
     'new_card' => $new_card, 
); 

    GFCommon::log_debug('gform_after_submission: body => ' . print_r($body, true)); 

    $request = new WP_Http(); 
    $response = $request->post($post_url, array('body' => $body)); 

    //response from api whether card is exist or not/// 
    $res = json_decode($response['body'],true); 

    ///here you can put your logic as per the response// 
} 
add_action('gform_after_submission_4', 'post_to_third_party', 10, 2); 

Надежда я уже объяснял хорошо & помогает вам немного, чтобы понять вещи better..you может изменить данные формы в соответствии с вашими потребностями удачи.

+0

Это может помочь другим. вы также можете использовать эти функции wordpress, чтобы сделать post request-> 'wp_remote_post' и' wp_safe_remote_post' –