Jump to content
Rajesh Khanna

PW form integartion with Mautic or using Zapier ?

Recommended Posts

I guess if Zapier is an option send a copy of the POST request to a Zapier endpoint (with FormBuilder even easier) and then plug in a Mautic step that adds it as a contact.

  • Like 1

Share this post


Link to post
Share on other sites
14 hours ago, elabx said:

I guess if Zapier is an option send a copy of the POST request to a Zapier endpoint (with FormBuilder even easier) and then plug in a Mautic step that adds it as a contact.

Thanks a lot for your help @elabx

Is there any way I can directly save the form entries as contact on Mautic without using Zapier ?

Share this post


Link to post
Share on other sites

No ready-to-go module that I can find. I don't know the details but they seem to support basic authentication to the service just fine. So probably just install their library through composer (or manually) and do the API call on the POST request of your frontend form. 

https://developer.mautic.org/?php#basic-authentication

https://github.com/mautic/api-library

  • Like 2

Share this post


Link to post
Share on other sites
On 6/19/2019 at 10:19 AM, elabx said:

No ready-to-go module that I can find. I don't know the details but they seem to support basic authentication to the service just fine. So probably just install their library through composer (or manually) and do the API call on the POST request of your frontend form. 

https://developer.mautic.org/?php#basic-authentication

https://github.com/mautic/api-library

To add on to elabx's response, I saw in Mautic's Developer Docs that there is a REST API with a methods for creating contacts etc etc: https://developer.mautic.org/#create-contact

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By cleanboy
      Hey all,
      Mods; please feel free to move this if it is in the incorrect place although I thought this was the best place for it.
      Kinda new to processwire but getting the hang of it....I am trying to build a payment form with the Stripe platform but failing miserably....I really hope someone can help!
      So I am building my form with the PW API and also following through this documentation here: https://stripe.com/docs/elements and here: https://stripe.com/docs/charges
      My form is pretty basic just for testing purposes right now:
      <form id="payment-form" class="pusher" name="payment-form" method="post" action="./#booking-form"> <?php $tokenName = $this->session->CSRF->getTokenName(); $tokenValue = $this->session->CSRF->getTokenValue(); echo '<input type="hidden" id="_post_token" name="' . $tokenName . '" value="' . $tokenValue . '"/>'; $out = ""; $out .= '<div id="card-number"></div> <div id="card-errors"></div>'; // create a new form field (also field wrapper) $form = $modules->get("InputfieldForm"); $form->action = "./"; $form->method = "post"; $form->attr("id+name",'payment-form'); // First Name $field = $modules->get("InputfieldText"); $field->skipLabel = true; $field->attr('id+name','name'); $field->attr('placeholder','Full Name'); $field->required = 1; $form->append($field); // append the field to the form // create email field $field = $modules->get("InputfieldEmail"); $field->attr('id+name','email'); $field->attr('placeholder','Email'); $field->required = 1; $form->append($field); // append the field // oh a submit button! $submit = $modules->get("InputfieldSubmit"); $submit->attr("value","SUBMIT"); $submit->attr("id+name","submit"); $submit->attr("class","cta white"); $form->append($submit); if($input->post->submit) { // user submitted the form, process it and check for errors $form->processInput($input->post); if($form->getErrors()) { // the form is processed and populated // but contains errors $out .= $form->render(); } else { foreach($input->post as $key => $value) echo htmlentities("$key = $value") . "<br />"; } } else { foreach($form->children as $input){ $out .= "<div class='col-sm-6'>{$input->render()}</div>"; } } echo $out; ?> </form> That alone works fine and returns all of the fields values after I click submit which is great...now we add the javascript:
      //Stripe var stripe = Stripe('pk_test_*****************'); var elements = stripe.elements(); // Custom styling can be passed to options when creating an Element. var style = { base: { // Add your base input styles here. For example: fontSize: '16px', lineHeight: '24px' } }; // Create an instance of the card Element var card = elements.create('card', {style: style}); // Add an instance of the card Element into the `card-element` <div> card.mount('#card-number'); card.addEventListener('change', function(event) { var displayError = document.getElementById('card-errors'); if (event.error) { displayError.textContent = event.error.message; } else { displayError.textContent = ''; } }); // Create a token or display an error when the form is submitted. var form = document.getElementById('payment-form'); form.addEventListener('submit', function(event) { event.preventDefault(); stripe.createToken(card).then(function(result) { if (result.error) { // Inform the user if there was an error var errorElement = document.getElementById('card-errors'); errorElement.textContent = result.error.message; } else { // Send the token to your server stripeTokenHandler(result.token); } }); }); function stripeTokenHandler(token) { // Insert the token ID into the form so it gets submitted to the server var form = document.getElementById('payment-form'); var hiddenInput = document.createElement('input'); hiddenInput.setAttribute('type', 'hidden'); hiddenInput.setAttribute('name', 'stripeToken'); hiddenInput.setAttribute('value', token.id); form.appendChild(hiddenInput); // Submit the form form.submit(); } This gives an error in the console: Uncaught (in promise) TypeError: form.submit is not a function. 
      This is because our submit input has the name "submit". Ok thats cool...I can change that but once I do the page essentially refreshes and the form just shows again and it doesnt give me the values it did before....I guess it isnt posting? either way after I submit the form after changing the name of the submit button the form just loads again and anything inside: if($input->post->submit) doesnt seem to execute...so what gives?
      If anybody here has done this before with PW 3+ I would really love an example of how to use this to the point of sending information to Stripe.
      I have installed Stripe with composer and it would appear that I can refer to it in Processwire just fine...my problem is just getting to the point where I need to refer to it which is after the submit.
      I have seen the PaymentStripe module but tbh the documentation on that is somewhat lacking and im not even sure it works with the latest version of stripe? Im also not sure how to integrate that into a form either unless you use something along the lines of the example code provided after the form has been submitted but I cant even seem to submit the form to even try that and im not really sure why.
      Here is the PaymentStripe module page for those wondering: https://modules.processwire.com/modules/payment-stripe/
      Any help would be greatly appreciated!
      Cleanboy
    • By modifiedcontent
      I need to figure out how to make a simple front end event registration/RSVP; enter full name + email address for the guest list (database), receive an email confirmation.
      Where to start with this? I know how a regular html form works. What does a basic Processwire form look like?
    • By Alfurquan
      My next project is to build a complete CRM. A few things that are making me thing to choose between Processwire and CodeIgniter are listed below. I am good in Processwire And will love to do this project in it, if possible.   1--I have to build separate Modules for HRM, accounts ,sales etc.     as per client need we would give subscription to any of our modules to clients 2-- when all the module will be developed then we will integrate all and deliverer full CRM to clients on subscription base only.   3-- Right now I am thinking to put this all on cloud(I am new to cloud,Suggest me if I am wrong.)   SO is all these things possible with Processwire?  if yes please suggest steps/process.   Thanks 
      Furquan Syed  
×
×
  • Create New...