Update to Forms – 3rdparty Integration for WordPress Contact Form 7 and Gravity Forms

I’ve updated the plugin (version 1.4.2) to fix a number of bugs, namely the fact that it basically required you to have both CF7 and GF installed. Now it should be either/or. http://wordpress.org/extend/plugins/forms-3rdparty-integration/

11 thoughts on “Update to Forms – 3rdparty Integration for WordPress Contact Form 7 and Gravity Forms

  1. **SUBMISSION**
    Array
    (
    [UserID] => OnlineRegUser
    [Pass] => Bayshore@1
    [FirstName] => test
    [LastName] => test
    [DOB] => 5/9/1905
    [Address] => test
    [City] => test
    [Province] => test
    [PostalCode] => test
    [Phone] => test
    [Email] => test@222.xom
    [HowDidYouHearAboutUs] => Hospital
    [SendMeOffers] => true
    [AirmilesCollector] => true
    [AirmilesCardNumber] => 555555555
    [NameOnCard] => sam
    )

    **RAW RESPONSE**
    Array
    (
    [headers] => Array
    (
    [cache-control] => private
    [content-type] => application/soap+xml; charset=utf-8
    [server] => Microsoft-IIS/7.5
    [x-aspnet-version] => 4.0.30319
    [x-powered-by] => ASP.NET
    [date] => Tue, 26 Nov 2013 00:56:31 GMT

    [connection] => close
    [content-length] => 509
    )

    [body] => soap:ReceiverServer was unable to process request. —> Data at the root level is invalid. Line 1, position 1.
    [response] => Array
    (
    => 500
    [message] => Internal Server Error
    )

    [cookies] => Array
    (
    )

    [filename] =>
    [safe_message] => physical request failure
    )
    getting this error after i submit my form. cannot find anything wrong. please help. thx

    • That’s because you’re posting to a SOAP endpoint, which requires a more complex XML payload than what the plugin does by default. I think you can transform the post body to xml using the hook Forms_3rdParty_service_filter_post_{sid}, although you might need to alter the headers using a WP hook for wp_remote_post.

  2. sry, i added following code on functions.php
    if(!class_exists(‘Cf73rdParty_BSCallbacks’)):
    /**
    * Encapsulate any and all 3rd-party service callback functions
    */
    class Cf73rdParty_BBSCallbacks {
    public function __construct(){
    add_filter(‘Forms3rdPartyIntegration_service_filter_post_0’, array(&$this, ‘bs_subscribe_post_filter’), 10, 3);
    }//– function __construct

    public function bs_subscribe_post_filter($values, &$service, &$cf7){
    // — turn single name field into first, last —
    $values= ‘

    Onlibser
    Bbs1
    testuser9
    testuser9
    10/10/2011
    testcompany9
    666666666

    ‘;
    return $values;
    }//– function listrak_subscribe_filter

    }//— class Cf73rdParty_ListrakCallbacks

    //start ’em up
    $cf73rdpartycallback_instance = new Cf73rdParty_BShoreCallbacks();
    endif; //class-exists

    and modify your forms-3rdparty-integration.php
    $response = wp_remote_post( $service[‘url’], array(‘timeout’ => empty($service[‘timeout’]) ? self::DEFAULT_TIMEOUT : $service[‘timeout’],’headers’ => array(‘Content-Type’ => ‘text/xml’,’action’ =>’https://www.bsrxonline.ca/EldercareOnlineRegistrationWS/EldercareOnlineRegistrationSvc.asmx’), ‘body’=>$post) );

    but i am still getting
    **SUBMISSION**

    Onlibser
    Bbs1
    testuser9
    testuser9
    10/10/2011
    testcompany9
    666666666

    **RAW RESPONSE**
    Array
    (
    [headers] => Array
    (
    [cache-control] => private
    [content-type] => text/xml; charset=utf-8
    [server] => Microsoft-IIS/7.5
    [x-aspnet-version] => 4.0.30319
    [x-powered-by] => ASP.NET
    [date] => Tue, 26 Nov 2013 20:42:21 GMT
    [connection] => close
    [content-length] => 435
    )

    [body] => soap:ClientUnable to handle request without a valid action parameter. Please supply a valid soap action.
    [response] => Array
    (
    => 500
    [message] => Internal Server Error
    )

    [cookies] => Array
    (
    )

    [filename] =>
    [safe_message] => physical request failure
    ).

    do you have any idea? thx for your help

    • Glad to hear you figured it out.

      I would suggest not modifying the plugin code, or if you do part attention when it next has an update because it will overwrite your changes if you update. I’ll try to look into adding a hook to affect the headers though. If you could file an issue on github it will help remind me 😉

  3. Great plugin. Have run into an odd issue I can’t seem to correct.
    We capture hidden field data such as an IP address.
    wpcf7.remote_ip or _url

    This data successfully passes to the email and delivers, however when the 3rd party integration plugin passes it to the provider (velocify) it passes the wpcf7.remote_ip as a text value and not the dynamic value; 123.12.1234.1?

    The form is within a sidebar if that is of issue.

    Thx in advance

  4. Great plugin. I have CF7, when user click submit, your message has been successful submitted message appears, then 3rdparty integration plugin submit data to external URL and get response that user already exist in the database.

    How do I check if the user already exist in the database, before showing the message that your message has been successful submitted and show ” Your email already exists you can not sign up twice.

Leave a Reply

Your email address will not be published. Required fields are marked *