如何从multipart / form-data API / webhook中获取POST数据,并使用Javascript将数据重新映射为POST表单格式?

时间:2016-06-08 07:39:54

标签: javascript jquery json forms post

好的,所以我花了几天时间试图找到解决方案,我确信有比我更聪明的想法能够帮助我解决这个问题。所以试试这个看看是否有人可以帮忙吗?

我正在使用Javascript表单将数据提交到CRM系统。

来自该Javascript表单的输出是一个POST响应,我想从中获取数据并提交到Clickfunnels表单,以使用预定义的Fieldnames在Clickfunnels中创建记录,我需要映射从我从第一个系统的POST响应到Clickfunnels接受的Fieldnames

联系信息

contact[name]
contact[first_name]
contact[last_name]
contact[email]
contact[phone]
contact[address]
contact[city]
contact[state]
contact[country]
contact[zip]

完整文档可在此处找到:(https://support.clickfunnels.com/support/solutions/articles/5000676609-how-to-add-contacts-to-clickfunnels-actionetics-from-any-website-without-a-clickpop

我想在两个系统中复制数据的原因是因为我使用CRM提交通知,但想要使用Clickfunnels进行大部分批量发送电子邮件。

目前唯一的解决方案是让用户从SharpSpring表单中填写相同的信息,然后将其重新填充到Clickfunnels表单中。当然,这不是一个理想的情况。

我已经看过将来自CRM的API输出插入到reflector.io中以捕获输出(您可以在此处看到完整的示例输出:https://gist.github.com/magitam/ca8b778214942d3f77436c79a169dfa0,其中包含一些变量/值xxx'd维护隐私)

理论上我可以在代码上使用Javascript来解析数据,并根据需要定义输出。

不幸的是,reflector.io中的帮助不存在。

他们能够管理数据并使用Javascript操纵它 - 只是我无法弄清楚要使用什么或如何使用它。

在reflector.io的“Pipeline”编辑框中的默认代码是:

// here's some helpfull documentation
// request.headers - an array of headers
// request.body - body in text form
// request.method - one of [GET, POST, PUT, etc]
// request.query - URL query parameters
// write your code here to modify request

return request;

我尝试使用:

function getUrlVars()
{
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
};

var all = getUrlVars();
var email = getUrlVars()["ref_237715459"];

但它产生了错误,说

**"Error: ReferenceError: "window" is not defined in <eval> at line number 11"**

我已经将数据解析为来自Reflector.io的hookify.io,不幸的是我的头脑很难理解如何在那里声明数据(我试图将所有数据保存到存储桶中,最终没有保存数据,但'key'文本作为变量(即边界文本)。

我确信将数据输出作为一个表单的POST数据,操作POST数据,将数据重新映射到适当的字段,然后将其作为POST请求提交到Clickfunnels形式..

我根本就不是程序员,而且我真的很难弄清楚如何在原始POST数据输出中声明数据,因为这些字段可以提交到第二个表单,并自动提交进入系统。

不幸的是我甚至无法转向Zapier进行可能有效的集成。它不会让我提交clickfunnels数据作为API端点(我可以从Clickfunnels接收数据,但是通过以下方式在Clickfunnels中创建记录API,我只能使用POST方法提交数据。)

我确信找到任何文档或者JS开发人员比我更明智地知道如何做到这一点真的不应该是不可能的 - 但经过近2天的尝试解决这个问题,阅读数百个关于JS的页面,发布数据,以及如何将这些内容应用于此问题,我不得不承认,我不得不承认我的技术知识和技能不是很划清楚,我希望读到这篇文章的人有让我摆脱痛苦的心,帮助我理解我做错了什么,以及如何让我正常工作。

技术上,我可以在嵌入表单的Clickfunnels页面上包含JS代码段/代码,因此我可以在页面JS上使用。我也可以在reflector.io中使用Javascript来对通过API传递的数据进行转换(首选选项),如果只有有人可以告诉我需要做什么来映射来自POST输出的数据第一个JS表单,并将其转换为第二个表单的数据输入,以便正确映射字段。

我会永远感激任何人都能提供的帮助/支持。

请跟我一起承担,因为我不是真正的程序员(我更像是一个可以使用HTML的数字营销人员,并且使用WordPress做简单的PHP工作),自从我触及任何Javascript以来已经超过10年了。

提前感谢您的帮助/支持

0 个答案:

没有答案